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
0x6f7fffffffffffffffffffffffffffffff6040526020613e1860c03960c0518060a01c613e13578090506101405260206020613e180160c03960c0518060a01c613e1357809050610160526101405160025563a262904b610180526020610180600461019c610140515afa15613e1357601f3d1115613e1357610180518060a01c613e135780905060035563493f4f746101805260036101a0526020610180602461019c610140515afa15613e1357601f3d1115613e1357610180518060a01c613e135780905060045563493f4f746101805260056101a0526020610180602461019c610140515afa15613e1357601f3d1115613e1357610180518060a01c613e135780905060055561016051600655613dfb56600436101561000d57612f4e565b60046000601c376f7fffffffffffffffffffffffffffffff6040526000516310e5e30381141561004157336104e052610060565b639f69a6a6811415610288576084358060a01c613ce2578090506104e0525b6004358060a01c613ce2578090506104a0526024358060a01c613ce2578090506104c052600054613ce257600160005573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104a05114156101025734604435146100fd576308c379a0610500526020610520526014610540527f496e636f72726563742045544820616d6f756e740000000000000000000000006105605261054050606461051cfd5b61014e565b341561014d576308c379a0610500526020610520526014610540527f496e636f72726563742045544820616d6f756e740000000000000000000000006105605261054050606461051cfd5b5b6003546105005260403661052037610560600062010000818352015b636982eb0b6105a0526104a0516105c0526104c0516105e052610560516106005260206105a060646105bc610500515afa15613ce257601f3d1115613ce2576105a0518060a01c613ce25780905061058052610580516101c957610232565b610500516101405261058051610160526104a051610180526104c0516101a0526044356101c0526101fb6105c0612f50565b6105c0516105a052610540516105a05111156102225761058051610520526105a051610540525b815160010180835281141561016a575b5050610500516101405261052051610160526104a051610180526104c0516101a052604060446101c03733610200526104e05161022052610274610560613176565b610560516105805260206105806000600055f35b634798ce5b81141561029e5733610500526102bd565b631a4c1ca38114156104dc5760a4358060a01c613ce257809050610500525b6004358060a01c613ce2578090506104a0526024358060a01c613ce2578090506104c0526044358060a01c613ce2578090506104e052600154613ce257600160015573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104c051141561037157346064351461036c576308c379a0610520526020610540526014610560527f496e636f72726563742045544820616d6f756e740000000000000000000000006105805261056050606461053cfd5b6103bd565b34156103bc576308c379a0610520526020610540526014610560527f496e636f72726563742045544820616d6f756e740000000000000000000000006105805261056050606461053cfd5b5b60006337951049610520526104a051610540526020610520602461053c6005545afa15613ce257601f3d1115613ce257610520511815610441576104a051610140526104c051610160526104e05161018052604060646101a037336101e052610500516102005261042f610560613705565b610560516105805260206105806104d5565b600354610520526337951049610540526104a051610560526020610540602461055c610520515afa15613ce257601f3d1115613ce2576105405161048757600454610520525b61052051610140526104a051610160526104c051610180526104e0516101a052604060646101c037336102005261050051610220526104c7610540613176565b610540516105605260206105605b6000600155f35b63353ca42481141561050a5760006102605260006102805260006102a05260006102c052336102e0526105d8565b639db4f7aa81141561056c576102e4358060a01c613ce25780905061026052610304358060a01c613ce25780905061028052610324358060a01c613ce2578090506102a052610344358060a01c613ce2578090506102c052336102e0526105d8565b630651cb35811415610f1e576102e4358060a01c613ce25780905061026052610304358060a01c613ce25780905061028052610324358060a01c613ce2578090506102a052610344358060a01c613ce2578090506102c052610364358060a01c613ce2578090506102e0525b6004358060a01c613ce257809050610140526024358060a01c613ce257809050610160526044358060a01c613ce257809050610180526064358060a01c613ce2578090506101a0526084358060a01c613ce2578090506101c05260a4358060a01c613ce2578090506101e05260c4358060a01c613ce2578090506102005260e4358060a01c613ce25780905061022052610104358060a01c613ce2578090506102405261014051610300526102a4356103205260006103405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103005114156106c05761032051341415613ce257610793565b34613ce2576323b872dd6103a4526004336103c452306103e45261032051610404526060016103a0526103a08051602001806104408284600060045af115613ce25750506020610500610440516104606000610300515af115613ce25760203d8082111561072e5780610730565b815b905090506104e0526104e08051602001806103608284600060045af115613ce25750506000610360511815610792576103608060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b61036060016004818352015b610140610360516002808202821582848304141715613ce257809050905090506001808210613ce257808203905090506009811015613ce257602002015161038052610260610360516001808210613ce257808203905090506004811015613ce25760200201516103a052610140610360516002808202821582848304141715613ce257809050905090506009811015613ce2576020020151610340526060610360516001808210613ce25780820390509050026101240180356103c05260208101356103e0526040810135610400525060096103005160e05260c052604060c0206103805160e05260c052604060c020546109a15763095ea7b361046452600461038051610484527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104a452604001610460526104608051602001806104e08284600060045af115613ce257505060206105806104e0516105006000610300515af115613ce25760203d80821115610919578061091b565b815b90509050610560526105608051602001806104208284600060045af115613ce2575050600061042051181561097d576104208060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b600160096103005160e05260c052604060c0206103805160e05260c052604060c020555b60006104205273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103005114156109cf5761032051610420525b6001610400511415610a3b57633df02124610440526103c0516040518111613ce257610460526103e0516040518111613ce25761048052610320516104a05260006104c052610380513b15613ce25760006000608461045c61042051610380515af115613ce257610caf565b6002610400511415610aa75763a6417ed6610440526103c0516040518111613ce257610460526103e0516040518111613ce25761048052610320516104a05260006104c052610380513b15613ce25760006000608461045c61042051610380515af115613ce257610cae565b6003610400511415610b9a5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610300511415610ad9576001610af4565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61034051145b15610b4d5763394747c5610440526103c051610460526103e05161048052610320516104a05260006104c05260016104e052610380513b15613ce2576000600060a461045c61042051610380515af115613ce257610b95565b635b41b908610440526103c051610460526103e05161048052610320516104a05260006104c052610380513b15613ce25760006000608461045c6000610380515af115613ce2575b610cad565b6004610400511415610bf4576365b2489b610440526103c051610460526103e05161048052610320516104a05260006104c052610380513b15613ce25760006000608461045c61042051610380515af115613ce257610cac565b6005610400511415610c6657637981c43e610440526103a051610460526103c0516040518111613ce257610480526103e0516040518111613ce2576104a052610320516104c05260006104e052610380513b15613ce2576000600060a461045c6000610380515af115613ce257610cab565b6308c379a061044052602061046052600d610480527f42616420737761702074797065000000000000000000000000000000000000006104a05261048050606461045cfd5b5b5b5b5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610340511415610cd8574761032052610d0d565b6370a082316104405230610460526020610440602461045c610340515afa15613ce257601f3d1115613ce25761044051610320525b6000610320511415610d5e576308c379a0610440526020610460526010610480527f5265636569766564206e6f7468696e67000000000000000000000000000000006104a05261048050606461045cfd5b6004610360511415610d71576001610db3565b610140610360516002808202821582848304141715613ce2578090509050905060018181830110613ce257808201905090506009811015613ce2576020020151155b15610dbd57610dd5565b6103405161030052815160010180835281141561079f575b50506102c4356103205110613ce25773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610340511415610e43576000610360526103608051602001806103808284600060045af115613ce257505060006000610380516103a0610320516102e0515af115613ce257610f0f565b63a9059cbb6103a45260046102e0516103c452610320516103e4526040016103a0526103a08051602001806104208284600060045af115613ce257505060206104c0610420516104406000610340515af115613ce25760203d80821115610eaa5780610eac565b815b905090506104a0526104a08051602001806103608284600060045af115613ce25750506000610360511815610f0e576103608060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b61032051610360526020610360f35b634e21df75811415610f5f5760006104005260006104205260006104405260006104605260006104805260006104a05260006104c05260006104e052610fff565b63488de9af8114156114d0576064358060a01c613ce257809050610400526084358060a01c613ce2578090506104205260a4358060a01c613ce2578090506104405260c4358060a01c613ce2578090506104605260e4358060a01c613ce25780905061048052610104358060a01c613ce2578090506104a052610124358060a01c613ce2578090506104c052610144358060a01c613ce2578090506104e0525b6004358060a01c613ce2578090506103c0526024358060a01c613ce2578090506103e05234613ce257604036610500376103c051610540526103e0516105605273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103c05114156110785773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610540525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103e05114156110b15773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610560525b600554610580526105a0600062010000818352015b636982eb0b6105e052610540516106005261056051610620526105a0516106405260206105e060646105fc610580515afa15613ce257601f3d1115613ce2576105e0518060a01c613ce2578090506105c0526105c05161114e576105a05161112d5761120e565b505050610500516105e052610520516106005260406105e06114ce566111a4565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156111825760018352611192565b8151600101808352811415611163575b5050506105e051156111a3576111fe565b5b61058051610140526105c051610160526105405161018052610560516101a0526044356101c0526111d66106006130d5565b610600516105e052610520516105e05111156111fd576105c051610500526105e051610520525b5b81516001018083528114156110c6575b5050600354610580526105a0600062010000818352015b636982eb0b6105e0526103c051610600526103e051610620526105a0516106405260206105e060646105fc610580515afa15613ce257601f3d1115613ce2576105e0518060a01c613ce2578090506105c0526105c05161128857611348566112de565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156112bc57600183526112cc565b815160010180835281141561129d575b5050506105e051156112dd57611338565b5b61058051610140526105c051610160526103c051610180526103e0516101a0526044356101c052611310610600612f50565b610600516105e052610520516105e0511115611337576105c051610500526105e051610520525b5b8151600101808352811415611225575b5050600454610580526105a0600062010000818352015b636982eb0b6105e0526103c051610600526103e051610620526105a0516106405260206105e060646105fc610580515afa15613ce257601f3d1115613ce2576105e0518060a01c613ce2578090506105c0526105c0516113c2576114b656611418565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156113f65760018352611406565b81516001018083528114156113d7575b5050506105e05115611417576114a6565b5b6318160ddd6105e05260206105e060046105fc6105c0515afa15613ce257601f3d1115613ce2576105e05161144c576114a6565b61058051610140526105c051610160526103c051610180526103e0516101a0526044356101c05261147e610600612f50565b610600516105e052610520516105e05111156114a5576105c051610500526105e051610520525b5b815160010180835281141561135f575b5050610500516105a052610520516105c05260406105a05bf35b633973e8348114156116a7576004358060a01c613ce2578090506103c0526024358060a01c613ce2578090506103e0526044358060a01c613ce2578090506104005234613ce2576005546104205260006337951049610440526103c051610460526020610440602461045c610420515afa15613ce257601f3d1115613ce25761044051181561161f576103e05161048052610400516104a05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103e05114156115a25773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610480525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104005114156115db5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26104a0525b61042051610140526103c0516101605261048051610180526104a0516101a0526064356101c05261160d6104c06130d5565b6104c0516104e05260206104e06116a5565b600354610420526337951049610440526103c051610460526020610440602461045c610420515afa15613ce257601f3d1115613ce2576104405161166557600454610420525b61042051610140526103c051610160526103e05161018052610400516101a0526064356101c052611697610440612f50565b610440516104605260206104605bf35b637fa5a654811415611cdf576004358060a01c613ce257809050610140526024358060a01c613ce257809050610160526044358060a01c613ce2578090506101805234613ce2576003546101a0526060366101c03763eb85226d610220526101405161024052610160516102605261018051610280526060610220606461023c6101a0515afa15613ce257605f3d1115613ce2576102208051808060801d81607f1d1415613ce257508090506101c0526020810151808060801d81607f1d1415613ce257508090506101e05260408101518060011c613ce25780905061020052506355b30b196102405261014051610260526020610240602461025c6101a0515afa15613ce257601f3d1115613ce2576102405161022052637cdb72b06102605261014051610280526040610260602461027c6101a0515afa15613ce257603f3d1115613ce257610260516102405261030036610260376020610200510263940494f161058052610140516105a0526040610580602461059c6101a0515afa15613ce257603f3d1115613ce257610580015161056052610200511561198c576359f4f35161058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516102605260208101516102805260408101516102a05260608101516102c05260808101516102e05260a08101516103005260c08101516103205260e08101516103405250634cb088f161058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516104605260208101516104805260408101516104a05260608101516104c05260808101516104e05260a08101516105005260c08101516105205260e0810151610540525061058060006008818352015b6105605161058051141561195757611985565b670de0b6b3a7640000610360610580516008811015613ce25760200201528151600101808352811415611944575b5050611af8565b6392e3cc2d61058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516102605260208101516102805260408101516102a05260608101516102c05260808101516102e05260a08101516103005260c08101516103205260e081015161034052506352b5155561058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516104605260208101516104805260408101516104a05260608101516104c05260808101516104e05260a08101516105005260c08101516105205260e0810151610540525063ce99e45a61058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516103605260208101516103805260408101516103a05260608101516103c05260808101516103e05260a08101516104005260c08101516104205260e081015161044052505b61058060006008818352015b61056051610580511415611b1757611b91565b604e6012610460610580516008811015613ce2576020020151808210613ce257808203905090501015613ce2576012610460610580516008811015613ce2576020020151808210613ce25780820390509050600a0a610460610580516008811015613ce25760200201528151600101808352811415611b04575b505060086101405160e05260c052604060c020546105805261058051611bb957600654610580525b63ca3878906105a052610560516105c052610260516105e05261028051610600526102a051610620526102c051610640526102e051610660526103005161068052610320516106a052610340516106c052610220516106e0526102405161070052610360516107205261038051610740526103a051610760526103c051610780526103e0516107a052610400516107c052610420516107e0526104405161080052610460516108205261048051610840526104a051610860526104c051610880526104e0516108a052610500516108c052610520516108e05261054051610900526101c051610920526101e051610940526064356109605260206105a06103c46105bc610580515afa15613ce257601f3d1115613ce2576105a051610980526020610980f35b634be9ae42811415612a00576004358060a01c613ce257809050610140526024358060a01c613ce257809050610160526044358060a01c613ce2578090506101805234613ce2576003546101a052610360366101c0376355b30b196105405261014051610560526020610540602461055c6101a0515afa15613ce257601f3d1115613ce2576105405161052052637cdb72b06105605261014051610580526040610560602461057c6101a0515afa15613ce257603f3d1115613ce257610560516105405263eb85226d610560526101405161058052610160516105a052610180516105c0526060610560606461057c6101a0515afa15613ce257605f3d1115613ce2576105608051808060801d81607f1d1415613ce257508090506101c0526020810151808060801d81607f1d1415613ce257508090506101e05260408101518060011c613ce25780905061020052506020610200510263940494f161058052610140516105a0526040610580602461059c6101a0515afa15613ce257603f3d1115613ce2576105800151610560526102005115611fbd576359f4f35161058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516102205260208101516102405260408101516102605260608101516102805260808101516102a05260a08101516102c05260c08101516102e05260e08101516103005250634cb088f161058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516104205260208101516104405260408101516104605260608101516104805260808101516104a05260a08101516104c05260c08101516104e05260e0810151610500525061058060006008818352015b61056051610580511415611f8857611fb6565b670de0b6b3a7640000610320610580516008811015613ce25760200201528151600101808352811415611f75575b5050612129565b6392e3cc2d61058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516102205260208101516102405260408101516102605260608101516102805260808101516102a05260a08101516102c05260c08101516102e05260e081015161030052506352b5155561058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516104205260208101516104405260408101516104605260608101516104805260808101516104a05260a08101516104c05260c08101516104e05260e0810151610500525063ce99e45a61058052610140516105a052610100610580602461059c6101a0515afa15613ce25760ff3d1115613ce25761058080516103205260208101516103405260408101516103605260608101516103805260808101516103a05260a08101516103c05260c08101516103e05260e081015161040052505b61058060006008818352015b61056051610580511415612148576121c2565b604e6012610420610580516008811015613ce2576020020151808210613ce257808203905090501015613ce2576012610420610580516008811015613ce2576020020151808210613ce25780820390509050600a0a610420610580516008811015613ce25760200201528151600101808352811415612135575b505060086101405160e05260c052604060c0205461058052610580516121ea57600654610580525b63138f41f16105a052610560516105c052610220516105e0526102405161060052610260516106205261028051610640526102a051610660526102c051610680526102e0516106a052610300516106c052610520516106e052610540516107005261032051610720526103405161074052610360516107605261038051610780526103a0516107a0526103c0516107c0526103e0516107e052610400516108005261042051610820526104405161084052610460516108605261048051610880526104a0516108a0526104c0516108c0526104e0516108e05261050051610900526101c051610920526101e05161094052606435610960526084356109805260a4356109a05260c4356109c05260e4356109e05261010435610a005261012435610a205261014435610a405261016435610a605261018435610a80526101a435610aa0526101c435610ac0526101e435610ae05261020435610b005261022435610b205261024435610b405261026435610b605261028435610b80526102a435610ba0526102c435610bc0526102e435610be05261030435610c005261032435610c205261034435610c405261036435610c605261038435610c80526103a435610ca0526103c435610cc0526103e435610ce05261040435610d005261042435610d205261044435610d405261046435610d605261048435610d80526104a435610da0526104c435610dc0526104e435610de05261050435610e005261052435610e205261054435610e405261056435610e605261058435610e80526105a435610ea0526105c435610ec0526105e435610ee05261060435610f005261062435610f205261064435610f405261066435610f605261068435610f80526106a435610fa0526106c435610fc0526106e435610fe052610704356110005261072435611020526107443561104052610764356110605261078435611080526107a4356110a0526107c4356110c0526107e4356110e052610804356111005261082435611120526108443561114052610864356111605261088435611180526108a4356111a0526108c4356111c0526108e4356111e052610904356112005261092435611220526109443561124052610964356112605261098435611280526109a4356112a0526109c4356112c0526109e4356112e052610a043561130052610a243561132052610a443561134052610a643561136052610a843561138052610aa4356113a052610ac4356113c052610ae4356113e052610b043561140052610b243561142052610b443561144052610b643561146052610b843561148052610ba4356114a052610bc4356114c052610be4356114e052610c043561150052610c243561152052610c443561154052610c643561156052610c843561158052610ca4356115a052610cc4356115c052610c806105a06110246105bc610580515afa15613ce257610c7f3d1115613ce2576105a080516115e05260208101516116005260408101516116205260608101516116405260808101516116605260a08101516116805260c08101516116a05260e08101516116c0526101008101516116e052610120810151611700526101408101516117205261016081015161174052610180810151611760526101a0810151611780526101c08101516117a0526101e08101516117c0526102008101516117e052610220810151611800526102408101516118205261026081015161184052610280810151611860526102a0810151611880526102c08101516118a0526102e08101516118c0526103008101516118e052610320810151611900526103408101516119205261036081015161194052610380810151611960526103a0810151611980526103c08101516119a0526103e08101516119c0526104008101516119e052610420810151611a0052610440810151611a2052610460810151611a4052610480810151611a60526104a0810151611a80526104c0810151611aa0526104e0810151611ac052610500810151611ae052610520810151611b0052610540810151611b2052610560810151611b4052610580810151611b60526105a0810151611b80526105c0810151611ba0526105e0810151611bc052610600810151611be052610620810151611c0052610640810151611c2052610660810151611c4052610680810151611c60526106a0810151611c80526106c0810151611ca0526106e0810151611cc052610700810151611ce052610720810151611d0052610740810151611d2052610760810151611d4052610780810151611d60526107a0810151611d80526107c0810151611da0526107e0810151611dc052610800810151611de052610820810151611e0052610840810151611e2052610860810151611e4052610880810151611e60526108a0810151611e80526108c0810151611ea0526108e0810151611ec052610900810151611ee052610920810151611f0052610940810151611f2052610960810151611f4052610980810151611f60526109a0810151611f80526109c0810151611fa0526109e0810151611fc052610a00810151611fe052610a2081015161200052610a4081015161202052610a6081015161204052610a8081015161206052610aa081015161208052610ac08101516120a052610ae08101516120c052610b008101516120e052610b2081015161210052610b4081015161212052610b6081015161214052610b8081015161216052610ba081015161218052610bc08101516121a052610be08101516121c052610c008101516121e052610c2081015161220052610c4081015161222052610c608101516122405250610c806115e0f35b635d7dc825811415612a6b576004358060a01c613ce2578090506101405234613ce25760086101405160e05260c052604060c020546101605261016051612a5657600654610180526020610180612a6956612a68565b61016051610180526020610180612a69565b5bf35b634bbc5b1f811415612b475734613ce2576002546101405263a262904b610160526020610160600461017c610140515afa15613ce257601f3d1115613ce257610160518060a01c613ce25780905060035563493f4f74610160526003610180526020610160602461017c610140515afa15613ce257601f3d1115613ce257610160518060a01c613ce25780905060045563493f4f74610160526005610180526020610160602461017c610140515afa15613ce257601f3d1115613ce257610160518060a01c613ce2578090506005556001610160526020610160f35b63188c7ee5811415612bd0576004358060a01c613ce257809050610140526024358060a01c613ce2578090506101605234613ce25763f851a440610180526020610180600461019c6002545afa15613ce257601f3d1115613ce25761018051331415613ce2576101605160086101405160e05260c052604060c020556001610180526020610180f35b63da3fb2ab811415612c38576004358060a01c613ce2578090506101405234613ce25763f851a440610160526020610160600461017c6002545afa15613ce257601f3d1115613ce25761016051331415613ce257610140516006556001610160526020610160f35b63752d53c6811415612e49576004358060a01c613ce2578090506101405234613ce25763f851a440610160526020610160600461017c6002545afa15613ce257601f3d1115613ce25761016051331415613ce25773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610140511415612ce5576000610160526101608051602001806101808284600060045af115613ce257505060006000610180516101a047335af115613ce257612e3c565b6370a0823161018052306101a0526020610180602461019c610140515afa15613ce257601f3d1115613ce2576101805161016052600060046101c0527fa9059cbb000000000000000000000000000000000000000000000000000000006101e0526101c060048060208461020001018260208501600060045af15050805182019150503360208261020001015260208101905061016051602082610200010152602081019050806102005261020090508051602001806102808284600060045af115613ce25750506020610320610280516102a06000610140515af115613ce25760203d80821115612dd75780612dd9565b815b90509050610300526103008051602001806101808284600060045af115613ce25750506000610180511815612e3b576101808060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b6001610160526020610160f35b6390b22997811415612eb1576004358060011c613ce2578090506101405234613ce25763f851a440610160526020610160600461017c6002545afa15613ce257601f3d1115613ce25761016051331415613ce257610140516007556001610160526020610160f35b637b103999811415612ed05734613ce257600354610140526020610140f35b63f7cbf4c6811415612eef5734613ce257600454610140526020610140f35b63f3b8f829811415612f0e5734613ce257600554610140526020610140f35b633b359fc8811415612f2d5734613ce257600654610140526020610140f35b639c868ac0811415612f4c5734613ce257600754610140526020610140f35b505b005b6060366101e03763eb85226d61024052610160516102605261018051610280526101a0516102a0526060610240606461025c610140515afa15613ce257605f3d1115613ce2576102408051808060801d81607f1d1415613ce257508090506101e0526020810151808060801d81607f1d1415613ce257508090506102005260408101518060011c613ce2578090506102205250610220511561303957600354610140511415613000576001613034565b63e4d332a96103005261016051610320526020610300602461031c610140515afa15613ce257601f3d1115613ce257610300515b61303c565b60005b1561308c576307211ef7610340526101e0516103605261020051610380526101c0516103a0526020610340606461035c610160515afa15613ce257601f3d1115613ce257610340518152506130d3565b635e0d443f610240526101e0516102605261020051610280526101c0516102a0526020610240606461025c610160515afa15613ce257601f3d1115613ce257610240518152505b565b6040366101e03763eb85226d61022052610160516102405261018051610260526101a051610280526040610220606461023c610140515afa15613ce257603f3d1115613ce25761022080516101e0526020810151610200525063556d6e9f610220526101e0516102405261020051610260526101c051610280526020610220606461023c610160515afa15613ce257601f3d1115613ce25761022051815250565b600754613ce25760a0366102403763eb85226d6102e052610160516103005261018051610320526101a0516103405260606102e060646102fc610140515afa15613ce257605f3d1115613ce2576102e08051808060801d81607f1d1415613ce25750809050610280526020810151808060801d81607f1d1415613ce257508090506102a05260408101518060011c613ce2578090506102c052506102c051156132665760045461014051141561325e5763e4d332a96103205261016051610340526020610320602461033c610140515afa15613ce257601f3d1115613ce25761032051613261565b60005b613269565b60005b156132755760006102c0525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101805114156132a1576101c05161024052613372565b6323b872dd610324526004610200516103445230610364526101c05161038452606001610320526103208051602001806103c08284600060045af115613ce257505060206104806103c0516103e06000610180515af115613ce25760203d8082111561330d578061330f565b815b90509050610460526104608051602001806102e08284600060045af115613ce257505060006102e0511815613371576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b60096101805160e05260c052604060c0206101605160e05260c052604060c020546134a35763095ea7b361032452600461016051610344527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036452604001610320526103208051602001806103a08284600060045af115613ce257505060206104406103a0516103c06000610180515af115613ce25760203d8082111561341b578061341d565b815b90509050610420526104208051602001806102e08284600060045af115613ce257505060006102e051181561347f576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b600160096101805160e05260c052604060c0206101605160e05260c052604060c020555b6102c051156134fc5763a6417ed66102e05261028051610300526102a051610320526101c051610340526101e05161036052610160513b15613ce2576000600060846102fc61024051610160515af115613ce257613548565b633df021246102e05261028051610300526102a051610320526101c051610340526101e05161036052610160513b15613ce2576000600060846102fc61024051610160515af115613ce2575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101a05114156135a957476102605260006102e0526102e08051602001806103008284600060045af115613ce2575050600060006103005161032047610220515af115613ce2576136a9565b6370a082316102e052306103005260206102e060246102fc6101a0515afa15613ce257601f3d1115613ce2576102e0516102605263a9059cbb61032452600461022051610344526102605161036452604001610320526103208051602001806103a08284600060045af115613ce257505060206104406103a0516103c060006101a0515af115613ce25760203d808211156136445780613646565b815b90509050610420526104208051602001806102e08284600060045af115613ce257505060006102e05118156136a8576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b6101605161022051610200517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe46610180516102e0526101a051610300526101c05161032052610260516103405260806102e0a461026051815250565b600754613ce2576101605161022052610180516102405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101605114156137555773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610220525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61018051141561378e5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610240525b6080366102603763eb85226d6102e05261014051610300526102205161032052610240516103405260406102e060646102fc6005545afa15613ce257603f3d1115613ce2576102e080516102a05260208101516102c0525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610160511415613812576101a051610260526138e3565b6323b872dd6103245260046101e0516103445230610364526101a05161038452606001610320526103208051602001806103c08284600060045af115613ce257505060206104806103c0516103e06000610160515af115613ce25760203d8082111561387e5780613880565b815b90509050610460526104608051602001806102e08284600060045af115613ce257505060006102e05118156138e2576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b60096101605160e05260c052604060c0206101405160e05260c052604060c02054613a145763095ea7b361032452600461014051610344527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036452604001610320526103208051602001806103a08284600060045af115613ce257505060206104406103a0516103c06000610160515af115613ce25760203d8082111561398c578061398e565b815b90509050610420526104208051602001806102e08284600060045af115613ce257505060006102e05118156139f0576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b600160096101605160e05260c052604060c0206101405160e05260c052604060c020555b6101605161030052610180516103205260006102e0526102e061012060006002818352015b61012051602002610300015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415613a695760018352613a79565b8151600101808352811415613a39575b5050506102e05115613adb5763394747c5610340526102a051610360526102c051610380526101a0516103a0526101c0516103c05260016103e052610140513b15613ce2576000600060a461035c61026051610140515af115613ce257613b25565b635b41b9086102e0526102a051610300526102c051610320526101a051610340526101c05161036052610140513b15613ce2576000600060846102fc6000610140515af115613ce2575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610180511415613b8657476102805260006102e0526102e08051602001806103008284600060045af115613ce2575050600060006103005161032047610200515af115613ce257613c86565b6370a082316102e052306103005260206102e060246102fc610180515afa15613ce257601f3d1115613ce2576102e0516102805263a9059cbb61032452600461020051610344526102805161036452604001610320526103208051602001806103a08284600060045af115613ce257505060206104406103a0516103c06000610180515af115613ce25760203d80821115613c215780613c23565b815b90509050610420526104208051602001806102e08284600060045af115613ce257505060006102e0511815613c85576102e08060200151600082518060209013613ce25780919012613ce257806020036101000a820490509050905015613ce2575b5b61014051610200516101e0517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe46610160516102e05261018051610300526101a05161032052610280516103405260806102e0a461028051815250565b600080fd5b610114613dfb03610114600039610114613dfb036000f35b600080fd0000000000000000000000000000000022d53366457f9d5e68ec105046fc43830000000000000000000000000000000000000000000000000000000000000000