0 txs
0 calls
constructor
constructor(address _fee_receiver)
functions
admin
viewfunction admin() view returns (address)
base_pool_count
viewfunction base_pool_count() view returns (uint256)
base_pool_list
viewfunction base_pool_list(uint256 arg0) view returns (address)
fee_receiver
viewfunction fee_receiver() view returns (address)
find_pool_for_coins
viewfunction find_pool_for_coins(address _from, address _to, uint256 i) view returns (address)
find_pool_for_coins
viewfunction find_pool_for_coins(address _from, address _to) view returns (address)
future_admin
viewfunction future_admin() view returns (address)
gauge_implementation
viewfunction gauge_implementation() view returns (address)
get_A
viewfunction get_A(address _pool) view returns (uint256)
get_admin_balances
viewfunction get_admin_balances(address _pool) view returns (uint256[4])
get_balances
viewfunction get_balances(address _pool) view returns (uint256[4])
get_base_pool
viewfunction get_base_pool(address _pool) view returns (address)
get_coin_indices
viewfunction get_coin_indices(address _pool, address _from, address _to) view returns (int128, int128, bool)
get_coins
viewfunction get_coins(address _pool) view returns (address[4])
get_decimals
viewfunction get_decimals(address _pool) view returns (uint256[4])
get_fee_receiver
viewfunction get_fee_receiver(address _pool) view returns (address)
get_fees
viewfunction get_fees(address _pool) view returns (uint256, uint256)
get_gauge
viewfunction get_gauge(address _pool) view returns (address)
get_implementation_address
viewfunction get_implementation_address(address _pool) view returns (address)
get_meta_n_coins
viewfunction get_meta_n_coins(address _pool) view returns (uint256, uint256)
get_metapool_rates
viewfunction get_metapool_rates(address _pool) view returns (uint256[2])
get_n_coins
viewfunction get_n_coins(address _pool) view returns (uint256)
get_pool_asset_type
viewfunction get_pool_asset_type(address _pool) view returns (uint256)
get_underlying_balances
viewfunction get_underlying_balances(address _pool) view returns (uint256[8])
get_underlying_coins
viewfunction get_underlying_coins(address _pool) view returns (address[8])
get_underlying_decimals
viewfunction get_underlying_decimals(address _pool) view returns (uint256[8])
is_meta
viewfunction is_meta(address _pool) view returns (bool)
manager
viewfunction manager() view returns (address)
metapool_implementations
viewfunction metapool_implementations(address _base_pool) view returns (address[10])
plain_implementations
viewfunction plain_implementations(uint256 arg0, uint256 arg1) view returns (address)
pool_count
viewfunction pool_count() view returns (uint256)
pool_list
viewfunction pool_list(uint256 arg0) view returns (address)
accept_transfer_ownership
nonpayablefunction accept_transfer_ownership()
add_base_pool
nonpayablefunction add_base_pool(address _base_pool, address _fee_receiver, uint256 _asset_type, address[10] _implementations)
batch_set_pool_asset_type
nonpayablefunction batch_set_pool_asset_type(address[32] _pools, uint256[32] _asset_types)
commit_transfer_ownership
nonpayablefunction commit_transfer_ownership(address _addr)
convert_metapool_fees
nonpayablefunction convert_metapool_fees() returns (bool)
deploy_gauge
nonpayablefunction deploy_gauge(address _pool) returns (address)
deploy_metapool
nonpayablefunction deploy_metapool(address _base_pool, string _name, string _symbol, address _coin, uint256 _A, uint256 _fee, uint256 _implementation_idx) returns (address)
deploy_metapool
nonpayablefunction deploy_metapool(address _base_pool, string _name, string _symbol, address _coin, uint256 _A, uint256 _fee) returns (address)
deploy_plain_pool
nonpayablefunction deploy_plain_pool(string _name, string _symbol, address[4] _coins, uint256 _A, uint256 _fee, uint256 _asset_type, uint256 _implementation_idx) returns (address)
deploy_plain_pool
nonpayablefunction deploy_plain_pool(string _name, string _symbol, address[4] _coins, uint256 _A, uint256 _fee, uint256 _asset_type) returns (address)
deploy_plain_pool
nonpayablefunction deploy_plain_pool(string _name, string _symbol, address[4] _coins, uint256 _A, uint256 _fee) returns (address)
set_fee_receiver
nonpayablefunction set_fee_receiver(address _base_pool, address _fee_receiver)
set_gauge_implementation
nonpayablefunction set_gauge_implementation(address _gauge_implementation)
set_gauge
nonpayablefunction set_gauge(address _pool, address _gauge)
set_manager
nonpayablefunction set_manager(address _manager)
set_metapool_implementations
nonpayablefunction set_metapool_implementations(address _base_pool, address[10] _implementations)
set_plain_implementations
nonpayablefunction set_plain_implementations(uint256 _n_coins, address[10] _implementations)
events
BasePoolAdded
event BasePoolAdded(address base_pool)
LiquidityGaugeDeployed
event LiquidityGaugeDeployed(address pool, address gauge)
MetaPoolDeployed
event MetaPoolDeployed(address coin, address base_pool, uint256 A, uint256 fee, address deployer)
PlainPoolDeployed
event PlainPoolDeployed(address[4] coins, uint256 A, uint256 fee, address deployer)
errors
No errors.
creation bytecode
0x602061338e6000396000518060a01c61338957604052346133895733600055336002556040516402000000085561334a61003e6100003961334a610000f36003361161000c57613332565b60003560e01c346133385763970fa3f381186100a65760243610613338576004358060a01c61333857604052640200000006604051602052600052604060002080546060526001810154608052600281015460a052600381015460c052600481015460e052600581015461010052600681015461012052600781015461014052600881015461016052600981015461018052506101406060f35b63a87df06c81186100c357604436106133385760006080526100dd565b636982eb0b81186101335760643610613338576044356080525b6004358060a01c613338576040526024358060a01c613338576060526060516040511860a05264020000000a60a051602052600052604060002060805163ffffffff811161333857810190505460c052602060c0f35b636f20d6dd81186101725760243610613338576004358060a01c6133385760405264010000000460405160205260005260406000205460605260206060f35b63940494f181186101b75760243610613338576004358060a01c613338576040526401000000046040516020526000526040600020600b810190505460605260206060f35b63eb73f37d81186102265760243610613338576004358060a01c6133385760405264010000000460405160205260005260406000205460605260026080526402000000066060516020526000526040600020601581019050546001810181811061333857905060a05260406080f35b639ac90d3d81186102855760243610613338576004358060a01c61333857604052640100000004604051602052600052604060002060038101905080546060526001810154608052600281015460a052600381015460c0525060806060f35b63a77576ef81186103765760243610613338576004358060a01c613338576040526101003660603764010000000460405160205260005260406000205461016052610160511561333857640100000004604051602052600052604060002060038101905054606052600160078101905b8061018052640200000006610160516020526000526040600020600c8101905061018051600181038181116133385790506007811161333857810190505461018051600781116133385760051b6060015261018051600781116133385760051b606001516103625761036d565b6001018181186102f5575b50506101006060f35b6352b51555811861043c5760243610613338576004358060a01c61333857604052640100000004604051602052600052604060002054156103fd57608036606037640100000004604051602052600052604060002060078101905080546060526001810154608052600281015460a052600381015460c0525060126080526080606061043a565b640100000004604051602052600052604060002060078101905080546060526001810154608052600281015460a052600381015460c05250608060605bf35b634cb088f181186105b55760243610613338576004358060a01c61333857604052608036606037640100000004604051602052600052604060002060078101905080546060526001810154608052600281015460a052600381015460c052506101003660e03760605160e0526401000000046040516020526000526040600020546101e0526402000000066101e0516020526000526040600020601481019050546102005260006008905b8061022052610200516102205180607f1c613338577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8810280600f0b81186133385790507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81131561055b5781811b610562565b81816000031c5b9050905060ff81169050610240526102405161057d576105ac565b610240516102205160018101818110613338579050600781116133385760051b60e001526001018181186104e7575b505061010060e0f35b6306d8f16081186106345760243610613338576004358060a01c61333857604052670de0b6b3a7640000606052600060805264010000000460405160205260005260406000205463bb7b8b8060a052602060a0600460bc845afa61061e573d600060003e3d6000fd5b60203d106133385760a090505160805260406060f35b6392e3cc2d81186107ae5760243610613338576004358060a01c61333857604052640100000004604051602052600052604060002054156106f457604051634903b0d16060526000608052602060606024607c845afa610699573d600060003e3d6000fd5b60203d1061333857606090505160e052604051634903b0d160a052600160c052602060a0602460bc845afa6106d3573d600060003e3d6000fd5b60203d106133385760a09050516101005260403661012037608060e06107ac565b6401000000046040516020526000526040600020600b810190505460605260803660803760006004905b8061010052606051610100511061074957600061010051600381116133385760051b6080015261079b565b604051634903b0d16101205261010051610140526020610120602461013c845afa610779573d600060003e3d6000fd5b60203d106133385761012090505161010051600381116133385760051b608001525b60010181811861071e575050608060805bf35b6359f4f35181186109f25760243610613338576004358060a01c6133385760405261010036606037604051634903b0d1610160526000610180526020610160602461017c845afa610804573d600060003e3d6000fd5b60203d10613338576101609050516060526401000000046040516020526000526040600020600381019050600181019050546318160ddd610180526020610180600461019c845afa61085b573d600060003e3d6000fd5b60203d10613338576101809050516101605261016051156109eb57604051634903b0d16101a05260016101c05260206101a060246101bc845afa6108a4573d600060003e3d6000fd5b60203d10613338576101a09050516ec097ce7bc90715b34b9f10000000008102816ec097ce7bc90715b34b9f10000000008204186133385790506101605180156133385780820490509050610180526401000000046040516020526000526040600020546101a0526101a05115613338576402000000066101a0516020526000526040600020601581019050546101c05260006008905b806101e0526101c0516101e05118610952576109e8565b6101a051634903b0d1610200526101e051610220526020610200602461021c845afa610983573d600060003e3d6000fd5b60203d10613338576102009050516101805180820281158383830414171561333857905090506ec097ce7bc90715b34b9f1000000000810490506101e05160018101818110613338579050600781116133385760051b6060015260010181811861093b575b50505b6101006060f35b6355b30b198118610a485760243610613338576004358060a01c61333857604052602060405163f446c1d0606052602060606004607c845afa610a3a573d600060003e3d6000fd5b60203d106133385760609050f35b637cdb72b08118610ada5760243610613338576004358060a01c6133385760405260405163ddca3f43606052602060606004607c845afa610a8e573d600060003e3d6000fd5b60203d1061333857606090505160e05260405163fee3f7f960a052602060a0600460bc845afa610ac3573d600060003e3d6000fd5b60203d106133385760a090505161010052604060e0f35b63c11e45b88118610b9f5760243610613338576004358060a01c613338576040526401000000046040516020526000526040600020600b810190505460605260803660803760006004905b80610100526060516101005118610b3b57610b97565b60405163e2e7d2646101205261010051610140526020610120602461013c845afa610b6b573d600060003e3d6000fd5b60203d106133385761012090505161010051600381116133385760051b60800152600101818118610b25575b505060806080f35b63eb85226d8118610ead5760643610613338576004358060a01c613338576040526024358060a01c613338576060526044358060a01c6133385760805264010000000460405160205260005260406000206003810190505460a05264010000000460405160205260005260406000205460c05260a0516060518118610c25576001610c2c565b6080518118155b9050610c39576000610c3f565b60c05115155b15610cb15764010000000460405160205260005260406000206003810190506001810190505461010052610100516060518118610c7d576001610c84565b6080518118155b905015610cb15760a051608051146101405260a05160605114610160526000610180526060610140610eab565b60603660e03760006008905b806101405260c051610d765760046101405110610d3a576013610160527f4e6f20617661696c61626c65206d61726b6574000000000000000000000000006101805261016050610160518061018001601f826000031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b6101405115610dbb576401000000046040516020526000526040600020600381019050610140516003811161333857810190505460a052610dbb565b6101405115610dbb5764020000000660c0516020526000526040600020600c8101905061014051600181038181116133385790506007811161333857810190505460a0525b60a051610e28576013610160527f4e6f20617661696c61626c65206d61726b6574000000000000000000000000006101805261016050610160518061018001601f826000031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b60605160a05118610e48576101405180607f1c6133385761010052610e6c565b60805160a05118610e7f576101405180607f1c6133385761012052610e6c56610e7f565b60e05115610e7957610e8a565b600160e0525b600101818118610cbd575b50506101005161014052610120516101605260c05115156101805260606101405bf35b63daf297b98118610ef25760243610613338576004358060a01c6133385760405264010000000460405160205260005260406000206002810190505460605260206060f35b63510d98a48118610f375760243610613338576004358060a01c6133385760405264010000000460405160205260005260406000206001810190505460605260206060f35b63e4d332a98118610f785760243610613338576004358060a01c61333857604052640100000004604051602052600052604060002054151560605260206060f35b6366d3966c81186110085760243610613338576004358060a01c61333857604052640100000004604051602052600052604060002054606052606051610fe3576401000000046040516020526000526040600020600c81019050546080526020608061100656611006565b640200000006606051602052600052604060002060168101905054608052602060805bf35b63154aa8f581186110845760243610613338576004358060a01c6133385760405264010000000460405160205260005260406000205460605260605161105f57640200000008546080526020608061108256611082565b6402000000066060516020526000526040600020600b8101905054608052602060805bf35b63cd419bb581186110a457610144361061333857604036610140376110e9565b635c16487b81186110cb5761016436106133385761010435610140526000610160526110e9565b6352f2db698118611a7d576101843610613338576040610104610140375b600435600401602081351161333857803580604052602082018035606052505050602435600401600a8135116133385780358060805260208201803560a0525050506044358060a01c6133385760c0526064358060a01c6133385760e0526084358060a01c613338576101005260a4358060a01c613338576101205260e4351561117d5764012a05f1ff60e4351115611180565b60005b6111ea57600b610180527f496e76616c6964206665650000000000000000000000000000000000000000006101a0526101805061018051806101a001601f826000031636823750506308c379a061014052602061016052601f19601f61018051011660440161015cfd5b600461018052610100366101a03760006004905b806102a0526102a051600381116133385760051b60c001516102c0526102c0516112a15760026102a05110156112945760126102e0527f496e73756666696369656e7420636f696e730000000000000000000000000000610300526102e0506102e0518061030001601f826000031636823750506308c379a06102a05260206102c052601f19601f6102e05101166044016102bcfd5b6102a05161018052611555565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102a051600381116133385760051b60c0015118611348576102a0511561133d5760166102e0527f455448206d75737420626520666972737420636f696e00000000000000000000610300526102e0506102e0518061030001601f826000031636823750506308c379a06102a05260206102c052601f19601f6102e05101166044016102bcfd5b601261022052611415565b6102c05163313ce5676102e05260206102e060046102fc845afa611371573d600060003e3d6000fd5b60203d10613338576102e09050516102a051600381116133385760051b610220015260126102a051600381116133385760051b610220015111156114155760196102e0527f4d617820313820646563696d616c7320666f7220636f696e7300000000000000610300526102e0506102e0518061030001601f826000031636823750506308c379a06102a05260206102c052601f19601f6102e05101166044016102bcfd5b6102a051600381116133385760051b61022001518060240360248111613338579050604d81116133385780600a0a90506102a051600381116133385760051b6101a001526102a05160048101905b806102e05260046102e051600181018181106133385790501861148557611548565b6102e05160018101818110613338579050600381116133385760051b60c001516114ae57611548565b6102e05160018101818110613338579050600381116133385760051b60c001516102c0511861153d57600f610300527f4475706c696361746520636f696e7300000000000000000000000000000000006103205261030050610300518061032001601f826000031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd5b600101818118611463575b50506001018181186111fe575b505064020000000761018051602052600052604060002061016051600981116133385781019050546102a0526102a0516115ef57601c6102c0527f496e76616c696420696d706c656d656e746174696f6e20696e646578000000006102e0526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b7f602d3d8160093d39f3363d3d373d3d3d363d73000000000000000000000000006102e0526102a05160601b6102f3527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006103075260366102e06000f08015613338576102c0526102c05163a461b3c86102e0526101808061030052806103000160405180825260208201606051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806103205280610300016080518082526020820160a051815250508051806020830101601f82600003163682375050601f19601f8251602001011690508101905060c0516103405260e051610360526101005161038052610120516103a0526101a0516103c0526101c0516103e0526101e051610400526102005161042052604060c46104403750803b156133385760006102e06102046102fc6000855af1611755573d600060003e3d6000fd5b50640100000003546102e0526102c0516102e05163ffffffff811161333857600301556102e05160018101818110613338579050640100000003556401000000046102c051602052600052604060002060078101905061022051815561024051600182015561026051600282015561028051600382015550610180516401000000046102c0516020526000526040600020600b810190505560006401000000046102c0516020526000526040600020556102a0516401000000046102c051602052600052604060002060018101905055610140511561184f57610140516401000000046102c0516020526000526040600020600c81019050555b60006004905b806103005261030051600381116133385760051b60c00151610320526103205161187e57611a22565b610320516401000000046102c0516020526000526040600020600381019050610300516003811161333857810190505560006004610340527f095ea7b30000000000000000000000000000000000000000000000000000000061036052610340805160208201836103a001815181525050808301925050506102c051816103a001526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff816103a001526020810190508061038052610380505060006000610380516103a06000610320515af161195f573d600060003e3d6000fd5b60006004905b806103405261034051610300511015611a0b5761034051600381116133385760051b60c00151610360526103605161032051186103805264020000000b610380516020526000526040600020546102e0526102c05164020000000a6103805160205260005260406000206102e05163ffffffff81116133385781019050556102e0516001810181811061333857905064020000000b610380516020526000526040600020555b600101818118611965575050600101818118611855575b50507f5b4a28c940282b5bf183df6a046b8119cf6edeb62859f75e835eb7ba834cce8d60c0516103005260e0516103205261010051610340526101205161036052604060c461038037336103c05260e0610300a160206102c0f35b63e339eb4f8118611a9c57610104361061333857600061010052611ab8565b63de7fe3bf81186121065761012436106133385760c435610100525b6004358060a01c61333857604052602435600401602081351161333857803580606052602082018035608052505050604435600401600a8135116133385780358060a05260208201803560c0525050506064358060a01c6133385760e05260a43515611b2e5764012a05f1ff60a4351115611b31565b60005b611b9957600b610120527f496e76616c6964206665650000000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b640200000006604051602052600052604060002061010051600981116133385781019050546101205261012051611c3057601c610140527f496e76616c696420696d706c656d656e746174696f6e20696e646578000000006101605261014050610140518061016001601f826000031636823750506308c379a061010052602061012052601f19601f61014051011660440161011cfd5b60e05163313ce567610160526020610160600461017c845afa611c58573d600060003e3d6000fd5b60203d1061333857610160905051610140526012610140511115611cdc576019610160527f4d617820313820646563696d616c7320666f7220636f696e73000000000000006101805261016050610160518061018001601f826000031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610180526101205160601b610193527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006101a75260366101806000f080156133385761016052610160516398094be06101805260c0806101a052806101a00160605180825260208201608051815250508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101c052806101a00160a0518082526020820160c051815250508051806020830101601f82600003163682375050601f19601f8251602001011690508101905060e0516101e052610140518060240360248111613338579050604d81116133385780600a0a905061020052604060846102203750803b1561333857600061018061014461019c6000855af1611e2e573d600060003e3d6000fd5b5060e05163095ea7b361018052610160516101a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101c052803b15613338576000610180604461019c6000855af1611e8d573d600060003e3d6000fd5b506401000000035461018052610160516101805163ffffffff811161333857600301556101805160018101818110613338579050640100000003556402000000066040516020526000526040600020600a81019050546101a052640100000004610160516020526000526040600020600781019050610140518155600060018201556000600282015560006003820155506002640100000004610160516020526000526040600020600b81019050556040516401000000046101605160205260005260406000205560e051640100000004610160516020526000526040600020600381019050556402000000066040516020526000526040600020600a810190505464010000000461016051602052600052604060002060038101905060018101905055610120516401000000046101605160205260005260406000206001810190505560006101c05260006008905b806101e0526402000000066040516020526000526040600020600c810190506101e0516007811161333857810190505461020052610200516120285760016101c0526101a051610200525b6102005160e051186102205264020000000b61022051602052600052604060002054610180526101605164020000000a6102205160205260005260406000206101805163ffffffff8111613338578101905055610180516001810181811061333857905064020000000b610220516020526000526040600020556101c051156120b0576120bb565b600101818118611fdd575b50507f01f31cd2abdeb4e5e10ba500f2db0f937d9e8c735ab04681925441b4ea37eda560e0516101e052604051610200526040608461022037336102605260a06101e0a16020610160f35b6396bebb34811861237a5760243610613338576004358060a01c613338576040526401000000046040516020526000526040600020600381019050546121a357600c6060527f556e6b6e6f776e20706f6f6c000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b640100000004604051602052600052604060002060028101905054156122205760166060527f476175676520616c7265616479206465706c6f7965640000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6402000000095460605260605161228e57601c6080527f476175676520696d706c656d656e746174696f6e206e6f74207365740000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b7f602d3d8160093d39f3363d3d373d3d3d363d730000000000000000000000000060a05260605160601b60b3527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060c752603660a06000f080156133385760805260805163c4d66de860a05260405160c052803b1561333857600060a0602460bc6000855af1612323573d600060003e3d6000fd5b506080516401000000046040516020526000526040600020600281019050557f656bb34c20491970a8c163f3bd62ead82022b379c3924960ec60f6dbfc5aab3b60405160a05260805160c052604060a0a160206080f35b632fc0565381186128e7576101a43610613338576004358060a01c613338576040526024358060a01c613338576060526064358060a01c613338576080526084358060a01c6133385760a05260a4358060a01c6133385760c05260c4358060a01c6133385760e05260e4358060a01c6133385761010052610104358060a01c6133385761012052610124358060a01c6133385761014052610144358060a01c6133385761016052610164358060a01c6133385761018052610184358060a01c613338576101a0526000543318613338576402000000066040516020526000526040600020600c81019050546133385763a262904b6101e05260206101e060046101fc6f22d53366457f9d5e68ec105046fc43835afa61249e573d600060003e3d6000fd5b60203d10613338576101e0518060a01c6133385761022052610220516101c0526101c05163940494f161020052604051610220526020610200602461021c845afa6124ee573d600060003e3d6000fd5b60203d10613338576102009050516101e0526101e051156133385764020000000554610200526040516102005163ffffffff81116133385764010000000501556102005160018101818110613338579050640200000005556101c051633795104961022052604051610240526020610220602461023c845afa612576573d600060003e3d6000fd5b60203d1061333857610220518060a01c61333857610260526102609050516402000000066040516020526000526040600020600a81019050556101e0516402000000066040516020526000526040600020601581019050556060516402000000066040516020526000526040600020600b810190505560443515612613576044356402000000066040516020526000526040600020601681019050555b6000600a905b806102205261022051600981116133385760051b60800151610240526102405161264257612676565b6102405164020000000660405160205260005260406000206102205160098111613338578101905055600101818118612619575b50506000610220526101c051639ac90d3d6103405260405161036052610100610340602461035c845afa6126af573d600060003e3d6000fd5b6101003d1061333857610340518060a01c6133385761046052610360518060a01c6133385761048052610380518060a01c613338576104a0526103a0518060a01c613338576104c0526103c0518060a01c613338576104e0526103e0518060a01c6133385761050052610400518060a01c6133385761052052610420518060a01c6133385761054052610460905080516102405260208101516102605260408101516102805260608101516102a05260808101516102c05260a08101516102e05260c08101516103005260e0810151610320525060006008905b80610340526101e05161034051186127a057612896565b61034051600781116133385760051b610240015161036052610360516402000000066040516020526000526040600020600c810190506103405160078111613338578101905055610220516103605163313ce567610380526020610380600461039c845afa612814573d600060003e3d6000fd5b60203d1061333857610380905051610340518060031b818160031c1861333857905080607f1c613338577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81131561286e5781811b612875565b81816000031c5b90509050808201828110613338579050905061022052600101818118612789575b5050610220516402000000066040516020526000526040600020601481019050557fcc6afdfec79da6be08142ecee25cf14b665961e25d30d8eba45959be9547635f604051610340526020610340a1005b63cb956b468118612a68576101643610613338576004358060a01c613338576040526024358060a01c613338576060526044358060a01c613338576080526064358060a01c6133385760a0526084358060a01c6133385760c05260a4358060a01c6133385760e05260c4358060a01c613338576101005260e4358060a01c6133385761012052610104358060a01c6133385761014052610124358060a01c6133385761016052610144358060a01c61333857610180526000543318613338576402000000066040516020526000526040600020600c810190505415613338576000600a905b806101a0526101a051600981116133385760051b606001516101c05264020000000660405160205260005260406000206101a051600981116133385781019050546101e0526101e0516101c05118612a2f576101c051612a5957612a6456612a59565b6101c05164020000000660405160205260005260406000206101a051600981116133385781019050555b6001018181186129cc575b5050005b639ddbf4b98118612bba576101643610613338576024358060a01c613338576040526044358060a01c613338576060526064358060a01c613338576080526084358060a01c6133385760a05260a4358060a01c6133385760c05260c4358060a01c6133385760e05260e4358060a01c6133385761010052610104358060a01c6133385761012052610124358060a01c6133385761014052610144358060a01c61333857610160526000543318613338576000600a905b806101805261018051600981116133385760051b604001516101a052640200000007600435602052600052604060002061018051600981116133385781019050546101c0526101c0516101a05118612b81576101a051612bab57612bb656612bab565b6101a051640200000007600435602052600052604060002061018051600981116133385781019050555b600101818118612b1e575b5050005b638f03182c8118612bf05760243610613338576004358060a01c6133385760405260005433186133385760405164020000000955005b630b2a46438118612cf65760443610613338576004358060a01c613338576040526024358060a01c61333857606052600054331861333857640100000004604051602052600052604060002060038101905054612ca457600c6080527f556e6b6e6f776e20706f6f6c000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6060516401000000046040516020526000526040600020600281019050557f656bb34c20491970a8c163f3bd62ead82022b379c3924960ec60f6dbfc5aab3b60405160805260605160a05260406080a1005b637542f0788118612f90576108043610613338576004358060a01c613338576040526024358060a01c613338576060526044358060a01c613338576080526064358060a01c6133385760a0526084358060a01c6133385760c05260a4358060a01c6133385760e05260c4358060a01c613338576101005260e4358060a01c6133385761012052610104358060a01c6133385761014052610124358060a01c6133385761016052610144358060a01c6133385761018052610164358060a01c613338576101a052610184358060a01c613338576101c0526101a4358060a01c613338576101e0526101c4358060a01c61333857610200526101e4358060a01c6133385761022052610204358060a01c6133385761024052610224358060a01c6133385761026052610244358060a01c6133385761028052610264358060a01c613338576102a052610284358060a01c613338576102c0526102a4358060a01c613338576102e0526102c4358060a01c61333857610300526102e4358060a01c6133385761032052610304358060a01c6133385761034052610324358060a01c6133385761036052610344358060a01c6133385761038052610364358060a01c613338576103a052610384358060a01c613338576103c0526103a4358060a01c613338576103e0526103c4358060a01c61333857610400526103e4358060a01c6133385761042052336002548118612f0d576001612f14565b6000548118155b9050156133385760006020905b806104405261044051601f81116133385760051b60400151612f4257612f8c565b61044051601f81116133385760051b610404013564010000000461044051601f81116133385760051b604001516020526000526040600020600c8101905055600101818118612f21575b5050005b636b441a408118612fc25760243610613338576004358060a01c61333857604052600054331861333857604051600155005b63e5ea47b88118612ff15760043610613338576001546040526040513318613338576040516000556000600155005b639aece83e81186130395760243610613338576004358060a01c6133385760405233600254811861302357600161302a565b6000548118155b90501561333857604051600255005b6336d2b77a81186130a85760443610613338576004358060a01c613338576040526024358060a01c6133385760605260005433186133385760405161308757606051640200000008556130a6565b6060516402000000066040516020526000526040600020600b81019050555b005b63bcc981d281186131a7576004361061333857640100000004336020526000526040600020546040526040511561333857640100000004336020526000526040600020600381019050546060526060516370a0823160a0523060c052602060a0602460bc845afa61311e573d600060003e3d6000fd5b60203d106133385760a09050516080526402000000066040516020526000526040600020600b810190505460a0523363ddc1f59d60c052600060e0526001610100526080516101205260006101405260a05161016052602060c060a460dc6000855af1613190573d600060003e3d6000fd5b60203d106133385760c05050600160c052602060c0f35b63f851a44081186131c657600436106133385760005460405260206040f35b6317f7182a81186131e557600436106133385760015460405260206040f35b63481c6a75811861320457600436106133385760025460405260206040f35b633a1d5d8e811861323257602436106133385760043563ffffffff8111613338576003015460405260206040f35b63956aae3a81186132555760043610613338576401000000035460405260206040f35b6322fe5671811861328757602436106133385760043563ffffffff811161333857640100000005015460405260206040f35b63de5e4a3b81186132aa5760043610613338576402000000055460405260206040f35b6331a4f86581186132ea57604436106133385764020000000760043560205260005260406000206024356009811161333857810190505460405260206040f35b63cab4d3db811861330d5760043610613338576402000000085460405260206040f35b638df2420781186133305760043610613338576402000000095460405260206040f35b505b60006000fd5b600080fda165767970657283000307000b005b600080fd0000000000000000000000004f0d938a81343a5fb10d6bb20bf5996e2e557586