0 txs
8 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_exchange_multiple_amount
viewfunction get_exchange_multiple_amount(address[9] _route, uint256[3][4] _swap_params, uint256 _amount, address[4] _pools) view returns (uint256)
get_exchange_multiple_amount
viewfunction get_exchange_multiple_amount(address[9] _route, uint256[3][4] _swap_params, uint256 _amount) view returns (uint256)
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
0x6f7fffffffffffffffffffffffffffffff604052602061488360c03960c0518060a01c61487e5780905061014052602060206148830160c03960c0518060a01c61487e57809050610160526101405160025563a262904b610180526020610180600461019c610140515afa1561487e57601f3d111561487e57610180518060a01c61487e5780905060035563493f4f746101805260036101a0526020610180602461019c610140515afa1561487e57601f3d111561487e57610180518060a01c61487e5780905060045563493f4f746101805260056101a0526020610180602461019c610140515afa1561487e57601f3d111561487e57610180518060a01c61487e578090506005556101605160065561486656600436101561000d57613824565b60046000601c376f7fffffffffffffffffffffffffffffff6040526000516310e5e30381141561004157336104e052610060565b639f69a6a6811415610288576084358060a01c61474d578090506104e0525b6004358060a01c61474d578090506104a0526024358060a01c61474d578090506104c05260005461474d57600160005573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104a05114156101025734604435146100fd576308c379a0610500526020610520526014610540527f496e636f72726563742045544820616d6f756e740000000000000000000000006105605261054050606461051cfd5b61014e565b341561014d576308c379a0610500526020610520526014610540527f496e636f72726563742045544820616d6f756e740000000000000000000000006105605261054050606461051cfd5b5b6003546105005260403661052037610560600062010000818352015b636982eb0b6105a0526104a0516105c0526104c0516105e052610560516106005260206105a060646105bc610500515afa1561474d57601f3d111561474d576105a0518060a01c61474d5780905061058052610580516101c957610232565b610500516101405261058051610160526104a051610180526104c0516101a0526044356101c0526101fb6105c0613826565b6105c0516105a052610540516105a05111156102225761058051610520526105a051610540525b815160010180835281141561016a575b5050610500516101405261052051610160526104a051610180526104c0516101a052604060446101c03733610200526104e05161022052610274610560613a4c565b610560516105805260206105806000600055f35b634798ce5b81141561029e5733610500526102bd565b631a4c1ca38114156104dc5760a4358060a01c61474d57809050610500525b6004358060a01c61474d578090506104a0526024358060a01c61474d578090506104c0526044358060a01c61474d578090506104e05260015461474d57600160015573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104c051141561037157346064351461036c576308c379a0610520526020610540526014610560527f496e636f72726563742045544820616d6f756e740000000000000000000000006105805261056050606461053cfd5b6103bd565b34156103bc576308c379a0610520526020610540526014610560527f496e636f72726563742045544820616d6f756e740000000000000000000000006105805261056050606461053cfd5b5b60006337951049610520526104a051610540526020610520602461053c6005545afa1561474d57601f3d111561474d57610520511815610441576104a051610140526104c051610160526104e05161018052604060646101a037336101e052610500516102005261042f610560614170565b610560516105805260206105806104d5565b600354610520526337951049610540526104a051610560526020610540602461055c610520515afa1561474d57601f3d111561474d576105405161048757600454610520525b61052051610140526104a051610160526104c051610180526104e0516101a052604060646101c037336102005261050051610220526104c7610540613a4c565b610540516105605260206105605b6000600155f35b63353ca42481141561050a5760006102605260006102805260006102a05260006102c052336102e0526105d8565b639db4f7aa81141561056c576102e4358060a01c61474d5780905061026052610304358060a01c61474d5780905061028052610324358060a01c61474d578090506102a052610344358060a01c61474d578090506102c052336102e0526105d8565b630651cb35811415611160576102e4358060a01c61474d5780905061026052610304358060a01c61474d5780905061028052610324358060a01c61474d578090506102a052610344358060a01c61474d578090506102c052610364358060a01c61474d578090506102e0525b6004358060a01c61474d57809050610140526024358060a01c61474d57809050610160526044358060a01c61474d57809050610180526064358060a01c61474d578090506101a0526084358060a01c61474d578090506101c05260a4358060a01c61474d578090506101e05260c4358060a01c61474d578090506102005260e4358060a01c61474d5780905061022052610104358060a01c61474d578090506102405261014051610300526102a4356103205260006103405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103005114156106c0576103205134141561474d57610793565b3461474d576323b872dd6103a4526004336103c452306103e45261032051610404526060016103a0526103a08051602001806104408284600060045af11561474d5750506020610500610440516104606000610300515af11561474d5760203d8082111561072e5780610730565b815b905090506104e0526104e08051602001806103608284600060045af11561474d575050600061036051181561079257610360806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b61036060016004818352015b61014061036051600280820282158284830414171561474d5780905090509050600180821061474d5780820390509050600981101561474d5760200201516103805261026061036051600180821061474d5780820390509050600481101561474d5760200201516103a05261014061036051600280820282158284830414171561474d5780905090509050600981101561474d57602002015161034052606061036051600180821061474d5780820390509050026101240180356103c05260208101356103e0526040810135610400525060096103005160e05260c052604060c0206103805160e05260c052604060c020546109a15763095ea7b361046452600461038051610484527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104a452604001610460526104608051602001806104e08284600060045af11561474d57505060206105806104e0516105006000610300515af11561474d5760203d80821115610919578061091b565b815b90509050610560526105608051602001806104208284600060045af11561474d575050600061042051181561097d57610420806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b600160096103005160e05260c052604060c0206103805160e05260c052604060c020555b60006104205273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103005114156109cf5761032051610420525b6001610400511415610a3b57633df02124610440526103c051604051811161474d57610460526103e051604051811161474d5761048052610320516104a05260006104c052610380513b1561474d5760006000608461045c61042051610380515af11561474d57610ef1565b6002610400511415610aa75763a6417ed6610440526103c051604051811161474d57610460526103e051604051811161474d5761048052610320516104a05260006104c052610380513b1561474d5760006000608461045c61042051610380515af11561474d57610ef0565b6003610400511415610b9a5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610300511415610ad9576001610af4565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61034051145b15610b4d5763394747c5610440526103c051610460526103e05161048052610320516104a05260006104c05260016104e052610380513b1561474d576000600060a461045c61042051610380515af11561474d57610b95565b635b41b908610440526103c051610460526103e05161048052610320516104a05260006104c052610380513b1561474d5760006000608461045c6000610380515af11561474d575b610eef565b6004610400511415610bf4576365b2489b610440526103c051610460526103e05161048052610320516104a05260006104c052610380513b1561474d5760006000608461045c61042051610380515af11561474d57610eee565b6005610400511415610c6657637981c43e610440526103a051610460526103c051604051811161474d57610480526103e051604051811161474d576104a052610320516104c05260006104e052610380513b1561474d576000600060a461045c6000610380515af11561474d57610eed565b6006610400511415610cdb57600061044052600061046052610320516104406103c051600281101561474d576020020152630b4c7e4d61048052610440516104a052610460516104c05260006104e052610380513b1561474d5760006000606461049c6000610380515af11561474d57610eec565b6007610400511415610d5e57600061044052600061046052600061048052610320516104406103c051600381101561474d576020020152634515cef36104a052610440516104c052610460516104e0526104805161050052600061052052610380513b1561474d576000600060846104bc6000610380515af11561474d57610eeb565b6008610400511415610de757600061044052600061046052600061048052610320516104406103c051600381101561474d576020020152632b6e993a6104a052610440516104c052610460516104e0526104805161050052600061052052600161054052610380513b1561474d576000600060a46104bc6000610380515af11561474d57610eea565b6009610400511415610e4057631a4d01d26104405261032051610460526103e051604051811161474d576104805260006104a052610380513b1561474d5760006000606461045c6000610380515af11561474d57610ee9565b600a610400511415610ea35763517a55a36104405261032051610460526103e051604051811161474d576104805260006104a05260016104c0526020610440608461045c6000610380515af11561474d57601f3d111561474d5761044050610ee8565b6308c379a061044052602061046052600d610480527f42616420737761702074797065000000000000000000000000000000000000006104a05261048050606461045cfd5b5b5b5b5b5b5b5b5b5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610340511415610f1a574761032052610f4f565b6370a082316104405230610460526020610440602461045c610340515afa1561474d57601f3d111561474d5761044051610320525b6000610320511415610fa0576308c379a0610440526020610460526010610480527f5265636569766564206e6f7468696e67000000000000000000000000000000006104a05261048050606461045cfd5b6004610360511415610fb3576001610ff5565b61014061036051600280820282158284830414171561474d57809050905090506001818183011061474d5780820190509050600981101561474d576020020151155b15610fff57611017565b6103405161030052815160010180835281141561079f575b50506102c435610320511061474d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610340511415611085576000610360526103608051602001806103808284600060045af11561474d57505060006000610380516103a0610320516102e0515af11561474d57611151565b63a9059cbb6103a45260046102e0516103c452610320516103e4526040016103a0526103a08051602001806104208284600060045af11561474d57505060206104c0610420516104406000610340515af11561474d5760203d808211156110ec57806110ee565b815b905090506104a0526104a08051602001806103608284600060045af11561474d575050600061036051181561115057610360806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b61032051610360526020610360f35b634e21df758114156111a15760006104005260006104205260006104405260006104605260006104805260006104a05260006104c05260006104e052611241565b63488de9af811415611712576064358060a01c61474d57809050610400526084358060a01c61474d578090506104205260a4358060a01c61474d578090506104405260c4358060a01c61474d578090506104605260e4358060a01c61474d5780905061048052610104358060a01c61474d578090506104a052610124358060a01c61474d578090506104c052610144358060a01c61474d578090506104e0525b6004358060a01c61474d578090506103c0526024358060a01c61474d578090506103e0523461474d57604036610500376103c051610540526103e0516105605273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103c05114156112ba5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610540525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103e05114156112f35773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610560525b600554610580526105a0600062010000818352015b636982eb0b6105e052610540516106005261056051610620526105a0516106405260206105e060646105fc610580515afa1561474d57601f3d111561474d576105e0518060a01c61474d578090506105c0526105c051611390576105a05161136f57611450565b505050610500516105e052610520516106005260406105e0611710566113e6565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156113c457600183526113d4565b81516001018083528114156113a5575b5050506105e051156113e557611440565b5b61058051610140526105c051610160526105405161018052610560516101a0526044356101c0526114186106006139ab565b610600516105e052610520516105e051111561143f576105c051610500526105e051610520525b5b8151600101808352811415611308575b5050600354610580526105a0600062010000818352015b636982eb0b6105e0526103c051610600526103e051610620526105a0516106405260206105e060646105fc610580515afa1561474d57601f3d111561474d576105e0518060a01c61474d578090506105c0526105c0516114ca5761158a56611520565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156114fe576001835261150e565b81516001018083528114156114df575b5050506105e0511561151f5761157a565b5b61058051610140526105c051610160526103c051610180526103e0516101a0526044356101c052611552610600613826565b610600516105e052610520516105e0511115611579576105c051610500526105e051610520525b5b8151600101808352811415611467575b5050600454610580526105a0600062010000818352015b636982eb0b6105e0526103c051610600526103e051610620526105a0516106405260206105e060646105fc610580515afa1561474d57601f3d111561474d576105e0518060a01c61474d578090506105c0526105c051611604576116f85661165a565b60006105e0526105e061012060006008818352015b6101205160200261040001516105c05114156116385760018352611648565b8151600101808352811415611619575b5050506105e05115611659576116e8565b5b6318160ddd6105e05260206105e060046105fc6105c0515afa1561474d57601f3d111561474d576105e05161168e576116e8565b61058051610140526105c051610160526103c051610180526103e0516101a0526044356101c0526116c0610600613826565b610600516105e052610520516105e05111156116e7576105c051610500526105e051610520525b5b81516001018083528114156115a1575b5050610500516105a052610520516105c05260406105a05bf35b633973e8348114156118e9576004358060a01c61474d578090506103c0526024358060a01c61474d578090506103e0526044358060a01c61474d57809050610400523461474d576005546104205260006337951049610440526103c051610460526020610440602461045c610420515afa1561474d57601f3d111561474d57610440511815611861576103e05161048052610400516104a05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6103e05114156117e45773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610480525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61040051141561181d5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26104a0525b61042051610140526103c0516101605261048051610180526104a0516101a0526064356101c05261184f6104c06139ab565b6104c0516104e05260206104e06118e7565b600354610420526337951049610440526103c051610460526020610440602461045c610420515afa1561474d57601f3d111561474d57610440516118a757600454610420525b61042051610140526103c051610160526103e05161018052610400516101a0526064356101c0526118d9610440613826565b610440516104605260206104605bf35b637fa5a654811415611f21576004358060a01c61474d57809050610140526024358060a01c61474d57809050610160526044358060a01c61474d57809050610180523461474d576003546101a0526060366101c03763eb85226d610220526101405161024052610160516102605261018051610280526060610220606461023c6101a0515afa1561474d57605f3d111561474d576102208051808060801d81607f1d141561474d57508090506101c0526020810151808060801d81607f1d141561474d57508090506101e05260408101518060011c61474d5780905061020052506355b30b196102405261014051610260526020610240602461025c6101a0515afa1561474d57601f3d111561474d576102405161022052637cdb72b06102605261014051610280526040610260602461027c6101a0515afa1561474d57603f3d111561474d57610260516102405261030036610260376020610200510263940494f161058052610140516105a0526040610580602461059c6101a0515afa1561474d57603f3d111561474d576105800151610560526102005115611bce576359f4f35161058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516102605260208101516102805260408101516102a05260608101516102c05260808101516102e05260a08101516103005260c08101516103205260e08101516103405250634cb088f161058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516104605260208101516104805260408101516104a05260608101516104c05260808101516104e05260a08101516105005260c08101516105205260e0810151610540525061058060006008818352015b61056051610580511415611b9957611bc7565b670de0b6b3a764000061036061058051600881101561474d5760200201528151600101808352811415611b86575b5050611d3a565b6392e3cc2d61058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516102605260208101516102805260408101516102a05260608101516102c05260808101516102e05260a08101516103005260c08101516103205260e081015161034052506352b5155561058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516104605260208101516104805260408101516104a05260608101516104c05260808101516104e05260a08101516105005260c08101516105205260e0810151610540525063ce99e45a61058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516103605260208101516103805260408101516103a05260608101516103c05260808101516103e05260a08101516104005260c08101516104205260e081015161044052505b61058060006008818352015b61056051610580511415611d5957611dd3565b604e601261046061058051600881101561474d57602002015180821061474d5780820390509050101561474d57601261046061058051600881101561474d57602002015180821061474d5780820390509050600a0a61046061058051600881101561474d5760200201528151600101808352811415611d46575b505060086101405160e05260c052604060c020546105805261058051611dfb57600654610580525b63ca3878906105a052610560516105c052610260516105e05261028051610600526102a051610620526102c051610640526102e051610660526103005161068052610320516106a052610340516106c052610220516106e0526102405161070052610360516107205261038051610740526103a051610760526103c051610780526103e0516107a052610400516107c052610420516107e0526104405161080052610460516108205261048051610840526104a051610860526104c051610880526104e0516108a052610500516108c052610520516108e05261054051610900526101c051610920526101e051610940526064356109605260206105a06103c46105bc610580515afa1561474d57601f3d111561474d576105a051610980526020610980f35b634be9ae42811415612c42576004358060a01c61474d57809050610140526024358060a01c61474d57809050610160526044358060a01c61474d57809050610180523461474d576003546101a052610360366101c0376355b30b196105405261014051610560526020610540602461055c6101a0515afa1561474d57601f3d111561474d576105405161052052637cdb72b06105605261014051610580526040610560602461057c6101a0515afa1561474d57603f3d111561474d57610560516105405263eb85226d610560526101405161058052610160516105a052610180516105c0526060610560606461057c6101a0515afa1561474d57605f3d111561474d576105608051808060801d81607f1d141561474d57508090506101c0526020810151808060801d81607f1d141561474d57508090506101e05260408101518060011c61474d5780905061020052506020610200510263940494f161058052610140516105a0526040610580602461059c6101a0515afa1561474d57603f3d111561474d5761058001516105605261020051156121ff576359f4f35161058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516102205260208101516102405260408101516102605260608101516102805260808101516102a05260a08101516102c05260c08101516102e05260e08101516103005250634cb088f161058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516104205260208101516104405260408101516104605260608101516104805260808101516104a05260a08101516104c05260c08101516104e05260e0810151610500525061058060006008818352015b610560516105805114156121ca576121f8565b670de0b6b3a764000061032061058051600881101561474d57602002015281516001018083528114156121b7575b505061236b565b6392e3cc2d61058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516102205260208101516102405260408101516102605260608101516102805260808101516102a05260a08101516102c05260c08101516102e05260e081015161030052506352b5155561058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516104205260208101516104405260408101516104605260608101516104805260808101516104a05260a08101516104c05260c08101516104e05260e0810151610500525063ce99e45a61058052610140516105a052610100610580602461059c6101a0515afa1561474d5760ff3d111561474d5761058080516103205260208101516103405260408101516103605260608101516103805260808101516103a05260a08101516103c05260c08101516103e05260e081015161040052505b61058060006008818352015b6105605161058051141561238a57612404565b604e601261042061058051600881101561474d57602002015180821061474d5780820390509050101561474d57601261042061058051600881101561474d57602002015180821061474d5780820390509050600a0a61042061058051600881101561474d5760200201528151600101808352811415612377575b505060086101405160e05260c052604060c02054610580526105805161242c57600654610580525b63138f41f16105a052610560516105c052610220516105e0526102405161060052610260516106205261028051610640526102a051610660526102c051610680526102e0516106a052610300516106c052610520516106e052610540516107005261032051610720526103405161074052610360516107605261038051610780526103a0516107a0526103c0516107c0526103e0516107e052610400516108005261042051610820526104405161084052610460516108605261048051610880526104a0516108a0526104c0516108c0526104e0516108e05261050051610900526101c051610920526101e05161094052606435610960526084356109805260a4356109a05260c4356109c05260e4356109e05261010435610a005261012435610a205261014435610a405261016435610a605261018435610a80526101a435610aa0526101c435610ac0526101e435610ae05261020435610b005261022435610b205261024435610b405261026435610b605261028435610b80526102a435610ba0526102c435610bc0526102e435610be05261030435610c005261032435610c205261034435610c405261036435610c605261038435610c80526103a435610ca0526103c435610cc0526103e435610ce05261040435610d005261042435610d205261044435610d405261046435610d605261048435610d80526104a435610da0526104c435610dc0526104e435610de05261050435610e005261052435610e205261054435610e405261056435610e605261058435610e80526105a435610ea0526105c435610ec0526105e435610ee05261060435610f005261062435610f205261064435610f405261066435610f605261068435610f80526106a435610fa0526106c435610fc0526106e435610fe052610704356110005261072435611020526107443561104052610764356110605261078435611080526107a4356110a0526107c4356110c0526107e4356110e052610804356111005261082435611120526108443561114052610864356111605261088435611180526108a4356111a0526108c4356111c0526108e4356111e052610904356112005261092435611220526109443561124052610964356112605261098435611280526109a4356112a0526109c4356112c0526109e4356112e052610a043561130052610a243561132052610a443561134052610a643561136052610a843561138052610aa4356113a052610ac4356113c052610ae4356113e052610b043561140052610b243561142052610b443561144052610b643561146052610b843561148052610ba4356114a052610bc4356114c052610be4356114e052610c043561150052610c243561152052610c443561154052610c643561156052610c843561158052610ca4356115a052610cc4356115c052610c806105a06110246105bc610580515afa1561474d57610c7f3d111561474d576105a080516115e05260208101516116005260408101516116205260608101516116405260808101516116605260a08101516116805260c08101516116a05260e08101516116c0526101008101516116e052610120810151611700526101408101516117205261016081015161174052610180810151611760526101a0810151611780526101c08101516117a0526101e08101516117c0526102008101516117e052610220810151611800526102408101516118205261026081015161184052610280810151611860526102a0810151611880526102c08101516118a0526102e08101516118c0526103008101516118e052610320810151611900526103408101516119205261036081015161194052610380810151611960526103a0810151611980526103c08101516119a0526103e08101516119c0526104008101516119e052610420810151611a0052610440810151611a2052610460810151611a4052610480810151611a60526104a0810151611a80526104c0810151611aa0526104e0810151611ac052610500810151611ae052610520810151611b0052610540810151611b2052610560810151611b4052610580810151611b60526105a0810151611b80526105c0810151611ba0526105e0810151611bc052610600810151611be052610620810151611c0052610640810151611c2052610660810151611c4052610680810151611c60526106a0810151611c80526106c0810151611ca0526106e0810151611cc052610700810151611ce052610720810151611d0052610740810151611d2052610760810151611d4052610780810151611d60526107a0810151611d80526107c0810151611da0526107e0810151611dc052610800810151611de052610820810151611e0052610840810151611e2052610860810151611e4052610880810151611e60526108a0810151611e80526108c0810151611ea0526108e0810151611ec052610900810151611ee052610920810151611f0052610940810151611f2052610960810151611f4052610980810151611f60526109a0810151611f80526109c0810151611fa0526109e0810151611fc052610a00810151611fe052610a2081015161200052610a4081015161202052610a6081015161204052610a8081015161206052610aa081015161208052610ac08101516120a052610ae08101516120c052610b008101516120e052610b2081015161210052610b4081015161212052610b6081015161214052610b8081015161216052610ba081015161218052610bc08101516121a052610be08101516121c052610c008101516121e052610c2081015161220052610c4081015161222052610c608101516122405250610c806115e0f35b637b3d22cf811415612c6b5760006102605260006102805260006102a05260006102c052612cc4565b63e6eabf238114156132d6576102c4358060a01c61474d57809050610260526102e4358060a01c61474d5780905061028052610304358060a01c61474d578090506102a052610324358060a01c61474d578090506102c0525b6004358060a01c61474d57809050610140526024358060a01c61474d57809050610160526044358060a01c61474d57809050610180526064358060a01c61474d578090506101a0526084358060a01c61474d578090506101c05260a4358060a01c61474d578090506101e05260c4358060a01c61474d578090506102005260e4358060a01c61474d5780905061022052610104358060a01c61474d57809050610240523461474d576102a4356102e05261030060016004818352015b61014061030051600280820282158284830414171561474d5780905090509050600180821061474d5780820390509050600981101561474d5760200201516103205261026061030051600180821061474d5780820390509050600481101561474d57602002015161034052606061030051600180821061474d5780820390509050026101240180356103605260208101356103805260408101356103a0525060016103a0511415612e8957635e0d443f6103c05261036051604051811161474d576103e05261038051604051811161474d57610400526102e0516104205260206103c060646103dc610320515afa1561474d57601f3d111561474d576103c0516102e052613256565b60026103a0511415612ef3576307211ef76103c05261036051604051811161474d576103e05261038051604051811161474d57610400526102e0516104205260206103c060646103dc610320515afa1561474d57601f3d111561474d576103c0516102e052613255565b60036103a0511415612f4b5763556d6e9f6103c052610360516103e05261038051610400526102e0516104205260206103c060646103dc610320515afa1561474d57601f3d111561474d576103c0516102e052613254565b60046103a0511415612fa3576385f11d1e6103c052610360516103e05261038051610400526102e0516104205260206103c060646103dc610320515afa1561474d57601f3d111561474d576103c0516102e052613253565b60056103a051141561300d576307211ef76103c05261036051604051811161474d576103e05261038051604051811161474d57610400526102e0516104205260206103c060646103dc610340515afa1561474d57601f3d111561474d576103c0516102e052613252565b60066103a05114156130885760006103c05260006103e0526102e0516103c061036051600281101561474d57602002015263ed8e84f3610400526103c051610420526103e051610440526001610460526020610400606461041c610320515afa1561474d57601f3d111561474d57610400516102e052613251565b60076103e05260086104005260006103c0526103c061012060006002818352015b610120516020026103e001516103a05114156130c857600183526130d8565b81516001018083528114156130a9575b5050506103c05115613161576000610420526000610440526000610460526102e05161042061036051600381101561474d576020020152633883e11961048052610420516104a052610440516104c052610460516104e0526001610500526020610480608461049c610320515afa1561474d57601f3d111561474d57610480516102e052613250565b60096103e052600a6104005260006103c0526103c061012060006002818352015b610120516020026103e001516103a05114156131a157600183526131b1565b8151600101808352811415613182575b5050506103c0511561320a5763cc2b27d7610420526102e0516104405261038051604051811161474d57610460526020610420604461043c610320515afa1561474d57601f3d111561474d57610420516102e05261324f565b6308c379a06103c05260206103e052600d610400527f4261642073776170207479706500000000000000000000000000000000000000610420526104005060646103dcfd5b5b5b5b5b5b5b5b60046103005114156132695760016132ab565b61014061030051600280820282158284830414171561474d57809050905090506001818183011061474d5780820190509050600981101561474d576020020151155b156132b5576132c5565b8151600101808352811415612d80575b50506102e051610300526020610300f35b635d7dc825811415613341576004358060a01c61474d57809050610140523461474d5760086101405160e05260c052604060c02054610160526101605161332c5760065461018052602061018061333f5661333e565b6101605161018052602061018061333f565b5bf35b634bbc5b1f81141561341d573461474d576002546101405263a262904b610160526020610160600461017c610140515afa1561474d57601f3d111561474d57610160518060a01c61474d5780905060035563493f4f74610160526003610180526020610160602461017c610140515afa1561474d57601f3d111561474d57610160518060a01c61474d5780905060045563493f4f74610160526005610180526020610160602461017c610140515afa1561474d57601f3d111561474d57610160518060a01c61474d578090506005556001610160526020610160f35b63188c7ee58114156134a6576004358060a01c61474d57809050610140526024358060a01c61474d57809050610160523461474d5763f851a440610180526020610180600461019c6002545afa1561474d57601f3d111561474d576101805133141561474d576101605160086101405160e05260c052604060c020556001610180526020610180f35b63da3fb2ab81141561350e576004358060a01c61474d57809050610140523461474d5763f851a440610160526020610160600461017c6002545afa1561474d57601f3d111561474d576101605133141561474d57610140516006556001610160526020610160f35b63752d53c681141561371f576004358060a01c61474d57809050610140523461474d5763f851a440610160526020610160600461017c6002545afa1561474d57601f3d111561474d576101605133141561474d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101405114156135bb576000610160526101608051602001806101808284600060045af11561474d57505060006000610180516101a047335af11561474d57613712565b6370a0823161018052306101a0526020610180602461019c610140515afa1561474d57601f3d111561474d576101805161016052600060046101c0527fa9059cbb000000000000000000000000000000000000000000000000000000006101e0526101c060048060208461020001018260208501600060045af15050805182019150503360208261020001015260208101905061016051602082610200010152602081019050806102005261020090508051602001806102808284600060045af11561474d5750506020610320610280516102a06000610140515af11561474d5760203d808211156136ad57806136af565b815b90509050610300526103008051602001806101808284600060045af11561474d575050600061018051181561371157610180806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b6001610160526020610160f35b6390b22997811415613787576004358060011c61474d57809050610140523461474d5763f851a440610160526020610160600461017c6002545afa1561474d57601f3d111561474d576101605133141561474d57610140516007556001610160526020610160f35b637b1039998114156137a6573461474d57600354610140526020610140f35b63f7cbf4c68114156137c5573461474d57600454610140526020610140f35b63f3b8f8298114156137e4573461474d57600554610140526020610140f35b633b359fc8811415613803573461474d57600654610140526020610140f35b639c868ac0811415613822573461474d57600754610140526020610140f35b505b005b6060366101e03763eb85226d61024052610160516102605261018051610280526101a0516102a0526060610240606461025c610140515afa1561474d57605f3d111561474d576102408051808060801d81607f1d141561474d57508090506101e0526020810151808060801d81607f1d141561474d57508090506102005260408101518060011c61474d578090506102205250610220511561390f576003546101405114156138d657600161390a565b63e4d332a96103005261016051610320526020610300602461031c610140515afa1561474d57601f3d111561474d57610300515b613912565b60005b15613962576307211ef7610340526101e0516103605261020051610380526101c0516103a0526020610340606461035c610160515afa1561474d57601f3d111561474d57610340518152506139a9565b635e0d443f610240526101e0516102605261020051610280526101c0516102a0526020610240606461025c610160515afa1561474d57601f3d111561474d57610240518152505b565b6040366101e03763eb85226d61022052610160516102405261018051610260526101a051610280526040610220606461023c610140515afa1561474d57603f3d111561474d5761022080516101e0526020810151610200525063556d6e9f610220526101e0516102405261020051610260526101c051610280526020610220606461023c610160515afa1561474d57601f3d111561474d5761022051815250565b60075461474d5760a0366102403763eb85226d6102e052610160516103005261018051610320526101a0516103405260606102e060646102fc610140515afa1561474d57605f3d111561474d576102e08051808060801d81607f1d141561474d5750809050610280526020810151808060801d81607f1d141561474d57508090506102a05260408101518060011c61474d578090506102c052506102c05115613b3c57600454610140511415613b345763e4d332a96103205261016051610340526020610320602461033c610140515afa1561474d57601f3d111561474d5761032051613b37565b60005b613b3f565b60005b15613cb757600a6101605160e05260c052604060c0208054610360526001810154610380525061036051613c0f5763c66106576103a05260006103c05260206103a060246103bc610160515afa1561474d57601f3d111561474d576103a0518060a01c61474d578090506103605263c66106576103e05260016104005260206103e060246103fc610160515afa1561474d57601f3d111561474d576103e0518060a01c61474d5780905061038052600a6101605160e05260c052604060c020610360518155610380516001820155505b60006103e0526103e061012060006002818352015b610120516020026103600151610180511415613c435760018352613c53565b8151600101808352811415613c24575b5050506103e051613c65576001613cb2565b60006104005261040061012060006002818352015b6101205160200261036001516101a0511415613c995760018352613ca9565b8151600101808352811415613c7a575b50505061040051155b6102c0525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610180511415613ce3576101c05161024052613db4565b6323b872dd610324526004610200516103445230610364526101c05161038452606001610320526103208051602001806103c08284600060045af11561474d57505060206104806103c0516103e06000610180515af11561474d5760203d80821115613d4f5780613d51565b815b90509050610460526104608051602001806102e08284600060045af11561474d57505060006102e0511815613db3576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610180511815613dfa5760096101805160e05260c052604060c0206101605160e05260c052604060c0205415613dfd565b60005b15613f0e5763095ea7b361032452600461016051610344527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036452604001610320526103208051602001806103a08284600060045af11561474d57505060206104406103a0516103c06000610180515af11561474d5760203d80821115613e865780613e88565b815b90509050610420526104208051602001806102e08284600060045af11561474d57505060006102e0511815613eea576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b600160096101805160e05260c052604060c0206101605160e05260c052604060c020555b6102c05115613f675763a6417ed66102e05261028051610300526102a051610320526101c051610340526101e05161036052610160513b1561474d576000600060846102fc61024051610160515af11561474d57613fb3565b633df021246102e05261028051610300526102a051610320526101c051610340526101e05161036052610160513b1561474d576000600060846102fc61024051610160515af11561474d575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101a051141561401457476102605260006102e0526102e08051602001806103008284600060045af11561474d575050600060006103005161032047610220515af11561474d57614114565b6370a082316102e052306103005260206102e060246102fc6101a0515afa1561474d57601f3d111561474d576102e0516102605263a9059cbb61032452600461022051610344526102605161036452604001610320526103208051602001806103a08284600060045af11561474d57505060206104406103a0516103c060006101a0515af11561474d5760203d808211156140af57806140b1565b815b90509050610420526104208051602001806102e08284600060045af11561474d57505060006102e0511815614113576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b6101605161022051610200517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe46610180516102e0526101a051610300526101c05161032052610260516103405260806102e0a461026051815250565b60075461474d576101605161022052610180516102405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101605114156141c05773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610220525b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101805114156141f95773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610240525b6080366102603763eb85226d6102e05261014051610300526102205161032052610240516103405260406102e060646102fc6005545afa1561474d57603f3d111561474d576102e080516102a05260208101516102c0525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61016051141561427d576101a0516102605261434e565b6323b872dd6103245260046101e0516103445230610364526101a05161038452606001610320526103208051602001806103c08284600060045af11561474d57505060206104806103c0516103e06000610160515af11561474d5760203d808211156142e957806142eb565b815b90509050610460526104608051602001806102e08284600060045af11561474d57505060006102e051181561434d576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b60096101605160e05260c052604060c0206101405160e05260c052604060c0205461447f5763095ea7b361032452600461014051610344527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036452604001610320526103208051602001806103a08284600060045af11561474d57505060206104406103a0516103c06000610160515af11561474d5760203d808211156143f757806143f9565b815b90509050610420526104208051602001806102e08284600060045af11561474d57505060006102e051181561445b576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b600160096101605160e05260c052604060c0206101405160e05260c052604060c020555b6101605161030052610180516103205260006102e0526102e061012060006002818352015b61012051602002610300015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156144d457600183526144e4565b81516001018083528114156144a4575b5050506102e051156145465763394747c5610340526102a051610360526102c051610380526101a0516103a0526101c0516103c05260016103e052610140513b1561474d576000600060a461035c61026051610140515af11561474d57614590565b635b41b9086102e0526102a051610300526102c051610320526101a051610340526101c05161036052610140513b1561474d576000600060846102fc6000610140515af11561474d575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101805114156145f157476102805260006102e0526102e08051602001806103008284600060045af11561474d575050600060006103005161032047610200515af11561474d576146f1565b6370a082316102e052306103005260206102e060246102fc610180515afa1561474d57601f3d111561474d576102e0516102805263a9059cbb61032452600461020051610344526102805161036452604001610320526103208051602001806103a08284600060045af11561474d57505060206104406103a0516103c06000610180515af11561474d5760203d8082111561468c578061468e565b815b90509050610420526104208051602001806102e08284600060045af11561474d57505060006102e05118156146f0576102e0806020015160008251806020901361474d578091901261474d57806020036101000a82049050905090501561474d575b5b61014051610200516101e0517fbd3eb7bcfdd1721a4eb4f00d0df3ed91bd6f17222f82b2d7bce519d8cab3fe46610160516102e05261018051610300526101a05161032052610280516103405260806102e0a461028051815250565b600080fd5b61011461486603610114600039610114614866036000f35b600080fd0000000000000000000000000000000022d53366457f9d5e68ec105046fc43830000000000000000000000000000000000000000000000000000000000000000