0 txs
0 calls
constructor
No constructor.
functions
BMI_COVER_STAKING_NAME
viewfunction BMI_COVER_STAKING_NAME() view returns (bytes32)
BMI_NAME
viewfunction BMI_NAME() view returns (bytes32)
BMI_STAKING_NAME
viewfunction BMI_STAKING_NAME() view returns (bytes32)
BMI_UTILITY_NFT_NAME
viewfunction BMI_UTILITY_NFT_NAME() view returns (bytes32)
CLAIM_VOTING_NAME
viewfunction CLAIM_VOTING_NAME() view returns (bytes32)
CLAIMING_REGISTRY_NAME
viewfunction CLAIMING_REGISTRY_NAME() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getBMIContract
viewfunction getBMIContract() view returns (address)
getBMICoverStakingContract
viewfunction getBMICoverStakingContract() view returns (address)
getBMIStakingContract
viewfunction getBMIStakingContract() view returns (address)
getBMIUtilityNFTContract
viewfunction getBMIUtilityNFTContract() view returns (address)
getClaimingRegistryContract
viewfunction getClaimingRegistryContract() view returns (address)
getClaimVotingContract
viewfunction getClaimVotingContract() view returns (address)
getContract
viewfunction getContract(bytes32 name) view returns (address)
getLegacyBMIStakingContract
viewfunction getLegacyBMIStakingContract() view returns (address)
getLegacyLiquidityMiningStakingContract
viewfunction getLegacyLiquidityMiningStakingContract() view returns (address)
getLegacyRewardsGeneratorContract
viewfunction getLegacyRewardsGeneratorContract() view returns (address)
getLiquidityMiningContract
viewfunction getLiquidityMiningContract() view returns (address)
getLiquidityMiningStakingContract
viewfunction getLiquidityMiningStakingContract() view returns (address)
getLiquidityRegistryContract
viewfunction getLiquidityRegistryContract() view returns (address)
getPolicyBookAdminContract
viewfunction getPolicyBookAdminContract() view returns (address)
getPolicyBookFabricContract
viewfunction getPolicyBookFabricContract() view returns (address)
getPolicyBookRegistryContract
viewfunction getPolicyBookRegistryContract() view returns (address)
getPolicyQuoteContract
viewfunction getPolicyQuoteContract() view returns (address)
getPolicyRegistryContract
viewfunction getPolicyRegistryContract() view returns (address)
getPriceFeedContract
viewfunction getPriceFeedContract() view returns (address)
getReinsurancePoolContract
viewfunction getReinsurancePoolContract() view returns (address)
getReputationSystemContract
viewfunction getReputationSystemContract() view returns (address)
getRewardsGeneratorContract
viewfunction getRewardsGeneratorContract() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getSTKBMIContract
viewfunction getSTKBMIContract() view returns (address)
getUniswapBMIToETHPairContract
viewfunction getUniswapBMIToETHPairContract() view returns (address)
getUniswapRouterContract
viewfunction getUniswapRouterContract() view returns (address)
getUpgrader
viewfunction getUpgrader() view returns (address)
getUSDTContract
viewfunction getUSDTContract() view returns (address)
getVBMIContract
viewfunction getVBMIContract() view returns (address)
getWETHContract
viewfunction getWETHContract() view returns (address)
hasContract
viewfunction hasContract(bytes32 name) view returns (bool)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
LEGACY_BMI_STAKING_NAME
viewfunction LEGACY_BMI_STAKING_NAME() view returns (bytes32)
LEGACY_LIQUIDITY_MINING_STAKING_NAME
viewfunction LEGACY_LIQUIDITY_MINING_STAKING_NAME() view returns (bytes32)
LEGACY_REWARDS_GENERATOR_NAME
viewfunction LEGACY_REWARDS_GENERATOR_NAME() view returns (bytes32)
LIQUIDITY_MINING_NAME
viewfunction LIQUIDITY_MINING_NAME() view returns (bytes32)
LIQUIDITY_MINING_STAKING_NAME
viewfunction LIQUIDITY_MINING_STAKING_NAME() view returns (bytes32)
LIQUIDITY_REGISTRY_NAME
viewfunction LIQUIDITY_REGISTRY_NAME() view returns (bytes32)
POLICY_BOOK_ADMIN_NAME
viewfunction POLICY_BOOK_ADMIN_NAME() view returns (bytes32)
POLICY_BOOK_FABRIC_NAME
viewfunction POLICY_BOOK_FABRIC_NAME() view returns (bytes32)
POLICY_BOOK_REGISTRY_NAME
viewfunction POLICY_BOOK_REGISTRY_NAME() view returns (bytes32)
POLICY_QUOTE_NAME
viewfunction POLICY_QUOTE_NAME() view returns (bytes32)
POLICY_REGISTRY_NAME
viewfunction POLICY_REGISTRY_NAME() view returns (bytes32)
PRICE_FEED_NAME
viewfunction PRICE_FEED_NAME() view returns (bytes32)
REGISTRY_ADMIN_ROLE
viewfunction REGISTRY_ADMIN_ROLE() view returns (bytes32)
REINSURANCE_POOL_NAME
viewfunction REINSURANCE_POOL_NAME() view returns (bytes32)
REPUTATION_SYSTEM_NAME
viewfunction REPUTATION_SYSTEM_NAME() view returns (bytes32)
REWARDS_GENERATOR_NAME
viewfunction REWARDS_GENERATOR_NAME() view returns (bytes32)
STKBMI_NAME
viewfunction STKBMI_NAME() view returns (bytes32)
UNISWAP_BMI_TO_ETH_PAIR_NAME
viewfunction UNISWAP_BMI_TO_ETH_PAIR_NAME() view returns (bytes32)
UNISWAP_ROUTER_NAME
viewfunction UNISWAP_ROUTER_NAME() view returns (bytes32)
USDT_NAME
viewfunction USDT_NAME() view returns (bytes32)
VBMI_NAME
viewfunction VBMI_NAME() view returns (bytes32)
WETH_NAME
viewfunction WETH_NAME() view returns (bytes32)
__ContractsRegistry_init
nonpayablefunction __ContractsRegistry_init()
addContract
nonpayablefunction addContract(bytes32 name, address contractAddress)
addProxyContract
nonpayablefunction addProxyContract(bytes32 name, address contractAddress)
deleteContract
nonpayablefunction deleteContract(bytes32 name)
getImplementation
nonpayablefunction getImplementation(bytes32 name) returns (address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
injectDependencies
nonpayablefunction injectDependencies(bytes32 name)
justAddProxyContract
nonpayablefunction justAddProxyContract(bytes32 name, address contractAddress)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
upgradeContract
nonpayablefunction upgradeContract(bytes32 name, address newImplementation)
upgradeContractAndCall
nonpayablefunction upgradeContractAndCall(bytes32 name, address newImplementation, string functionSignature)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506137ff806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620004b45760003560e01c80639038a3ce1162000279578063d547741f1162000159578063e16c7d9811620000d5578063f3b0f6cc1162000093578063f3b0f6cc146200087d578063f83a1ff41462000887578063fa9c7b30146200089e578063fae7baef14620008a8578063fb6db8a814620008b257620004b4565b8063e16c7d981462000831578063e4d7437b1462000848578063eb9ce3831462000852578063f0f8c04e146200085c578063f3a1c677146200086657620004b4565b8063dbe7ff871162000123578063dbe7ff8714620007f2578063dc9c563f14620007fc578063dec0257d1462000806578063dfd71781146200081d578063e02b5413146200082757620004b4565b8063d547741f14620007b0578063d6ff86a314620007c7578063db21e74314620007de578063db43ccb514620007e857620004b4565b8063a8f4a06c11620001f5578063b3239f1711620001b3578063b3239f171462000771578063bf584c4b146200077b578063c12276bf1462000785578063ca15c873146200078f578063d522397814620007a657620004b4565b8063a8f4a06c1462000732578063a9b45bf2146200073c578063abcccc701462000746578063ad0aa0e41462000750578063ae0a0f86146200076757620004b4565b80639c44d17a11620002435780639c44d17a14620006f3578063a05ea3e7146200070a578063a217fddf1462000714578063a287b62a146200071e578063a763f45a146200072857620004b4565b80639038a3ce14620006a257806391d1485414620006ac5780639415928314620006d25780639bc0c5d214620006e957620004b4565b8063422a9baf11620003a5578063656ace4411620003215780637ce9ad4d11620002df5780637ce9ad4d14620006635780637d57b152146200066d57806380e9e5971462000677578063884c3b8314620006815780639010d07c146200068b57620004b4565b8063656ace441462000631578063661cfb58146200063b578063674ce2b2146200064557806368542bbd146200064f5780637506b865146200065957620004b4565b806353c6d6f1116200036f57806353c6d6f114620005ff57806356d70dea14620006095780635df2848f14620006135780635e7a1048146200061d57806361572de2146200062757620004b4565b8063422a9baf14620005ca578063467834bb14620005d45780634d6dd9a014620005de5780635188f99614620005e857620004b4565b80632bf0f85311620004355780633279c2fa11620003ff5780633279c2fa146200057e57806334dd1054146200058857806336568abe146200059257806339f9615f14620005a95780633c2e082814620005b357620004b4565b80632bf0f85314620005495780632efe4d7714620005535780632f2ff15d146200055d5780632fe83b02146200057457620004b4565b80631c40151f11620004835780631c40151f146200050a5780631d4d4b8414620005145780631ef35fc9146200051e5780632463efd61462000528578063248a9ca3146200053257620004b4565b80630bc3f29d14620004b95780630c2d2d5b14620004db5780631298fcd214620004e7578063141775d214620004f1575b600080fd5b620004c3620008bc565b604051620004d291906200231c565b60405180910390f35b620004e5620008ee565b005b620004c362000a24565b620004fb62000a51565b604051620004d29190620023cd565b620004fb62000a75565b620004fb62000a99565b620004c362000abd565b620004c362000aea565b620004fb6200054336600462002206565b62000b17565b620004c362000b2c565b620004fb62000b59565b620004e56200056e3660046200221f565b62000b7d565b620004c362000beb565b620004c362000c18565b620004c362000c45565b620004e5620005a33660046200221f565b62000c72565b620004c362000cd9565b620004c3620005c436600462002206565b62000d06565b620004fb62000e11565b620004c362000e35565b620004fb62000e62565b620004e5620005f93660046200221f565b62000e86565b620004c362000f17565b620004fb62000f44565b620004fb62000f68565b620004fb62000f8c565b620004c362000fb0565b620004fb62000fdd565b620004fb62001001565b620004fb62001025565b620004fb62001049565b620004c36200106d565b620004c36200109a565b620004c3620010c7565b620004fb620010f4565b620004fb62001118565b620004c36200069c366004620022dc565b6200113c565b620004c36200115f565b620006c3620006bd3660046200221f565b6200118c565b604051620004d29190620023c2565b620004e5620006e33660046200221f565b620011a6565b620004c36200129d565b620004e5620007043660046200221f565b620012ca565b620004fb62001320565b620004fb62001344565b620004fb62001349565b620004fb6200136d565b620004fb62001391565b620004c3620013b5565b620004c3620013e2565b620006c36200076136600462002206565b6200140f565b620004c36200142c565b620004fb62001459565b620004fb6200147d565b620004fb62001490565b620004fb620007a036600462002206565b620014b4565b620004c3620014cd565b620004e5620007c13660046200221f565b620014fa565b620004e5620007d836600462002251565b62001558565b620004fb620015db565b620004c3620015ff565b620004fb6200162c565b620004c362001650565b620004e56200081736600462002206565b6200167d565b620004c362001731565b620004fb6200175e565b620004c36200084236600462002206565b62001782565b620004c3620017d5565b620004fb62001813565b620004c362001837565b620004e5620008773660046200221f565b62001864565b620004fb6200190b565b620004e56200089836600462002206565b6200192f565b620004fb62001b00565b620004c362001b24565b620004c362001b51565b6000620008e97ff1d08dda2fac27b25b1859953392721144e2b9f127b70f91e2d894f88c1e1fe462001782565b905090565b600054610100900460ff16806200090a57506200090a62001b7e565b8062000919575060005460ff16155b620009565760405162461bcd60e51b815260040180806020018281038252602e8152602001806200376d602e913960400191505060405180910390fd5b600054610100900460ff1615801562000982576000805460ff1961ff0019909116610100171660011790555b6200098c62001b91565b620009a76000805160206200371d8339815191523362000bdb565b620009c26000805160206200371d8339815191528062001c4e565b604051620009d090620021cb565b604051809103906000f080158015620009ed573d6000803e3d6000fd5b50606580546001600160a01b0319166001600160a01b0392909216919091179055801562000a21576000805461ff00191690555b50565b6000620008e97f5c8d72fab0944e5053ea2ae170642dfdc0ee67d802c8b42d2ea5a31c2c890c9762001782565b7f1a43c53a507894a8f5af4102bd64ccf1fce7fcf1869d8feded79651c01c483b081565b7fe1a16f5b6fd1049ac7e9dc92b4b3962bae8bb5c9134678aaf1c9dcefe0a70f0281565b7f3e1798b54cc3f3b605569165f026bb7e60641a4f8e4937a9fb289eb4c62e192b81565b6000620008e97fa2de9adbbfd0081555f6d6bc9802e793c49878d0508c075ec5141cb3020800a262001782565b6000620008e97fe6ba80aa48534b524287958a88ffd89fd91cf2cb4a941b03bda41c11bd7a3fc162001782565b60009081526033602052604090206002015490565b6000620008e97f1ea851b22862ddefcc60598993ac7a781ac1fa40f5cfb61cde0889a328e1d4b362001782565b7fb3390a764df31420ac5c5f262861184407ac155e583d3ecc9df4ad26441fb05781565b60008281526033602052604090206002015462000b9e90620006bd62001ca0565b62000bdb5760405162461bcd60e51b815260040180806020018281038252602f815260200180620036ee602f913960400191505060405180910390fd5b62000be7828262001ca4565b5050565b6000620008e97f8c8396550212bf2c1ebf036d3e563eb2511eca3ac844fabdeb9e29d8e4966b4862001782565b6000620008e97f5c535fb84f602f82e328807f5d1edcf07d4de59373d99a4e57b27fd313c8b21b62001782565b6000620008e97f4c54192a7d7dcdb22905f3906b2fddc7c26e1464fa88f98a936a62606673197662001782565b62000c7c62001ca0565b6001600160a01b0316816001600160a01b03161462000ccd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806200379b602f913960400191505060405180910390fd5b62000be7828262001d12565b6000620008e97fe1a16f5b6fd1049ac7e9dc92b4b3962bae8bb5c9134678aaf1c9dcefe0a70f0262001782565b6000818152606660205260408120546001600160a01b03168062000d475760405162461bcd60e51b815260040162000d3e90620024a0565b60405180910390fd5b6001600160a01b03811660009081526067602052604090205460ff1662000d825760405162461bcd60e51b815260040162000d3e90620023d6565b606554604051630ad6396560e11b81526001600160a01b03909116906315ac72ca9062000db49084906004016200231c565b602060405180830381600087803b15801562000dcf57600080fd5b505af115801562000de4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e0a9190620021e7565b9392505050565b7f8c8396550212bf2c1ebf036d3e563eb2511eca3ac844fabdeb9e29d8e4966b4881565b6000620008e97f0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b862001782565b7ff5310b426dc641307f1008572e62747f8996d9ed032c02f96c166b7716d5023d81565b62000ea16000805160206200371d833981519152336200118c565b62000ec05760405162461bcd60e51b815260040162000d3e90620024ed565b6001600160a01b03811662000ee95760405162461bcd60e51b815260040162000d3e9062002454565b60009182526066602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000620008e97f0ff34c04aab21a6fc2fc69d5acd04c00a196f4df6ae4502fcc2d5efbe743231062001782565b7f18328b93a02b8d82974fc853a66764c125ba707dcd674795cfc4569896001f3981565b7fa2de9adbbfd0081555f6d6bc9802e793c49878d0508c075ec5141cb3020800a281565b7f0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b881565b6000620008e97f5ea377b413a3bb89616379cec62c6957d738ddf5a8d0f28872cb9131455ee8f962001782565b7f8b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d081565b7f1ea851b22862ddefcc60598993ac7a781ac1fa40f5cfb61cde0889a328e1d4b381565b7ff1d08dda2fac27b25b1859953392721144e2b9f127b70f91e2d894f88c1e1fe481565b7f4fd3e0487a0382fb027c77b1ae4c563672c9fb30a74879855f0c86c376cf96ea81565b6000620008e97fb3390a764df31420ac5c5f262861184407ac155e583d3ecc9df4ad26441fb05762001782565b6000620008e97f4a9960cd25667c58bec25da264bb759956031b59efbf77f86244a899c968b31862001782565b6000620008e97f18328b93a02b8d82974fc853a66764c125ba707dcd674795cfc4569896001f3962001782565b7f491918e87a59e4b2d255f824aa6c7ca642c3bf7f2372f3bd994a48f2e9c6f9a481565b7f20303e1f37b4f803638d8733caa0f938c32e751f8e2e3ca213a06afe82663c7581565b600082815260336020526040812062001156908362001d80565b90505b92915050565b6000620008e97f8b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d062001782565b600082815260336020526040812062001156908362001d8e565b620011c16000805160206200371d833981519152336200118c565b620011e05760405162461bcd60e51b815260040162000d3e90620024ed565b6001600160a01b038116620012095760405162461bcd60e51b815260040162000d3e9062002454565b60655460405160009183916001600160a01b03909116906200122b90620021d9565b6200123892919062002399565b604051809103906000f08015801562001255573d6000803e3d6000fd5b50600093845260666020908152604080862080546001600160a01b039094166001600160a01b03199094168417905591855260679052909220805460ff191660011790555050565b6000620008e97f4fd3e0487a0382fb027c77b1ae4c563672c9fb30a74879855f0c86c376cf96ea62001782565b620012e56000805160206200371d833981519152336200118c565b620013045760405162461bcd60e51b815260040162000d3e90620024ed565b62000be782826040518060200160405280600081525062001da5565b7f5c535fb84f602f82e328807f5d1edcf07d4de59373d99a4e57b27fd313c8b21b81565b600081565b7f0877b91c8271bc128c995e1d12224f69e1770afb033704c5e83ad75157c9bb5f81565b7f4bb427a690a49943eda126c3c9be26f9cfd7ae019f7cdc720f6d6b8de4e879b781565b7f5c8d72fab0944e5053ea2ae170642dfdc0ee67d802c8b42d2ea5a31c2c890c9781565b6000620008e97f1a43c53a507894a8f5af4102bd64ccf1fce7fcf1869d8feded79651c01c483b062001782565b6000620008e97f491918e87a59e4b2d255f824aa6c7ca642c3bf7f2372f3bd994a48f2e9c6f9a462001782565b6000908152606660205260409020546001600160a01b0316151590565b6000620008e97f0877b91c8271bc128c995e1d12224f69e1770afb033704c5e83ad75157c9bb5f62001782565b7f288d8bdf1cf2a666f9b73b1790cb699ad3440a5346b95e26498ff289ccaa179b81565b6000805160206200371d83398151915281565b7f4a9960cd25667c58bec25da264bb759956031b59efbf77f86244a899c968b31881565b6000818152603360205260408120620011599062001f44565b6000620008e97f20303e1f37b4f803638d8733caa0f938c32e751f8e2e3ca213a06afe82663c7562001782565b6000828152603360205260409020600201546200151b90620006bd62001ca0565b62000ccd5760405162461bcd60e51b81526004018080602001828103825260308152602001806200373d6030913960400191505060405180910390fd5b620015736000805160206200371d833981519152336200118c565b620015925760405162461bcd60e51b815260040162000d3e90620024ed565b620015d5848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525062001da592505050565b50505050565b7fe6ba80aa48534b524287958a88ffd89fd91cf2cb4a941b03bda41c11bd7a3fc181565b6000620008e97f288d8bdf1cf2a666f9b73b1790cb699ad3440a5346b95e26498ff289ccaa179b62001782565b7ff81a0ff3ccea018c66c41101d6808980555b33c36d3d22f87104e964f1cda32381565b6000620008e97ff81a0ff3ccea018c66c41101d6808980555b33c36d3d22f87104e964f1cda32362001782565b620016986000805160206200371d833981519152336200118c565b620016b75760405162461bcd60e51b815260040162000d3e90620024ed565b6000818152606660205260409020546001600160a01b0316620016ee5760405162461bcd60e51b815260040162000d3e90620024a0565b600081815260666020818152604080842080546001600160a01b0316855260678352908420805460ff1916905593909252905280546001600160a01b0319169055565b6000620008e97f4bb427a690a49943eda126c3c9be26f9cfd7ae019f7cdc720f6d6b8de4e879b762001782565b7f0ff34c04aab21a6fc2fc69d5acd04c00a196f4df6ae4502fcc2d5efbe743231081565b6000818152606660205260408120546001600160a01b0316620017b95760405162461bcd60e51b815260040162000d3e90620024a0565b506000908152606660205260409020546001600160a01b031690565b6065546000906001600160a01b0316620018035760405162461bcd60e51b815260040162000d3e906200241d565b506065546001600160a01b031690565b7f4c54192a7d7dcdb22905f3906b2fddc7c26e1464fa88f98a936a62606673197681565b6000620008e97f607df9c369d7470f0cb545dc82e9a3e5defd4284b2ac1731efd75eb3367208a562001782565b6200187f6000805160206200371d833981519152336200118c565b6200189e5760405162461bcd60e51b815260040162000d3e90620024ed565b6001600160a01b038116620018c75760405162461bcd60e51b815260040162000d3e9062002454565b600091825260666020908152604080842080546001600160a01b039094166001600160a01b031990941684179055918352606790529020805460ff19166001179055565b7f5ea377b413a3bb89616379cec62c6957d738ddf5a8d0f28872cb9131455ee8f981565b6200194a6000805160206200371d833981519152336200118c565b620019695760405162461bcd60e51b815260040162000d3e90620024ed565b6000818152606660205260409020546001600160a01b031680620019a15760405162461bcd60e51b815260040162000d3e90620024a0565b600081905060006001600160a01b0316816001600160a01b031663461716106040518163ffffffff1660e01b815260040160206040518083038186803b158015620019eb57600080fd5b505afa15801562001a00573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a269190620021e7565b6001600160a01b0316141562001a995760405163232e507360e21b81526001600160a01b03821690638cb941cc9062001a649030906004016200231c565b600060405180830381600087803b15801562001a7f57600080fd5b505af115801562001a94573d6000803e3d6000fd5b505050505b604051631071396360e31b81526001600160a01b03821690638389cb189062001ac79030906004016200231c565b600060405180830381600087803b15801562001ae257600080fd5b505af115801562001af7573d6000803e3d6000fd5b50505050505050565b7f607df9c369d7470f0cb545dc82e9a3e5defd4284b2ac1731efd75eb3367208a581565b6000620008e97f3e1798b54cc3f3b605569165f026bb7e60641a4f8e4937a9fb289eb4c62e192b62001782565b6000620008e97ff5310b426dc641307f1008572e62747f8996d9ed032c02f96c166b7716d5023d62001782565b600062001b8b3062001f51565b15905090565b600054610100900460ff168062001bad575062001bad62001b7e565b8062001bbc575060005460ff16155b62001bf95760405162461bcd60e51b815260040180806020018281038252602e8152602001806200376d602e913960400191505060405180910390fd5b600054610100900460ff1615801562001c25576000805460ff1961ff0019909116610100171660011790555b62001c2f62001f57565b62001c3962001f57565b801562000a21576000805461ff001916905550565b600082815260336020526040808220600201549051839285917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a460009182526033602052604090912060020155565b3390565b600082815260336020526040902062001cbe908262001fff565b1562000be75762001cce62001ca0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260336020526040902062001d2c908262002016565b1562000be75762001d3c62001ca0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b60006200115683836200202d565b600062001156836001600160a01b03841662002094565b6000838152606660205260409020546001600160a01b03168062001ddd5760405162461bcd60e51b815260040162000d3e90620024a0565b6001600160a01b03811660009081526067602052604090205460ff1662001e185760405162461bcd60e51b815260040162000d3e90620023d6565b81511562001ed657606554604080516004815260248101918290526001600160a01b0390921691639623609d918491879162001e56908890620022fe565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319928316179052905160e086901b909116815262001e9c939291906004016200234a565b600060405180830381600087803b15801562001eb757600080fd5b505af115801562001ecc573d6000803e3d6000fd5b50505050620015d5565b60655460405163266a23b160e21b81526001600160a01b03909116906399a88ec49062001f0a908490879060040162002330565b600060405180830381600087803b15801562001f2557600080fd5b505af115801562001f3a573d6000803e3d6000fd5b5050505050505050565b60006200115982620020ac565b3b151590565b600054610100900460ff168062001f73575062001f7362001b7e565b8062001f82575060005460ff16155b62001fbf5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200376d602e913960400191505060405180910390fd5b600054610100900460ff1615801562001c39576000805460ff1961ff001990911661010017166001179055801562000a21576000805461ff001916905550565b600062001156836001600160a01b038416620020b0565b600062001156836001600160a01b038416620020ff565b81546000908210620020715760405162461bcd60e51b8152600401808060200182810382526022815260200180620036cc6022913960400191505060405180910390fd5b8260000182815481106200208157fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b6000620020be838362002094565b620020f65750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562001159565b50600062001159565b60008181526001830160205260408120548015620021c057835460001980830191908101906000908790839081106200213457fe5b90600052602060002001549050808760000184815481106200215257fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806200218357fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505062001159565b600091505062001159565b6104d2806200257c83390190565b610c7e8062002a4e83390190565b600060208284031215620021f9578081fd5b815162000e0a8162002565565b60006020828403121562002218578081fd5b5035919050565b6000806040838503121562002232578081fd5b823591506020830135620022468162002565565b809150509250929050565b6000806000806060858703121562002267578182fd5b8435935060208501356200227b8162002565565b9250604085013567ffffffffffffffff8082111562002298578384fd5b818701915087601f830112620022ac578384fd5b813581811115620022bb578485fd5b886020828501011115620022cd578485fd5b95989497505060200194505050565b60008060408385031215620022ef578182fd5b50508035926020909101359150565b600082516200231281846020870162002536565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b600060018060a01b0380861683528085166020840152506060604083015282518060608401526200238381608085016020870162002536565b601f01601f191691909101608001949350505050565b6001600160a01b0392831681529116602082015260606040820181905260009082015260800190565b901515815260200190565b90815260200190565b60208082526027908201527f436f6e74726163747352656769737472793a204e6f7420612070726f787920636040820152661bdb9d1c9858dd60ca1b606082015260800190565b6020808252601f908201527f436f6e74726163747352656769737472793a2042616420757067726164657200604082015260600190565b6020808252602c908201527f436f6e74726163747352656769737472793a204e756c6c20616464726573732060408201526b34b9903337b93134b23232b760a11b606082015260800190565b6020808252602d908201527f436f6e74726163747352656769737472793a2054686973206d617070696e672060408201526c191bd95cdb89dd08195e1a5cdd609a1b606082015260800190565b60208082526029908201527f436f6e74726163747352656769737472793a2043616c6c6572206973206e6f746040820152681030b71030b236b4b760b91b606082015260800190565b60005b838110156200255357818101518382015260200162002539565b83811115620015d55750506000910152565b6001600160a01b038116811462000a2157600080fdfe60a060405234801561001057600080fd5b5033606081901b60805261049861003a60003980609b5280610165528061021552506104986000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806315ac72ca146100465780639623609d1461006f57806399a88ec414610084575b600080fd5b6100596100543660046102bd565b610097565b60405161006691906103c1565b60405180910390f35b61008261007d366004610334565b610163565b005b6100826100923660046102fc565b610213565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146100ea5760405162461bcd60e51b81526004016100e190610415565b60405180910390fd5b816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561012557600080fd5b505af1158015610139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d91906102e0565b92915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146101ab5760405162461bcd60e51b81526004016100e190610415565b60405163278f794360e11b81526001600160a01b03851690634f1ef286906101db908690869086906004016103d5565b600060405180830381600087803b1580156101f557600080fd5b505af1158015610209573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461025b5760405162461bcd60e51b81526004016100e190610415565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe6906102879084906004016103c1565b600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505050505050565b6000602082840312156102ce578081fd5b81356102d98161044a565b9392505050565b6000602082840312156102f1578081fd5b81516102d98161044a565b6000806040838503121561030e578081fd5b82356103198161044a565b915060208301356103298161044a565b809150509250929050565b60008060008060608587031215610349578182fd5b84356103548161044a565b935060208501356103648161044a565b9250604085013567ffffffffffffffff80821115610380578384fd5b818701915087601f830112610393578384fd5b8135818111156103a1578485fd5b8860208285010111156103b2578485fd5b95989497505060200194505050565b6001600160a01b0391909116815260200190565b6001600160a01b03841681526040602082018190528101829052600082846060840137818301606090810191909152601f909201601f1916010192915050565b6020808252818101527f446570656e64656e6379496e6a6563746f723a204e6f7420616e206f776e6572604082015260600190565b6001600160a01b038116811461045f57600080fd5b5056fea26469706673582212209cf2a0561b0085925fbcaa9daa52fbd2c9713b9facc661e7a3a60c10c6c8315464736f6c63430007040033608060405260405162000c7e38038062000c7e833981810160405260608110156200002957600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200005557600080fd5b9083019060208201858111156200006b57600080fd5b82516401000000008111828201881017156200008657600080fd5b82525081516020918201929091019080838360005b83811015620000b55781810151838201526020016200009b565b50505050905090810190601f168015620000e35780820380516001836020036101000a031916815260200191505b5060405250849150829050620000f98262000137565b8051156200011a57620001188282620001ae60201b620003841760201c565b505b50620001239050565b6200012e82620001dd565b505050620003bf565b6200014d816200020160201b620003b01760201c565b6200018a5760405162461bcd60e51b815260040180806020018281038252603681526020018062000c226036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6060620001d6838360405180606001604052806027815260200162000bfb6027913962000207565b9392505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b6060620002148462000201565b620002515760405162461bcd60e51b815260040180806020018281038252602681526020018062000c586026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b60208310620002915780518252601f19909201916020918201910162000270565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620002f3576040519150601f19603f3d011682016040523d82523d6000602084013e620002f8565b606091505b5090925090506200030b82828662000315565b9695505050505050565b6060831562000326575081620001d6565b825115620003375782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200038357818101518382015260200162000369565b50505050905090810190601f168015620003b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61082c80620003cf6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610262565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b031661029f565b34801561018857600080fd5b5061012d610359565b6101996103b6565b6101a96101a4610416565b61043b565b565b6101b361045f565b6001600160a01b0316336001600160a01b031614156101da576101d581610484565b6101e2565b6101e2610191565b50565b6101ed61045f565b6001600160a01b0316336001600160a01b031614156102555761020f83610484565b61024f8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038492505050565b5061025d565b61025d610191565b505050565b600061026c61045f565b6001600160a01b0316336001600160a01b031614156102945761028d610416565b905061029c565b61029c610191565b90565b6102a761045f565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103055760405162461bcd60e51b815260040180806020018281038252603a8152602001806106f8603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e61045f565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c4565b600061036361045f565b6001600160a01b0316336001600160a01b031614156102945761028d61045f565b60606103a98383604051806060016040528060278152602001610732602791396104e8565b9392505050565b3b151590565b6103be61045f565b6001600160a01b0316336001600160a01b0316141561040e5760405162461bcd60e51b81526004018080602001828103825260428152602001806107b56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045a573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048d816105eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60606104f3846103b0565b61052e5760405162461bcd60e51b815260040180806020018281038252602681526020018061078f6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b6020831061056c5780518252601f19909201916020918201910161054d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e1828286610653565b9695505050505050565b6105f4816103b0565b61062f5760405162461bcd60e51b81526004018080602001828103825260368152602001806107596036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156106625750816103a9565b8251156106725782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106bc5781810151838201526020016106a4565b50505050905090810190601f1680156106e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212208e44e1b4674f828c5d455fe802d00e287955babd55997a24796fb04d2a164a0f64736f6c63430007040033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74bb28eb1a0cfabcecf96003fab466159bc2e051e49d79baf049890044e9072440416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a26469706673582212205a1d7f44880109246419c5a435a0853e8bfc40f062dcd7da0ae0beb5c0fb750364736f6c63430007040033