0 txs
0 calls
constructor
constructor(address _address_provider, address _calculator)
functions
crypto_registry
viewfunction crypto_registry() view returns (address)
default_calculator
viewfunction default_calculator() view returns (address)
factory_registry
viewfunction factory_registry() view returns (address)
get_best_rate
viewfunction get_best_rate(address _from, address _to, uint256 _amount, address[8] _exclude_pools) view returns (address, uint256)
get_best_rate
viewfunction get_best_rate(address _from, address _to, uint256 _amount) view returns (address, uint256)
get_calculator
viewfunction get_calculator(address _pool) view returns (address)
get_exchange_amount
viewfunction get_exchange_amount(address _pool, address _from, address _to, uint256 _amount) view returns (uint256)
get_exchange_amounts
viewfunction get_exchange_amounts(address _pool, address _from, address _to, uint256[100] _amounts) view returns (uint256[100])
get_input_amount
viewfunction get_input_amount(address _pool, address _from, address _to, uint256 _amount) view returns (uint256)
is_killed
viewfunction is_killed() view returns (bool)
registry
viewfunction registry() view returns (address)
claim_balance
nonpayablefunction claim_balance(address _token) returns (bool)
exchange_multiple
payablefunction exchange_multiple(address[9] _route, uint256[3][4] _swap_params, uint256 _amount, uint256 _expected, address[4] _pools, address _receiver) payable returns (uint256)
exchange_multiple
payablefunction exchange_multiple(address[9] _route, uint256[3][4] _swap_params, uint256 _amount, uint256 _expected, address[4] _pools) payable returns (uint256)
exchange_multiple
payablefunction exchange_multiple(address[9] _route, uint256[3][4] _swap_params, uint256 _amount, uint256 _expected) payable returns (uint256)
exchange_with_best_rate
payablefunction exchange_with_best_rate(address _from, address _to, uint256 _amount, uint256 _expected, address _receiver) payable returns (uint256)
exchange_with_best_rate
payablefunction exchange_with_best_rate(address _from, address _to, uint256 _amount, uint256 _expected) payable returns (uint256)
exchange
payablefunction exchange(address _pool, address _from, address _to, uint256 _amount, uint256 _expected, address _receiver) payable returns (uint256)
exchange
payablefunction exchange(address _pool, address _from, address _to, uint256 _amount, uint256 _expected) payable returns (uint256)
set_calculator
nonpayablefunction set_calculator(address _pool, address _calculator) returns (bool)
set_default_calculator
nonpayablefunction set_default_calculator(address _calculator) returns (bool)
set_killed
nonpayablefunction set_killed(bool _is_killed) returns (bool)
update_registry_address
nonpayablefunction update_registry_address() returns (bool)
events
TokenExchange
event TokenExchange(address indexed buyer, address indexed receiver, address indexed pool, address token_sold, address token_bought, uint256 amount_sold, uint256 amount_bought)
errors
No errors.
creation bytecode
0x6020613f576080396080518060a01c613f525760e05260206020613f57016080396080518060a01c613f52576101005260e05160015563a262904b610120526020610120600461013c60e0515afa61005c573d600060003e3d6000fd5b601f3d1115613f5257610120518060a01c613f525760025563493f4f74610120526003610140526020610120602461013c60e0515afa6100a1573d600060003e3d6000fd5b601f3d1115613f5257610120518060a01c613f525760035563493f4f74610120526005610140526020610120602461013c60e0515afa6100e6573d600060003e3d6000fd5b601f3d1115613f5257610120518060a01c613f525760045561010051600555613f3a56600436101561000d57612fda565b60046000601c376000516310e5e303811861002c573361040052610047565b639f69a6a681186102cf576084358060a01c613e2b57610400525b6004358060a01c613e2b576103c0526024358060a01c613e2b576103e052600054613e2b57600160005573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103c05118610113573460443514610190576014610420527f496e636f72726563742045544820616d6f756e740000000000000000000000006104405261042050610420518061044001818260206001820306601f82010390500336823750506308c379a06103e0526020610400526104205160206001820306601f82010390506044016103fcfd610190565b3415610190576014610420527f496e636f72726563742045544820616d6f756e740000000000000000000000006104405261042050610420518061044001818260206001820306601f82010390500336823750506308c379a06103e0526020610400526104205160206001820306601f82010390506044016103fcfd5b6002546104205260403661044037610480600062010000818352015b636982eb0b6104c0526103c0516104e0526103e05161050052610480516105205260206104c060646104dc610420515afa6101ec573d600060003e3d6000fd5b601f3d1115613e2b576104c0518060a01c613e2b576104a0526104a0516102125761027a565b6104205160e0526104a051610100526103c051610120526103e05161014052604435610160526102436104e0612fdc565b6104e0516104c052610460516104c051111561026a576104a051610440526104c051610460525b81516001018083528114156101ac575b50506104205160e05261044051610100526103c051610120526103e051610140526040604461016037336101a052610400516101c0526102bb610480613228565b610480516104a05260206104a06000600055f35b634798ce5b81186102e45733610420526102ff565b631a4c1ca381186105875760a4358060a01c613e2b57610420525b6004358060a01c613e2b576103c0526024358060a01c613e2b576103e0526044358060a01c613e2b5761040052600054613e2b57600160005573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103e051186103da573460643514610457576014610440527f496e636f72726563742045544820616d6f756e740000000000000000000000006104605261044050610440518061046001818260206001820306601f82010390500336823750506308c379a0610400526020610420526104405160206001820306601f820103905060440161041cfd610457565b3415610457576014610440527f496e636f72726563742045544820616d6f756e740000000000000000000000006104605261044050610440518061046001818260206001820306601f82010390500336823750506308c379a0610400526020610420526104405160206001820306601f820103905060440161041cfd5b60006337951049610440526103c051610460526020610440602461045c6004545afa610488573d600060003e3d6000fd5b601f3d1115613e2b5761044051146104e3576103c05160e0526103e05161010052610400516101205260406064610140373361018052610420516101a0526104d16104806138d3565b610480516104a05260206104a0610580565b600254610440526337951049610460526103c051610480526020610460602461047c610440515afa61051a573d600060003e3d6000fd5b601f3d1115613e2b576104605161053357600354610440525b6104405160e0526103c051610100526103e0516101205261040051610140526040606461016037336101a052610420516101c052610572610460613228565b610460516104805260206104805b6000600055f35b63353ca42481186105b4576000610200526000610220526000610240526000610260523361028052610665565b639db4f7aa8118610609576102e4358060a01c613e2b5761020052610304358060a01c613e2b5761022052610324358060a01c613e2b5761024052610344358060a01c613e2b57610260523361028052610665565b630651cb358118610f74576102e4358060a01c613e2b5761020052610304358060a01c613e2b5761022052610324358060a01c613e2b5761024052610344358060a01c613e2b5761026052610364358060a01c613e2b57610280525b6004358060a01c613e2b5760e0526024358060a01c613e2b57610100526044358060a01c613e2b57610120526064358060a01c613e2b57610140526084358060a01c613e2b576101605260a4358060a01c613e2b576101805260c4358060a01c613e2b576101a05260e4358060a01c613e2b576101c052610104358060a01c613e2b576101e05260e0516102a0526102a4356102c05260006102e05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102a0511861072e576102c0513418613e2b576107d2565b34613e2b576323b872dd610344526004336103645230610384526102c0516103a452606001610340526103405060206104006103405161036060006102a0515af161077e573d600060003e3d6000fd5b6103e060203d8082116107915781610793565b805b905090508152805160200180610300828460045afa90505050600061030051146107d257610320516103005181816020036008021c9050905015613e2b575b61030060016004818352015b60e0610300516002808202821582848304141715613e2b57905090506001808210613e2b57808203905090506009811015613e2b57602002015161032052610200610300516001808210613e2b57808203905090506004811015613e2b5760200201516103405260e0610300516002808202821582848304141715613e2b57905090506009811015613e2b5760200201516102e0526060610300516001808210613e2b5780820390509050026101240180356103605260208101356103805260408101356103a0525060086102a05160a05260805260406080206103205160a0526080526040608020546109aa5763095ea7b361040452600461032051610424527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61044452604001610400526104005060206104a06104005161042060006102a0515af1610932573d600060003e3d6000fd5b61048060203d8082116109455781610947565b805b9050905081528051602001806103c0828460045afa9050505060006103c05114610986576103e0516103c05181816020036008021c9050905015613e2b575b600160086102a05160a05260805260406080206103205160a0526080526040608020555b60006103c05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102a051186109d7576102c0516103c0525b60016103a05118610a4957633df021246103e0526103605180607f1c613e2b57610400526103805180607f1c613e2b57610420526102c05161044052600061046052610320513b15613e2b576000600060846103fc6103c051610320515af1610d0d573d600060003e3d6000fd610d0d565b60026103a05118610abb5763a6417ed66103e0526103605180607f1c613e2b57610400526103805180607f1c613e2b57610420526102c05161044052600061046052610320513b15613e2b576000600060846103fc6103c051610320515af1610d0d573d600060003e3d6000fd610d0d565b60036103a05118610bbc5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102a05118610aeb576001610b06565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102e051145b610b5f57635b41b9086103e052610360516104005261038051610420526102c05161044052600061046052610320513b15613e2b576000600060846103fc6000610320515af1610d0d573d600060003e3d6000fd610d0d565b63394747c56103e052610360516104005261038051610420526102c05161044052600061046052600161048052610320513b15613e2b576000600060a46103fc6103c051610320515af1610d0d573d600060003e3d6000fd610d0d565b60046103a05118610c1e576365b2489b6103e052610360516104005261038051610420526102c05161044052600061046052610320513b15613e2b576000600060846103fc6103c051610320515af1610d0d573d600060003e3d6000fd610d0d565b60056103a05118610c9657637981c43e6103e05261034051610400526103605180607f1c613e2b57610420526103805180607f1c613e2b57610440526102c05161046052600061048052610320513b15613e2b576000600060a46103fc6000610320515af1610d0d573d600060003e3d6000fd610d0d565b600d6103e0527f4261642073776170207479706500000000000000000000000000000000000000610400526103e0506103e0518061040001818260206001820306601f82010390500336823750506308c379a06103a05260206103c0526103e05160206001820306601f82010390506044016103bcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102e05118610d3557476102c052610d74565b6370a082316103e052306104005260206103e060246103fc6102e0515afa610d62573d600060003e3d6000fd5b601f3d1115613e2b576103e0516102c0525b60006102c0511415610df75760106103e0527f5265636569766564206e6f7468696e6700000000000000000000000000000000610400526103e0506103e0518061040001818260206001820306601f82010390500336823750506308c379a06103a05260206103c0526103e05160206001820306601f82010390506044016103bcfd5b60046103005118610e09576001610e47565b60e0610300516002808202821582848304141715613e2b579050905060018181830110613e2b57808201905090506009811015613e2b576020020151155b15610e5157610e69565b6102e0516102a05281516001018083528114156107de575b50506102c4356102c05110613e2b5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102e05118610ec8576000610300526103005060006000610300516103206102c051610280515af1610f65573d600060003e3d6000fd610f65565b63a9059cbb61034452600461028051610364526102c05161038452604001610340526103405060206103e06103405161036060006102e0515af1610f11573d600060003e3d6000fd5b6103c060203d808211610f245781610f26565b805b905090508152805160200180610300828460045afa9050505060006103005114610f6557610320516103005181816020036008021c9050905015613e2b575b6102c051610300526020610300f35b634e21df758118610fb45760006103a05260006103c05260006103e05260006104005260006104205260006104405260006104605260006104805261103b565b63488de9af8118611512576064358060a01c613e2b576103a0526084358060a01c613e2b576103c05260a4358060a01c613e2b576103e05260c4358060a01c613e2b576104005260e4358060a01c613e2b5761042052610104358060a01c613e2b5761044052610124358060a01c613e2b5761046052610144358060a01c613e2b57610480525b6004358060a01c613e2b57610360526024358060a01c613e2b576103805234613e2b576040366104a037610360516104e052610380516105005273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61036051186110ad5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26104e0525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61038051186110e55773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610500525b60045461052052610540600062010000818352015b636982eb0b610580526104e0516105a052610500516105c052610540516105e0526020610580606461059c610520515afa61113a573d600060003e3d6000fd5b601f3d1115613e2b57610580518060a01c613e2b576105605261056051156111b25760006105805261058060c060006008818352015b60c0516020026103a00151610560511861118d576001835261119d565b8151600101808352811415611170575b50505061058051156111dc57611234566111dc565b610540516111bf57611244565b5050506104a051610580526104c0516105a0526040610580611510565b6105205160e05261056051610100526104e0516101205261050051610140526044356101605261120d6105a0613174565b6105a051610580526104c05161058051111561123457610560516104a052610580516104c0525b81516001018083528114156110fa575b505060025461052052610540600062010000818352015b636982eb0b61058052610360516105a052610380516105c052610540516105e0526020610580606461059c610520515afa61129b573d600060003e3d6000fd5b601f3d1115613e2b57610580518060a01c613e2b5761056052610560511561137f5760006105805261058060c060006008818352015b60c0516020026103a0015161056051186112ee57600183526112fe565b81516001018083528114156112d1575b50505061058051156113175761136f566113175661137f565b6105205160e052610560516101005261036051610120526103805161014052604435610160526113486105a0612fdc565b6105a051610580526104c05161058051111561136f57610560516104a052610580516104c0525b815160010180835281141561125b575b505060035461052052610540600062010000818352015b636982eb0b61058052610360516105a052610380516105c052610540516105e0526020610580606461059c610520515afa6113d6573d600060003e3d6000fd5b601f3d1115613e2b57610580518060a01c613e2b576105605261056051156114f85760006105805261058060c060006008818352015b60c0516020026103a0015161056051186114295760018352611439565b815160010180835281141561140c575b5050506105805115611452576114e856611452566114f8565b6318160ddd610580526020610580600461059c610560515afa61147a573d600060003e3d6000fd5b601f3d1115613e2b5761058051611490576114e8565b6105205160e052610560516101005261036051610120526103805161014052604435610160526114c16105a0612fdc565b6105a051610580526104c0516105805111156114e857610560516104a052610580516104c0525b8151600101808352811415611396575b50506104a051610540526104c0516105605260406105405bf35b633973e83481186116ee576004358060a01c613e2b57610360526024358060a01c613e2b57610380526044358060a01c613e2b576103a05234613e2b576004546103c052600063379510496103e052610360516104005260206103e060246103fc6103c0515afa611588573d600060003e3d6000fd5b601f3d1115613e2b576103e0511461165d5761038051610420526103a0516104405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61038051186115e25773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610420525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103a0511861161a5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610440525b6103c05160e0526103605161010052610420516101205261044051610140526064356101605261164b610460613174565b610460516104805260206104806116ec565b6002546103c05263379510496103e052610360516104005260206103e060246103fc6103c0515afa611694573d600060003e3d6000fd5b601f3d1115613e2b576103e0516116ad576003546103c0525b6103c05160e052610360516101005261038051610120526103a05161014052606435610160526116de6103e0612fdc565b6103e0516104005260206104005bf35b637fa5a6548118611d63576004358060a01c613e2b5760e0526024358060a01c613e2b57610100526044358060a01c613e2b576101205234613e2b57600254610140526060366101603763eb85226d6101c05260e0516101e0526101005161020052610120516102205260606101c060646101dc610140515afa611777573d600060003e3d6000fd5b605f3d1115613e2b576101c080518060801d81607f1d18613e2b576101605260208101518060801d81607f1d18613e2b576101805260408101518060011c613e2b576101a052506355b30b196101e05260e0516102005260206101e060246101fc610140515afa6117ed573d600060003e3d6000fd5b601f3d1115613e2b576101e0516101c052637cdb72b06102005260e051610220526040610200602461021c610140515afa61182d573d600060003e3d6000fd5b603f3d1115613e2b57610200516101e052610300366102003760206101a0510263940494f16105205260e051610540526040610520602461053c610140515afa61187c573d600060003e3d6000fd5b603f3d1115613e2b576105200151610500526101a051611a21576392e3cc2d6105205260e05161054052610100610520602461053c610140515afa6118c6573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516102005260208101516102205260408101516102405260608101516102605260808101516102805260a08101516102a05260c08101516102c05260e08101516102e052506352b515556105205260e05161054052610100610520602461053c610140515afa611948573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516104005260208101516104205260408101516104405260608101516104605260808101516104805260a08101516104a05260c08101516104c05260e08101516104e0525063ce99e45a6105205260e05161054052610100610520602461053c610140515afa6119ca573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516103005260208101516103205260408101516103405260608101516103605260808101516103805260a08101516103a05260c08101516103c05260e08101516103e05250611b74565b6359f4f3516105205260e05161054052610100610520602461053c610140515afa611a51573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516102005260208101516102205260408101516102405260608101516102605260808101516102805260a08101516102a05260c08101516102c05260e08101516102e05250634cb088f16105205260e05161054052610100610520602461053c610140515afa611ad3573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516104005260208101516104205260408101516104405260608101516104605260808101516104805260a08101516104a05260c08101516104c05260e08101516104e0525061052060006008818352015b610500516105205118611b4357611b71565b670de0b6b3a7640000610300610520516008811015613e2b5760200201528151600101808352811415611b31575b50505b61052060006008818352015b610500516105205118611b9257611c0c565b604e6012610400610520516008811015613e2b576020020151808210613e2b57808203905090501015613e2b576012610400610520516008811015613e2b576020020151808210613e2b5780820390509050600a0a610400610520516008811015613e2b5760200201528151600101808352811415611b80575b5050600760e05160a0526080526040608020546105205261052051611c3357600554610520525b63ca3878906105405261050051610560526102005161058052610220516105a052610240516105c052610260516105e05261028051610600526102a051610620526102c051610640526102e051610660526101c051610680526101e0516106a052610300516106c052610320516106e0526103405161070052610360516107205261038051610740526103a051610760526103c051610780526103e0516107a052610400516107c052610420516107e0526104405161080052610460516108205261048051610840526104a051610860526104c051610880526104e0516108a052610160516108c052610180516108e0526064356109005260206105406103c461055c610520515afa611d4b573d600060003e3d6000fd5b601f3d1115613e2b5761054051610920526020610920f35b634be9ae428118612ac1576004358060a01c613e2b5760e0526024358060a01c613e2b57610100526044358060a01c613e2b576101205234613e2b576002546101405261036036610160376355b30b196104e05260e0516105005260206104e060246104fc610140515afa611ddd573d600060003e3d6000fd5b601f3d1115613e2b576104e0516104c052637cdb72b06105005260e051610520526040610500602461051c610140515afa611e1d573d600060003e3d6000fd5b603f3d1115613e2b57610500516104e05263eb85226d6105005260e05161052052610100516105405261012051610560526060610500606461051c610140515afa611e6d573d600060003e3d6000fd5b605f3d1115613e2b5761050080518060801d81607f1d18613e2b576101605260208101518060801d81607f1d18613e2b576101805260408101518060011c613e2b576101a0525060206101a0510263940494f16105205260e051610540526040610520602461053c610140515afa611eea573d600060003e3d6000fd5b603f3d1115613e2b576105200151610500526101a05161208f576392e3cc2d6105205260e05161054052610100610520602461053c610140515afa611f34573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516101c05260208101516101e05260408101516102005260608101516102205260808101516102405260a08101516102605260c08101516102805260e08101516102a052506352b515556105205260e05161054052610100610520602461053c610140515afa611fb6573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516103c05260208101516103e05260408101516104005260608101516104205260808101516104405260a08101516104605260c08101516104805260e08101516104a0525063ce99e45a6105205260e05161054052610100610520602461053c610140515afa612038573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516102c05260208101516102e05260408101516103005260608101516103205260808101516103405260a08101516103605260c08101516103805260e08101516103a052506121e2565b6359f4f3516105205260e05161054052610100610520602461053c610140515afa6120bf573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516101c05260208101516101e05260408101516102005260608101516102205260808101516102405260a08101516102605260c08101516102805260e08101516102a05250634cb088f16105205260e05161054052610100610520602461053c610140515afa612141573d600060003e3d6000fd5b60ff3d1115613e2b5761052080516103c05260208101516103e05260408101516104005260608101516104205260808101516104405260a08101516104605260c08101516104805260e08101516104a0525061052060006008818352015b6105005161052051186121b1576121df565b670de0b6b3a76400006102c0610520516008811015613e2b576020020152815160010180835281141561219f575b50505b61052060006008818352015b6105005161052051186122005761227a565b604e60126103c0610520516008811015613e2b576020020151808210613e2b57808203905090501015613e2b5760126103c0610520516008811015613e2b576020020151808210613e2b5780820390509050600a0a6103c0610520516008811015613e2b57602002015281516001018083528114156121ee575b5050600760e05160a05260805260406080205461052052610520516122a157600554610520525b63138f41f16105405261050051610560526101c051610580526101e0516105a052610200516105c052610220516105e0526102405161060052610260516106205261028051610640526102a051610660526104c051610680526104e0516106a0526102c0516106c0526102e0516106e052610300516107005261032051610720526103405161074052610360516107605261038051610780526103a0516107a0526103c0516107c0526103e0516107e052610400516108005261042051610820526104405161084052610460516108605261048051610880526104a0516108a052610160516108c052610180516108e052606435610900526084356109205260a4356109405260c4356109605260e43561098052610104356109a052610124356109c052610144356109e05261016435610a005261018435610a20526101a435610a40526101c435610a60526101e435610a805261020435610aa05261022435610ac05261024435610ae05261026435610b005261028435610b20526102a435610b40526102c435610b60526102e435610b805261030435610ba05261032435610bc05261034435610be05261036435610c005261038435610c20526103a435610c40526103c435610c60526103e435610c805261040435610ca05261042435610cc05261044435610ce05261046435610d005261048435610d20526104a435610d40526104c435610d60526104e435610d805261050435610da05261052435610dc05261054435610de05261056435610e005261058435610e20526105a435610e40526105c435610e60526105e435610e805261060435610ea05261062435610ec05261064435610ee05261066435610f005261068435610f20526106a435610f40526106c435610f60526106e435610f805261070435610fa05261072435610fc05261074435610fe052610764356110005261078435611020526107a435611040526107c435611060526107e43561108052610804356110a052610824356110c052610844356110e052610864356111005261088435611120526108a435611140526108c435611160526108e43561118052610904356111a052610924356111c052610944356111e052610964356112005261098435611220526109a435611240526109c435611260526109e43561128052610a04356112a052610a24356112c052610a44356112e052610a643561130052610a843561132052610aa43561134052610ac43561136052610ae43561138052610b04356113a052610b24356113c052610b44356113e052610b643561140052610b843561142052610ba43561144052610bc43561146052610be43561148052610c04356114a052610c24356114c052610c44356114e052610c643561150052610c843561152052610ca43561154052610cc43561156052610c8061054061102461055c610520515afa6126ce573d600060003e3d6000fd5b610c7f3d1115613e2b5761054080516115805260208101516115a05260408101516115c05260608101516115e05260808101516116005260a08101516116205260c08101516116405260e081015161166052610100810151611680526101208101516116a0526101408101516116c0526101608101516116e052610180810151611700526101a0810151611720526101c0810151611740526101e081015161176052610200810151611780526102208101516117a0526102408101516117c0526102608101516117e052610280810151611800526102a0810151611820526102c0810151611840526102e081015161186052610300810151611880526103208101516118a0526103408101516118c0526103608101516118e052610380810151611900526103a0810151611920526103c0810151611940526103e081015161196052610400810151611980526104208101516119a0526104408101516119c0526104608101516119e052610480810151611a00526104a0810151611a20526104c0810151611a40526104e0810151611a6052610500810151611a8052610520810151611aa052610540810151611ac052610560810151611ae052610580810151611b00526105a0810151611b20526105c0810151611b40526105e0810151611b6052610600810151611b8052610620810151611ba052610640810151611bc052610660810151611be052610680810151611c00526106a0810151611c20526106c0810151611c40526106e0810151611c6052610700810151611c8052610720810151611ca052610740810151611cc052610760810151611ce052610780810151611d00526107a0810151611d20526107c0810151611d40526107e0810151611d6052610800810151611d8052610820810151611da052610840810151611dc052610860810151611de052610880810151611e00526108a0810151611e20526108c0810151611e40526108e0810151611e6052610900810151611e8052610920810151611ea052610940810151611ec052610960810151611ee052610980810151611f00526109a0810151611f20526109c0810151611f40526109e0810151611f6052610a00810151611f8052610a20810151611fa052610a40810151611fc052610a60810151611fe052610a8081015161200052610aa081015161202052610ac081015161204052610ae081015161206052610b0081015161208052610b208101516120a052610b408101516120c052610b608101516120e052610b8081015161210052610ba081015161212052610bc081015161214052610be081015161216052610c0081015161218052610c208101516121a052610c408101516121c052610c608101516121e05250610c80611580f35b635d7dc8258118612b26576004358060a01c613e2b5760e05234613e2b57600760e05160a052608052604060802054610100526101005115612b135761010051610120526020610120612b2456612b24565b600554610120526020610120612b24565bf35b634bbc5b1f8118612c125734613e2b5760015460e05263a262904b610100526020610100600461011c60e0515afa612b63573d600060003e3d6000fd5b601f3d1115613e2b57610100518060a01c613e2b5760025563493f4f74610100526003610120526020610100602461011c60e0515afa612ba8573d600060003e3d6000fd5b601f3d1115613e2b57610100518060a01c613e2b5760035563493f4f74610100526005610120526020610100602461011c60e0515afa612bed573d600060003e3d6000fd5b601f3d1115613e2b57610100518060a01c613e2b576004556001610100526020610100f35b63188c7ee58118612c9b576004358060a01c613e2b5760e0526024358060a01c613e2b576101005234613e2b5763f851a440610120526020610120600461013c6001545afa612c66573d600060003e3d6000fd5b601f3d1115613e2b57610120513318613e2b5761010051600760e05160a0526080526040608020556001610120526020610120f35b63da3fb2ab8118612d06576004358060a01c613e2b5760e05234613e2b5763f851a440610100526020610100600461011c6001545afa612ce0573d600060003e3d6000fd5b601f3d1115613e2b57610100513318613e2b5760e0516005556001610100526020610100f35b63752d53c68118612ee1576004358060a01c613e2b5760e05234613e2b5763f851a440610100526020610100600461011c6001545afa612d4b573d600060003e3d6000fd5b601f3d1115613e2b57610100513318613e2b5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60e05118612da75760006101005261010050600060006101005161012047335af1612ed4573d600060003e3d6000fd612ed4565b6370a082316101205230610140526020610120602461013c60e0515afa612dd3573d600060003e3d6000fd5b601f3d1115613e2b57610120516101005260006004610160527fa9059cbb00000000000000000000000000000000000000000000000000000000610180526101606004806020846101a00101826020850160045afa505080518201915050336020826101a0010152602081019050610100516020826101a0010152602081019050806101a0526101a0505060206102406101a0516101c0600060e0515af1612e80573d600060003e3d6000fd5b61022060203d808211612e935781612e95565b805b905090508152805160200180610120828460045afa9050505060006101205114612ed457610140516101205181816020036008021c9050905015613e2b575b6001610100526020610100f35b6390b229978118612f4c576004358060011c613e2b5760e05234613e2b5763f851a440610100526020610100600461011c6001545afa612f26573d600060003e3d6000fd5b601f3d1115613e2b57610100513318613e2b5760e0516006556001610100526020610100f35b637b1039998118612f685734613e2b5760025460e052602060e0f35b63f7cbf4c68118612f845734613e2b5760035460e052602060e0f35b63f3b8f8298118612fa05734613e2b5760045460e052602060e0f35b633b359fc88118612fbc5734613e2b5760055460e052602060e0f35b639c868ac08118612fd85734613e2b5760065460e052602060e0f35b505b005b6060366101803763eb85226d6101e05261010051610200526101205161022052610140516102405260606101e060646101fc60e0515afa613022573d600060003e3d6000fd5b605f3d1115613e2b576101e080518060801d81607f1d18613e2b576101805260208101518060801d81607f1d18613e2b576101a05260408101518060011c613e2b576101c052506101c0516130785760006130c7565b60025460e0511861308a5760016130c7565b63e4d332a96102a052610100516102c05260206102a060246102bc60e0515afa6130b9573d600060003e3d6000fd5b601f3d1115613e2b576102a0515b15613121576307211ef76102e05261018051610300526101a05161032052610160516103405260206102e060646102fc610100515afa61310c573d600060003e3d6000fd5b601f3d1115613e2b576102e051815250613172565b635e0d443f6101e05261018051610200526101a05161022052610160516102405260206101e060646101fc610100515afa613161573d600060003e3d6000fd5b601f3d1115613e2b576101e0518152505b565b6040366101803763eb85226d6101c052610100516101e0526101205161020052610140516102205260406101c060646101dc60e0515afa6131ba573d600060003e3d6000fd5b603f3d1115613e2b576101c080516101805260208101516101a0525063556d6e9f6101c052610180516101e0526101a05161020052610160516102205260206101c060646101dc610100515afa613216573d600060003e3d6000fd5b601f3d1115613e2b576101c051815250565b600654613e2b5760a0366101e03763eb85226d61028052610100516102a052610120516102c052610140516102e0526060610280606461029c60e0515afa613275573d600060003e3d6000fd5b605f3d1115613e2b5761028080518060801d81607f1d18613e2b576102205260208101518060801d81607f1d18613e2b576102405260408101518060011c613e2b576102605250610260516132cb57600061331a565b60035460e051186133175763e4d332a96102c052610100516102e05260206102c060246102dc60e0515afa613305573d600060003e3d6000fd5b601f3d1115613e2b576102c05161331a565b60005b1561349b5760096101005160a052608052604060802080546103005260018101546103205250610300516133f85763c6610657610340526000610360526020610340602461035c610100515afa613376573d600060003e3d6000fd5b601f3d1115613e2b57610340518060a01c613e2b576103005263c66106576103805260016103a0526020610380602461039c610100515afa6133bd573d600060003e3d6000fd5b601f3d1115613e2b57610380518060a01c613e2b576103205260096101005160a0526080526040608020610300518155610320516001820155505b60006103805261038060c060006002818352015b60c051602002610300015161012051186134295760018352613439565b815160010180835281141561340c575b50505061038051156134935760006103a0526103a060c060006002818352015b60c051602002610300015161014051186134765760018352613486565b8151600101808352811415613459575b5050506103a05115613496565b60015b610260525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61012051186134c657610160516101e052613568565b6323b872dd6102c45260046101a0516102e452306103045261016051610324526060016102c0526102c05060206103806102c0516102e06000610120515af1613514573d600060003e3d6000fd5b61036060203d8082116135275781613529565b805b905090508152805160200180610280828460045afa9050505060006102805114613568576102a0516102805181816020036008021c9050905015613e2b575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61012051141561358e5760006135b1565b60086101205160a05260805260406080206101005160a052608052604060802054155b156136945763095ea7b36102c4526004610100516102e4527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610304526040016102c0526102c05060206103606102c0516102e06000610120515af161361c573d600060003e3d6000fd5b61034060203d80821161362f5781613631565b805b905090508152805160200180610280828460045afa9050505060006102805114613670576102a0516102805181816020036008021c9050905015613e2b575b600160086101205160a05260805260406080206101005160a0526080526040608020555b610260516136f557633df0212461028052610220516102a052610240516102c052610160516102e0526101805161030052610100513b15613e2b5760006000608461029c6101e051610100515af161374a573d600060003e3d6000fd61374a565b63a6417ed661028052610220516102a052610240516102c052610160516102e0526101805161030052610100513b15613e2b5760006000608461029c6101e051610100515af161374a573d600060003e3d6000fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610140511861379c5747610200526000610280526102805060006000610280516102a0476101c0515af1613877573d600060003e3d6000fd613877565b6370a0823161028052306102a0526020610280602461029c610140515afa6137c9573d600060003e3d6000fd5b601f3d1115613e2b57610280516102005263a9059cbb6102c45260046101c0516102e45261020051610304526040016102c0526102c05060206103606102c0516102e06000610140515af1613823573d600060003e3d6000fd5b61034060203d8082116138365781613838565b805b905090508152805160200180610280828460045afa9050505060006102805114613877576102a0516102805181816020036008021c9050905015613e2b575b610100516101c0516101a0517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe466101205161028052610140516102a052610160516102c052610200516102e0526080610280a461020051815250565b600654613e2b57610100516101c052610120516101e05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61010051186139225773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26101c0525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610120511861395a5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26101e0525b6080366102003763eb85226d6102805260e0516102a0526101c0516102c0526101e0516102e0526040610280606461029c6004545afa61399f573d600060003e3d6000fd5b603f3d1115613e2b576102808051610240526020810151610260525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61010051186139e6576101405161020052613a88565b6323b872dd6102c4526004610180516102e452306103045261014051610324526060016102c0526102c05060206103806102c0516102e06000610100515af1613a34573d600060003e3d6000fd5b61036060203d808211613a475781613a49565b805b905090508152805160200180610280828460045afa9050505060006102805114613a88576102a0516102805181816020036008021c9050905015613e2b575b60086101005160a052608052604060802060e05160a052608052604060802054613b885763095ea7b36102c452600460e0516102e4527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610304526040016102c0526102c05060206103606102c0516102e06000610100515af1613b11573d600060003e3d6000fd5b61034060203d808211613b245781613b26565b805b905090508152805160200180610280828460045afa9050505060006102805114613b65576102a0516102805181816020036008021c9050905015613e2b575b600160086101005160a052608052604060802060e05160a0526080526040608020555b610100516102a052610120516102c05260006102805261028060c060006002818352015b60c0516020026102a0015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee18613bda5760018352613bea565b8151600101808352811415613bac575b50505061028051613c4a57635b41b90861028052610240516102a052610260516102c052610140516102e052610160516103005260e0513b15613e2b5760006000608461029c600060e0515af1613ca3573d600060003e3d6000fd613ca3565b63394747c56102e052610240516103005261026051610320526101405161034052610160516103605260016103805260e0513b15613e2b576000600060a46102fc6102005160e0515af1613ca3573d600060003e3d6000fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101205118613cf55747610220526000610280526102805060006000610280516102a0476101a0515af1613dd0573d600060003e3d6000fd613dd0565b6370a0823161028052306102a0526020610280602461029c610120515afa613d22573d600060003e3d6000fd5b601f3d1115613e2b57610280516102205263a9059cbb6102c45260046101a0516102e45261022051610304526040016102c0526102c05060206103606102c0516102e06000610120515af1613d7c573d600060003e3d6000fd5b61034060203d808211613d8f5781613d91565b805b905090508152805160200180610280828460045afa9050505060006102805114613dd0576102a0516102805181816020036008021c9050905015613e2b575b60e0516101a051610180517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe466101005161028052610120516102a052610140516102c052610220516102e0526080610280a461022051815250565b600080fd5b61010a613f3a0361010a60003961010a613f3a036000f35b600080fd0000000000000000000000000000000022d53366457f9d5e68ec105046fc43830000000000000000000000000000000000000000000000000000000000000000