2 txs
3 calls
constructor
constructor(address _tokenPrimario, address _tokenSecundario, address[] _propietarios)
functions
confirmaciones
viewfunction confirmaciones(uint256, address) view returns (bool)
esPropietario
viewfunction esPropietario(address) view returns (bool)
numeroOperacion
viewfunction numeroOperacion() view returns (uint256)
obtenerBalanceETH
viewfunction obtenerBalanceETH() view returns (uint256)
obtenerConteoDePropuestas
viewfunction obtenerConteoDePropuestas() view returns (uint256)
obtenerDetallesPropuesta
viewfunction obtenerDetallesPropuesta(uint256 _idPropuesta) view returns (uint8, address, address, address, uint256, uint256, uint8, uint256, uint256)
obtenerPropietarios
viewfunction obtenerPropietarios() view returns (address[])
propietarios
viewfunction propietarios(uint256) view returns (address)
propuestas
viewfunction propuestas(uint256) view returns (uint8 tipoPropuesta, address proponente, address direccionObjetivo, address direccionAdicional, uint256 valorNumerico, uint256 confirmaciones, uint256 rechazos, uint8 estado, uint256 fechaCreacion, uint256 fechaExpiracion)
requiredConfirmations
viewfunction requiredConfirmations() view returns (uint256)
TIEMPO_EXPIRACION
viewfunction TIEMPO_EXPIRACION() view returns (uint256)
tokenPrimario
viewfunction tokenPrimario() view returns (address)
tokenSecundario
viewfunction tokenSecundario() view returns (address)
ejecutarPropuesta
nonpayablefunction ejecutarPropuesta(uint256 _idPropuesta)
enviarPrimarioyETH
nonpayablefunction enviarPrimarioyETH(address[] destinatariosPrimario, uint256[] montosPrimario, address[] destinatariosETH, uint256[] montosETH)
enviarSecundarioa1
nonpayablefunction enviarSecundarioa1(address destinatario, uint256 monto)
proponerAgregarPropietario
nonpayablefunction proponerAgregarPropietario(address _nuevoPropietario)
proponerCambioPrimario
nonpayablefunction proponerCambioPrimario(address _nuevoTokenPrimario)
proponerCambioSecundario
nonpayablefunction proponerCambioSecundario(address _nuevoTokenSecundario)
proponerRemoverPropietario
nonpayablefunction proponerRemoverPropietario(address _propietarioARemover, address _nuevoPropietario)
proponerRetirarETH
nonpayablefunction proponerRetirarETH(uint256 _monto, address _destino)
proponerRetirarPrimario
nonpayablefunction proponerRetirarPrimario(uint256 _monto, address _destino)
proponerRetirarSecundario
nonpayablefunction proponerRetirarSecundario(uint256 _monto, address _destino)
verificarExpiracion
nonpayablefunction verificarExpiracion(uint256 _idPropuesta)
verificarExpiraciones
nonpayablefunction verificarExpiraciones()
votarPropuesta
nonpayablefunction votarPropuesta(uint256 _idPropuesta, bool _aFavor)
events
ETHRetirado
event ETHRetirado(uint256 monto, address destino)
OperacionRealizada
event OperacionRealizada(uint256 numeroOperacion)
PropuestaAprobada
event PropuestaAprobada(uint256 indexed idPropuesta)
PropuestaCreada
event PropuestaCreada(uint256 indexed idPropuesta, uint8 tipoPropuesta)
PropuestaEjecutada
event PropuestaEjecutada(uint256 indexed idPropuesta)
PropuestaRechazada
event PropuestaRechazada(uint256 indexed idPropuesta)
TokensPrimariosRetirados
event TokensPrimariosRetirados(uint256 monto, address destino)
TokensSecundariosRetirados
event TokensSecundariosRetirados(uint256 monto, address destino)
VotoEmitido
event VotoEmitido(uint256 indexed idPropuesta, address indexed votante, bool aFavor)
errors
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561000f575f5ffd5b50604051615ae6380380615ae6833981810160405281019061003191906104a7565b60015f81905550600381511461007c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007390610593565b60405180910390fd5b5f5f90505b8151811015610263575f82828151811061009e5761009d6105b1565b5b602002602001015190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d90610628565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156101a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019790610690565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600381908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508080600101915050610081565b508260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506106ae565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610326826102fd565b9050919050565b6103368161031c565b8114610340575f5ffd5b50565b5f815190506103518161032d565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103a18261035b565b810181811067ffffffffffffffff821117156103c0576103bf61036b565b5b80604052505050565b5f6103d26102ec565b90506103de8282610398565b919050565b5f67ffffffffffffffff8211156103fd576103fc61036b565b5b602082029050602081019050919050565b5f5ffd5b5f61042461041f846103e3565b6103c9565b905080838252602082019050602084028301858111156104475761044661040e565b5b835b81811015610470578061045c8882610343565b845260208401935050602081019050610449565b5050509392505050565b5f82601f83011261048e5761048d610357565b5b815161049e848260208601610412565b91505092915050565b5f5f5f606084860312156104be576104bd6102f5565b5b5f6104cb86828701610343565b93505060206104dc86828701610343565b925050604084015167ffffffffffffffff8111156104fd576104fc6102f9565b5b6105098682870161047a565b9150509250925092565b5f82825260208201905092915050565b7f5365206e656365736974616e20332070726f706965746172696f7320696e69635f8201527f69616c6573000000000000000000000000000000000000000000000000000000602082015250565b5f61057d602583610513565b915061058882610523565b604082019050919050565b5f6020820190508181035f8301526105aa81610571565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f446972656363696f6e20696e76616c69646100000000000000000000000000005f82015250565b5f610612601283610513565b915061061d826105de565b602082019050919050565b5f6020820190508181035f83015261063f81610606565b9050919050565b7f4475706c696361646f2064652070726f706965746172696f00000000000000005f82015250565b5f61067a601883610513565b915061068582610646565b602082019050919050565b5f6020820190508181035f8301526106a78161066e565b9050919050565b61542b806106bb5f395ff3fe608060405260043610610184575f3560e01c80639bed2f8a116100d0578063be8df5b611610089578063ce6acc1911610063578063ce6acc191461056e578063f25d670114610596578063f62e927e146105be578063fc4300c6146105e85761018b565b8063be8df5b6146104ce578063c5e89c771461050a578063ce07abee146105465761018b565b80639bed2f8a146103c4578063a8bb2486146103ec578063ad3e06b114610428578063adb8a42c14610450578063b20f67101461047a578063b6283c1e146104a45761018b565b8063608afe151161013d57806372cd6b941161011757806372cd6b9414610320578063752f9e231461034857806382e717f7146103705780638a849fcc1461039a5761018b565b8063608afe151461028b5780636097e216146102b35780636cb927fb146102f85761018b565b80630ee60cc21461018f578063250e68bd146101a557806326d14a38146101cd57806343867336146101f557806352b9c8a41461023957806354b2638c146102635761018b565b3661018b57005b5f5ffd5b34801561019a575f5ffd5b506101a3610612565b005b3480156101b0575f5ffd5b506101cb60048036038101906101c69190614297565b610736565b005b3480156101d8575f5ffd5b506101f360048036038101906101ee91906142d5565b61094a565b005b348015610200575f5ffd5b5061021b60048036038101906102169190614300565b610cc5565b60405161023099989796959493929190614402565b60405180910390f35b348015610244575f5ffd5b5061024d610df9565b60405161025a919061448d565b60405180910390f35b34801561026e575f5ffd5b5061028960048036038101906102849190614300565b610e05565b005b348015610296575f5ffd5b506102b160048036038101906102ac91906144a6565b6110d2565b005b3480156102be575f5ffd5b506102d960048036038101906102d49190614300565b61148f565b6040516102ef9a999897969594939291906144e4565b60405180910390f35b348015610303575f5ffd5b5061031e600480360381019061031991906142d5565b611563565b005b34801561032b575f5ffd5b5061034660048036038101906103419190614300565b6118dc565b005b348015610353575f5ffd5b5061036e600480360381019061036991906142d5565b6119ef565b005b34801561037b575f5ffd5b50610384611d6a565b604051610391919061448d565b60405180910390f35b3480156103a5575f5ffd5b506103ae611db1565b6040516103bb91906145d9565b60405180910390f35b3480156103cf575f5ffd5b506103ea60048036038101906103e591906144a6565b611dd6565b005b3480156103f7575f5ffd5b50610412600480360381019061040d91906144a6565b612194565b60405161041f919061460c565b60405180910390f35b348015610433575f5ffd5b5061044e60048036038101906104499190614625565b6121be565b005b34801561045b575f5ffd5b5061046461253a565b604051610471919061448d565b60405180910390f35b348015610485575f5ffd5b5061048e612540565b60405161049b919061448d565b60405180910390f35b3480156104af575f5ffd5b506104b8612547565b6040516104c591906145d9565b60405180910390f35b3480156104d9575f5ffd5b506104f460048036038101906104ef91906142d5565b61256c565b604051610501919061460c565b60405180910390f35b348015610515575f5ffd5b50610530600480360381019061052b9190614300565b612589565b60405161053d9190614663565b60405180910390f35b348015610551575f5ffd5b5061056c600480360381019061056791906146a6565b6125c4565b005b348015610579575f5ffd5b50610594600480360381019061058f919061479a565b612ad8565b005b3480156105a1575f5ffd5b506105bc60048036038101906105b791906144a6565b612fb8565b005b3480156105c9575f5ffd5b506105d2613376565b6040516105df919061448d565b60405180910390f35b3480156105f3575f5ffd5b506105fc61337d565b6040516106099190614935565b60405180910390f35b5f5f90505b600580549050811015610733575f60048111156106375761063661432b565b5b6005828154811061064b5761064a614955565b5b905f5260205f2090600902016006015f9054906101000a900460ff1660048111156106795761067861432b565b5b1480156106a857506005818154811061069557610694614955565b5b905f5260205f2090600902016008015442115b15610726576004600582815481106106c3576106c2614955565b5b905f5260205f2090600902016006015f6101000a81548160ff021916908360048111156106f3576106f261432b565b5b0217905550807fb7192d8c42d214eb86da19ac4c0ca0f3796d1a526224aa0d2d646c0c4365e44560405160405180910390a25b8080600101915050610617565b50565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b6906149dc565b60405180910390fd5b6107c7613408565b8060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108229190614663565b602060405180830381865afa15801561083d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190614a0e565b10156108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990614a83565b60405180910390fd5b6108ee828260025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661344c9092919063ffffffff16565b60075f81548092919061090090614ace565b91905055507f37b1456b84227e2fb5b08f0e0b758b127a07b6c69c7b577ee0721c096b7713b8600754604051610936919061448d565b60405180910390a16109466134cb565b5050565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca906149dc565b60405180910390fd5b5f60058054905090506005604051806101400160405280600260068111156109fe576109fd61432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f8152602001600181526020015f81526020015f6004811115610a7d57610a7c61432b565b5b81526020014281526020016201518042610a979190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff02191690836006811115610ae857610ae761432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff02191690836004811115610c0757610c0661432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e566002604051610cb99190614b48565b60405180910390a25050565b5f5f5f5f5f5f5f5f5f6005805490508a10610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90614bab565b60405180910390fd5b5f60058b81548110610d2a57610d29614955565b5b905f5260205f2090600902019050805f015f9054906101000a900460ff16815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600401548560050154866006015f9054906101000a900460ff1687600701548860080154995099509950995099509950995099509950509193959799909294969850565b5f600580549050905090565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e85906149dc565b60405180910390fd5b6005805490508110610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc90614bab565b60405180910390fd5b5f60058281548110610eea57610ee9614955565b5b905f5260205f2090600902019050806008015442118015610f3e57505f6004811115610f1957610f1861432b565b5b816006015f9054906101000a900460ff166004811115610f3c57610f3b61432b565b5b145b15610fd7576004816006015f6101000a81548160ff02191690836004811115610f6a57610f6961432b565b5b0217905550817fb7192d8c42d214eb86da19ac4c0ca0f3796d1a526224aa0d2d646c0c4365e44560405160405180910390a26040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90614c13565b60405180910390fd5b60016004811115610feb57610fea61432b565b5b816006015f9054906101000a900460ff16600481111561100e5761100d61432b565b5b1461104e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104590614c7b565b60405180910390fd5b600260048111156110625761106161432b565b5b816006015f9054906101000a900460ff1660048111156110855761108461432b565b5b036110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90614ce3565b60405180910390fd5b6110ce826134d4565b5050565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661115b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611152906149dc565b60405180910390fd5b5f821161119d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119490614d4b565b60405180910390fd5b5f600580549050905060056040518061014001604052806006808111156111c7576111c661432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001858152602001600181526020015f81526020015f60048111156112465761124561432b565b5b815260200142815260200162015180426112609190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff021916908360068111156112b1576112b061432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff021916908360048111156113d0576113cf61432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e5660066040516114829190614b48565b60405180910390a2505050565b6005818154811061149e575f80fd5b905f5260205f2090600902015f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003015490806004015490806005015490806006015f9054906101000a900460ff1690806007015490806008015490508a565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e3906149dc565b60405180910390fd5b5f600580549050905060056040518061014001604052805f60068111156116165761161561432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f8152602001600181526020015f81526020015f60048111156116955761169461432b565b5b815260200142815260200162015180426116af9190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff02191690836006811115611700576116ff61432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff0219169083600481111561181f5761181e61432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e565f6040516118d09190614b48565b60405180910390a25050565b6005805490508110611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a90614bab565b60405180910390fd5b5f6005828154811061193857611937614955565b5b905f5260205f20906009020190505f60048111156119595761195861432b565b5b816006015f9054906101000a900460ff16600481111561197c5761197b61432b565b5b14801561198c5750806008015442115b156119eb576004816006015f6101000a81548160ff021916908360048111156119b8576119b761432b565b5b0217905550817fb7192d8c42d214eb86da19ac4c0ca0f3796d1a526224aa0d2d646c0c4365e44560405160405180910390a25b5050565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f906149dc565b60405180910390fd5b5f6005805490509050600560405180610140016040528060016006811115611aa357611aa261432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f8152602001600181526020015f81526020015f6004811115611b2257611b2161432b565b5b81526020014281526020016201518042611b3c9190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff02191690836006811115611b8d57611b8c61432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff02191690836004811115611cac57611cab61432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e566001604051611d5e9190614b48565b60405180910390a25050565b5f5f600380549050905060038103611d86576002915050611dae565b600360028083611d969190614d69565b611da09190614b15565b611daa9190614dd7565b9150505b90565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e56906149dc565b60405180910390fd5b5f8211611ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9890614d4b565b60405180910390fd5b5f6005805490509050600560405180610140016040528060056006811115611ecc57611ecb61432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001858152602001600181526020015f81526020015f6004811115611f4b57611f4a61432b565b5b81526020014281526020016201518042611f659190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff02191690836006811115611fb657611fb561432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff021916908360048111156120d5576120d461432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e5660056040516121879190614b48565b60405180910390a2505050565b6006602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223e906149dc565b60405180910390fd5b5f60058054905090506005604051806101400160405280600360068111156122725761227161432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f8152602001600181526020015f81526020015f60048111156122f1576122f061432b565b5b8152602001428152602001620151804261230b9190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff0219169083600681111561235c5761235b61432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff0219169083600481111561247b5761247a61432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e56600360405161252d9190614b48565b60405180910390a2505050565b60075481565b6201518081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004602052805f5260405f205f915054906101000a900460ff1681565b60038181548110612598575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661264d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612644906149dc565b60405180910390fd5b815f6005828154811061266357612662614955565b5b905f5260205f20906009020190506004808111156126845761268361432b565b5b816006015f9054906101000a900460ff1660048111156126a7576126a661432b565b5b036126e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126de90614c13565b60405180910390fd5b806008015442111561272e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272590614c13565b60405180910390fd5b6005805490508410612775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276c90614bab565b60405180910390fd5b5f6005858154811061278a57612789614955565b5b905f5260205f20906009020190505f60048111156127ab576127aa61432b565b5b816006015f9054906101000a900460ff1660048111156127ce576127cd61432b565b5b1461280e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280590614e51565b60405180910390fd5b60065f8681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289e90614eb9565b60405180910390fd5b600160065f8781526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555083156129eb57806004015f81548092919061292590614ace565b91905055503373ffffffffffffffffffffffffffffffffffffffff16857fa87ed6be61dbcfb84ddf135c2a9a395e8ec89b35c49c819da25fdf371d37bfe06001604051612972919061460c565b60405180910390a3612982611d6a565b8160040154106129e6576001816006015f6101000a81548160ff021916908360048111156129b3576129b261432b565b5b0217905550847fc19f9883969124268447b70ae4ad27f67635c184fa3cf545642ccff7c7c8959160405160405180910390a25b612ad1565b806005015f8154809291906129ff90614ace565b91905055503373ffffffffffffffffffffffffffffffffffffffff16857fa87ed6be61dbcfb84ddf135c2a9a395e8ec89b35c49c819da25fdf371d37bfe05f604051612a4b919061460c565b60405180910390a3612a5b611d6a565b600380549050612a6b9190614ed7565b81600501541115612ad0576003816006015f6101000a81548160ff02191690836004811115612a9d57612a9c61432b565b5b0217905550847fb7192d8c42d214eb86da19ac4c0ca0f3796d1a526224aa0d2d646c0c4365e44560405160405180910390a25b5b5050505050565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906149dc565b60405180910390fd5b612b69613408565b858590508888905014612bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba890614f7a565b60405180910390fd5b818190508484905014612bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf090615008565b60405180910390fd5b5f5f5f90505b87879050811015612c3e57878782818110612c1d57612c1c614955565b5b9050602002013582612c2f9190614b15565b91508080600101915050612bff565b508060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612c9a9190614663565b602060405180830381865afa158015612cb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd99190614a0e565b1015612d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1190615070565b60405180910390fd5b5f5f5f90505b84849050811015612d5f57848482818110612d3e57612d3d614955565b5b9050602002013582612d509190614b15565b91508080600101915050612d20565b5080471015612da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9a906150d8565b60405180910390fd5b5f5f90505b8a8a9050811015612e4c57612e3f8b8b83818110612dc957612dc8614955565b5b9050602002016020810190612dde91906142d5565b8a8a84818110612df157612df0614955565b5b9050602002013560015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661344c9092919063ffffffff16565b8080600101915050612da8565b505f5f90505b86869050811015612f53575f878783818110612e7157612e70614955565b5b9050602002016020810190612e8691906142d5565b73ffffffffffffffffffffffffffffffffffffffff16868684818110612eaf57612eae614955565b5b90506020020135604051612ec290615123565b5f6040518083038185875af1925050503d805f8114612efc576040519150601f19603f3d011682016040523d82523d5f602084013e612f01565b606091505b5050905080612f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3c90615181565b60405180910390fd5b508080600101915050612e52565b5060075f815480929190612f6690614ace565b91905055507f37b1456b84227e2fb5b08f0e0b758b127a07b6c69c7b577ee0721c096b7713b8600754604051612f9c919061448d565b60405180910390a15050612fae6134cb565b5050505050505050565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16613041576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613038906149dc565b60405180910390fd5b5f8211613083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307a90614d4b565b60405180910390fd5b5f60058054905090506005604051806101400160405280600460068111156130ae576130ad61432b565b5b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001858152602001600181526020015f81526020015f600481111561312d5761312c61432b565b5b815260200142815260200162015180426131479190614b15565b815250908060018154018082558091505060019003905f5260205f2090600902015f909190919091505f820151815f015f6101000a81548160ff021916908360068111156131985761319761432b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015560a0820151816004015560c0820151816005015560e0820151816006015f6101000a81548160ff021916908360048111156132b7576132b661432b565b5b0217905550610100820151816007015561012082015181600801555050600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550807f310f59d5248a093bb89f92e1b64b674ced3e12a36951b9b5f784ca7befd33e5660046040516133699190614b48565b60405180910390a2505050565b5f47905090565b606060038054806020026020016040519081016040528092919081815260200182805480156133fe57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116133b5575b5050505050905090565b60025f5403613443576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f81905550565b6134c6838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161347f92919061519f565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506138e9565b505050565b60015f81905550565b5f600582815481106134e9576134e8614955565b5b905f5260205f20906009020190506002816006015f6101000a81548160ff0219169083600481111561351e5761351d61432b565b5b02179055505f60068111156135365761353561432b565b5b815f015f9054906101000a900460ff1660068111156135585761355761432b565b5b036135c557806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506138b8565b600160068111156135d9576135d861432b565b5b815f015f9054906101000a900460ff1660068111156135fb576135fa61432b565b5b0361366857806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506138b7565b6002600681111561367c5761367b61432b565b5b815f015f9054906101000a900460ff16600681111561369e5761369d61432b565b5b036136d4576136cf816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613984565b6138b6565b600360068111156136e8576136e761432b565b5b815f015f9054906101000a900460ff16600681111561370a5761370961432b565b5b036137645761375f816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613ac6565b6138b5565b600460068111156137785761377761432b565b5b815f015f9054906101000a900460ff16600681111561379a5761379961432b565b5b036137d5576137d08160030154826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613de1565b6138b4565b600560068111156137e9576137e861432b565b5b815f015f9054906101000a900460ff16600681111561380b5761380a61432b565b5b03613846576138418160030154826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613f55565b6138b3565b6006808111156138595761385861432b565b5b815f015f9054906101000a900460ff16600681111561387b5761387a61432b565b5b036138b2576138b18160030154826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166140c9565b5b5b5b5b5b5b5b817ffcc504e2eb69e7239f94e5989e02ca1e45511c32937c976dd02fc6ae74d307fe60405160405180910390a25050565b5f5f60205f8451602086015f885af180613908576040513d5f823e3d81fd5b3d92505f519150505f821461392157600181141561393c565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561397e57836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016139759190614663565b60405180910390fd5b50505050565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615613a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a0590615210565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600381908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16613b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b4690615278565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bb4906152e0565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615613c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c3e90615348565b60405180910390fd5b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f5f90505b600380549050811015613d87578273ffffffffffffffffffffffffffffffffffffffff1660038281548110613cd857613cd7614955565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603613d7a578160038281548110613d3057613d2f614955565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613d87565b8080600101915050613ca0565b50600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b613de9613408565b8160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613e449190614663565b602060405180830381865afa158015613e5f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e839190614a0e565b1015613ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ebb906153b0565b60405180910390fd5b613f10818360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661344c9092919063ffffffff16565b7f1e6f0acb8ab674bbe39f4a8d2c7a0a80e88854005850fec0197c66a8b5419b0d8282604051613f419291906153ce565b60405180910390a1613f516134cb565b5050565b613f5d613408565b8160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613fb89190614663565b602060405180830381865afa158015613fd3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ff79190614a0e565b1015614038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161402f906153b0565b60405180910390fd5b614084818360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661344c9092919063ffffffff16565b7f3738d890f8ffa634e023f9d26d512a20fa6ce304beccd6274d24a62f537e6c7882826040516140b59291906153ce565b60405180910390a16140c56134cb565b5050565b6140d1613408565b81471015614114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161410b906150d8565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff168360405161413990615123565b5f6040518083038185875af1925050503d805f8114614173576040519150601f19603f3d011682016040523d82523d5f602084013e614178565b606091505b50509050806141bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141b390615181565b60405180910390fd5b7fa637156f35655cf3344834e13f0ee2dec503e92f5a0cfeb344bea6ab8d04d8c883836040516141ed9291906153ce565b60405180910390a1506141fe6134cb565b5050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6142338261420a565b9050919050565b61424381614229565b811461424d575f5ffd5b50565b5f8135905061425e8161423a565b92915050565b5f819050919050565b61427681614264565b8114614280575f5ffd5b50565b5f813590506142918161426d565b92915050565b5f5f604083850312156142ad576142ac614202565b5b5f6142ba85828601614250565b92505060206142cb85828601614283565b9150509250929050565b5f602082840312156142ea576142e9614202565b5b5f6142f784828501614250565b91505092915050565b5f6020828403121561431557614314614202565b5b5f61432284828501614283565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600781106143695761436861432b565b5b50565b5f81905061437982614358565b919050565b5f6143888261436c565b9050919050565b6143988161437e565b82525050565b6143a781614229565b82525050565b6143b681614264565b82525050565b600581106143cd576143cc61432b565b5b50565b5f8190506143dd826143bc565b919050565b5f6143ec826143d0565b9050919050565b6143fc816143e2565b82525050565b5f610120820190506144165f83018c61438f565b614423602083018b61439e565b614430604083018a61439e565b61443d606083018961439e565b61444a60808301886143ad565b61445760a08301876143ad565b61446460c08301866143f3565b61447160e08301856143ad565b61447f6101008301846143ad565b9a9950505050505050505050565b5f6020820190506144a05f8301846143ad565b92915050565b5f5f604083850312156144bc576144bb614202565b5b5f6144c985828601614283565b92505060206144da85828601614250565b9150509250929050565b5f610140820190506144f85f83018d61438f565b614505602083018c61439e565b614512604083018b61439e565b61451f606083018a61439e565b61452c60808301896143ad565b61453960a08301886143ad565b61454660c08301876143ad565b61455360e08301866143f3565b6145616101008301856143ad565b61456f6101208301846143ad565b9b9a5050505050505050505050565b5f819050919050565b5f6145a161459c6145978461420a565b61457e565b61420a565b9050919050565b5f6145b282614587565b9050919050565b5f6145c3826145a8565b9050919050565b6145d3816145b9565b82525050565b5f6020820190506145ec5f8301846145ca565b92915050565b5f8115159050919050565b614606816145f2565b82525050565b5f60208201905061461f5f8301846145fd565b92915050565b5f5f6040838503121561463b5761463a614202565b5b5f61464885828601614250565b925050602061465985828601614250565b9150509250929050565b5f6020820190506146765f83018461439e565b92915050565b614685816145f2565b811461468f575f5ffd5b50565b5f813590506146a08161467c565b92915050565b5f5f604083850312156146bc576146bb614202565b5b5f6146c985828601614283565b92505060206146da85828601614692565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112614705576147046146e4565b5b8235905067ffffffffffffffff811115614722576147216146e8565b5b60208301915083602082028301111561473e5761473d6146ec565b5b9250929050565b5f5f83601f84011261475a576147596146e4565b5b8235905067ffffffffffffffff811115614777576147766146e8565b5b602083019150836020820283011115614793576147926146ec565b5b9250929050565b5f5f5f5f5f5f5f5f6080898b0312156147b6576147b5614202565b5b5f89013567ffffffffffffffff8111156147d3576147d2614206565b5b6147df8b828c016146f0565b9850985050602089013567ffffffffffffffff81111561480257614801614206565b5b61480e8b828c01614745565b9650965050604089013567ffffffffffffffff81111561483157614830614206565b5b61483d8b828c016146f0565b9450945050606089013567ffffffffffffffff8111156148605761485f614206565b5b61486c8b828c01614745565b92509250509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6148b081614229565b82525050565b5f6148c183836148a7565b60208301905092915050565b5f602082019050919050565b5f6148e38261487e565b6148ed8185614888565b93506148f883614898565b805f5b8381101561492857815161490f88826148b6565b975061491a836148cd565b9250506001810190506148fb565b5085935050505092915050565b5f6020820190508181035f83015261494d81846148d9565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b7f536f6c6f2070726f706965746172696f730000000000000000000000000000005f82015250565b5f6149c6601183614982565b91506149d182614992565b602082019050919050565b5f6020820190508181035f8301526149f3816149ba565b9050919050565b5f81519050614a088161426d565b92915050565b5f60208284031215614a2357614a22614202565b5b5f614a30848285016149fa565b91505092915050565b7f53616c646f20736563756e646172696f20696e737566696369656e74650000005f82015250565b5f614a6d601d83614982565b9150614a7882614a39565b602082019050919050565b5f6020820190508181035f830152614a9a81614a61565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614ad882614264565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614b0a57614b09614aa1565b5b600182019050919050565b5f614b1f82614264565b9150614b2a83614264565b9250828201905080821115614b4257614b41614aa1565b5b92915050565b5f602082019050614b5b5f83018461438f565b92915050565b7f50726f707565737461206e6f20657869737465000000000000000000000000005f82015250565b5f614b95601383614982565b9150614ba082614b61565b602082019050919050565b5f6020820190508181035f830152614bc281614b89565b9050919050565b7f50726f70756573746120657870697261646100000000000000000000000000005f82015250565b5f614bfd601283614982565b9150614c0882614bc9565b602082019050919050565b5f6020820190508181035f830152614c2a81614bf1565b9050919050565b7f50726f707565737461206e6f206170726f6261646100000000000000000000005f82015250565b5f614c65601583614982565b9150614c7082614c31565b602082019050919050565b5f6020820190508181035f830152614c9281614c59565b9050919050565b7f50726f70756573746120796120656a65637574616461000000000000000000005f82015250565b5f614ccd601683614982565b9150614cd882614c99565b602082019050919050565b5f6020820190508181035f830152614cfa81614cc1565b9050919050565b7f4d6f6e746f20696e76616c69646f0000000000000000000000000000000000005f82015250565b5f614d35600e83614982565b9150614d4082614d01565b602082019050919050565b5f6020820190508181035f830152614d6281614d29565b9050919050565b5f614d7382614264565b9150614d7e83614264565b9250828202614d8c81614264565b91508282048414831517614da357614da2614aa1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614de182614264565b9150614dec83614264565b925082614dfc57614dfb614daa565b5b828204905092915050565b7f50726f707565737461206e6f20616374697661000000000000000000000000005f82015250565b5f614e3b601383614982565b9150614e4682614e07565b602082019050919050565b5f6020820190508181035f830152614e6881614e2f565b9050919050565b7f596120766f746173746520657374612070726f707565737461000000000000005f82015250565b5f614ea3601983614982565b9150614eae82614e6f565b602082019050919050565b5f6020820190508181035f830152614ed081614e97565b9050919050565b5f614ee182614264565b9150614eec83614264565b9250828203905081811115614f0457614f03614aa1565b5b92915050565b7f4c6f6e67697475642064652062696c6c657465726173207072696d6172696f205f8201527f79206d6f6e746f73206e6f20636f696e636964656e0000000000000000000000602082015250565b5f614f64603583614982565b9150614f6f82614f0a565b604082019050919050565b5f6020820190508181035f830152614f9181614f58565b9050919050565b7f4c6f6e67697475642064652062696c6c657465726173204554482079206d6f6e5f8201527f746f73206e6f20636f696e636964656e00000000000000000000000000000000602082015250565b5f614ff2603083614982565b9150614ffd82614f98565b604082019050919050565b5f6020820190508181035f83015261501f81614fe6565b9050919050565b7f53616c646f207072696d6172696f20696e737566696369656e746500000000005f82015250565b5f61505a601b83614982565b915061506582615026565b602082019050919050565b5f6020820190508181035f8301526150878161504e565b9050919050565b7f53616c646f2045544820696e737566696369656e7465000000000000000000005f82015250565b5f6150c2601683614982565b91506150cd8261508e565b602082019050919050565b5f6020820190508181035f8301526150ef816150b6565b9050919050565b5f81905092915050565b50565b5f61510e5f836150f6565b915061511982615100565b5f82019050919050565b5f61512d82615103565b9150819050919050565b7f5472616e73666572656e636961204554482066616c6c696461000000000000005f82015250565b5f61516b601983614982565b915061517682615137565b602082019050919050565b5f6020820190508181035f8301526151988161515f565b9050919050565b5f6040820190506151b25f83018561439e565b6151bf60208301846143ad565b9392505050565b7f59612065732070726f706965746172696f0000000000000000000000000000005f82015250565b5f6151fa601183614982565b9150615205826151c6565b602082019050919050565b5f6020820190508181035f830152615227816151ee565b9050919050565b7f4e6f2065732070726f706965746172696f0000000000000000000000000000005f82015250565b5f615262601183614982565b915061526d8261522e565b602082019050919050565b5f6020820190508181035f83015261528f81615256565b9050919050565b7f4e7565766f2070726f706965746172696f20696e76616c69646f0000000000005f82015250565b5f6152ca601a83614982565b91506152d582615296565b602082019050919050565b5f6020820190508181035f8301526152f7816152be565b9050919050565b7f4e7565766f2070726f706965746172696f2079612065786973746500000000005f82015250565b5f615332601b83614982565b915061533d826152fe565b602082019050919050565b5f6020820190508181035f83015261535f81615326565b9050919050565b7f53616c646f20696e737566696369656e746500000000000000000000000000005f82015250565b5f61539a601283614982565b91506153a582615366565b602082019050919050565b5f6020820190508181035f8301526153c78161538e565b9050919050565b5f6040820190506153e15f8301856143ad565b6153ee602083018461439e565b939250505056fea2646970667358221220bcece982b1c9a274e3f0da399f6fd2544696c1c58429d242f5649b1bf76d946864736f6c634300081c003300000000000000000000000080e0dfe47b2caa9c13915931d50347a1ef350912000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000004dd0780061c28be55b7f9b422c85d4079093d7c2000000000000000000000000f91739210a88dacc2ed6156f728eeeabb8488c5d00000000000000000000000079584e0fe04a36faa2dc85cf6e0fadd411fb856b