0 txs
43 calls
constructor
constructor()
functions
assetManagementConfig
viewfunction assetManagementConfig() view returns (address)
deployedPositionWrappers
viewfunction deployedPositionWrappers(uint256) view returns (address)
ETHERNAL_FARMING_ADDRESS
viewfunction ETHERNAL_FARMING_ADDRESS() view returns (address)
externalPositionStorage
viewfunction externalPositionStorage() view returns (address)
FARMING_CENTER_ADDRESS
viewfunction FARMING_CENTER_ADDRESS() view returns (address)
protocolConfig
viewfunction protocolConfig() view returns (address)
protocolId
viewfunction protocolId() view returns (bytes32)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
approveAndAddForFarming
nonpayablefunction approveAndAddForFarming(uint256 tokenId, address pool, address rewardToken, address bonusRewardToken, uint256 nonce)
claimRewards
nonpayablefunction claimRewards(tuple key, uint256 tokenId)
collectFees
nonpayablefunction collectFees(uint256 _tokenId)
createNewWrapperPosition
nonpayablefunction createNewWrapperPosition(address _token0, address _token1, string _name, string _symbol, int24 _tickLower, int24 _tickUpper) returns (address)
createNewWrapperPositionAndDeposit
nonpayablefunction createNewWrapperPositionAndDeposit(address _dustReceiver, address _token0, address _token1, string _name, string _symbol, tuple params) returns (address)
decreaseLiquidity
nonpayablefunction decreaseLiquidity(address _positionWrapper, uint256 _withdrawalAmount, uint256 _amount0Min, uint256 _amount1Min, address, address, address, uint256, uint24)
exitFarming
nonpayablefunction exitFarming(uint256 tokenId, address pool, address rewardToken, address bonusRewardToken, uint256 nonce)
increaseLiquidity
nonpayablefunction increaseLiquidity(tuple _params)
init
nonpayablefunction init(address _externalPositionStorage, address _protocolConfig, address _assetManagerConfig, address _accessController, address _nftManager, address _swapRouter, address _vault, bytes32 _protocolId)
initializePositionAndDeposit
nonpayablefunction initializePositionAndDeposit(address _dustReceiver, address _positionWrapper, tuple params)
transferTokenToVault
nonpayablefunction transferTokenToVault(address _token)
updateRange
nonpayablefunction updateRange(tuple params)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
ETHTransferredToVault
event ETHTransferredToVault(uint256 amount)
Initialized
event Initialized(uint8 version)
LiquidityDecreased
event LiquidityDecreased(address indexed user, uint256 liquidity)
LiquidityIncreased
event LiquidityIncreased(address indexed user, uint256 liquidity)
NewPositionCreated
event NewPositionCreated(address indexed positionWrapper, address indexed token0, address indexed token1)
PositionInitializedAndDeposited
event PositionInitializedAndDeposited(address indexed positionManager)
PriceRangeUpdated
event PriceRangeUpdated(address indexed positionManager, int24 tickLower, int24 tickUpper)
TokenTransferredToVault
event TokenTransferredToVault(address indexed token, uint256 amount)
Upgraded
event Upgraded(address indexed implementation)
errors
AmountCannotBeZero
error AmountCannotBeZero()
CallerNotAdmin
error CallerNotAdmin()
CallerNotAssetManager
error CallerNotAssetManager()
InsufficientBalance
error InsufficientBalance()
InvalidAddress
error InvalidAddress()
InvalidCastToUint128
error InvalidCastToUint128()
InvalidPositionWrapper
error InvalidPositionWrapper()
InvalidTokenAddress
error InvalidTokenAddress()
ProtocolEmergencyPaused
error ProtocolEmergencyPaused()
ProtocolIsPaused
error ProtocolIsPaused()
TokenNotEnabled
error TokenNotEnabled()
TokenNotWhitelisted
error TokenNotWhitelisted()
creation bytecode
0x60c060405230608052736f866dfb4ec07864807217c48e4ff58b137c15a760a0523480156200002d57600080fd5b50620000386200003e565b620000ff565b600054610100900460ff1615620000ab5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000fd576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160a051615cb562000148600039600081816103310152611d55015260008181610d9501528181610de101528181610e8901528181610ecc01526113c30152615cb56000f3fe6080604052600436106200014f5760003560e01c8063928c515911620000b9578063b2219d251162000078578063b2219d2514620003c2578063c5f8afca14620003e4578063da1f12ab1462000409578063f5efbb4f1462000421578063f7b865eb1462000443578063fd6b4937146200046857600080fd5b8063928c515914620002f8578063a57c29de146200031d578063a8c11b9d1462000353578063aba579e11462000378578063b17acdcd146200039d57600080fd5b80634f1ef28611620001125780634f1ef286146200022657806351e0a3ad146200023d57806352d1902d146200026257806360bafc3314620002895780637da892be14620002ae5780638619575414620002d357600080fd5b8063213498891462000154578063220e06c01462000193578063264e303c14620001ba5780632e824fb814620001dc5780633659cfe61462000201575b600080fd5b3480156200016157600080fd5b50609e5462000176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015620001a057600080fd5b50620001b8620001b236600462004535565b6200048d565b005b348015620001c757600080fd5b5060995462000176906001600160a01b031681565b348015620001e957600080fd5b5062000176620001fb366004620046b6565b62000662565b3480156200020e57600080fd5b50620001b86200022036600462004774565b62000d8b565b620001b8620002373660046200479b565b62000e7f565b3480156200024a57600080fd5b50620001b86200025c3660046200481a565b62000f57565b3480156200026f57600080fd5b506200027a620013b6565b6040519081526020016200018a565b3480156200029657600080fd5b50620001b8620002a8366004620048e0565b6200146c565b348015620002bb57600080fd5b50620001b8620002cd36600462004774565b62001681565b348015620002e057600080fd5b50620001b8620002f23660046200499d565b62001841565b3480156200030557600080fd5b506200017662000317366004620049ff565b62001a95565b3480156200032a57600080fd5b50620001767f000000000000000000000000000000000000000000000000000000000000000081565b3480156200036057600080fd5b50620001b86200037236600462004b37565b62001bc1565b3480156200038557600080fd5b50620001b86200039736600462004be6565b62001e57565b348015620003aa57600080fd5b50620001b8620003bc36600462004cb3565b62002467565b348015620003cf57600080fd5b50609b5462000176906001600160a01b031681565b348015620003f157600080fd5b50620001766200040336600462004cb3565b6200265a565b3480156200041657600080fd5b506200027a609d5481565b3480156200042e57600080fd5b5060985462000176906001600160a01b031681565b3480156200045057600080fd5b50620001b86200046236600462004ccd565b62002685565b3480156200047557600080fd5b50620001b8620004873660046200499d565b62002a5d565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000507919062004d6c565b1562000526576040516306eb3ed160e31b815260040160405180910390fd5b6200053062002bfa565b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa1580156200058e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005b4919062004d6c565b620005d25760405163142bddf560e01b815260040160405180910390fd5b609b5460a054604051630e695cef60e41b81526001600160a01b039283169263e695cef0926200060c929116908690869060040162004d90565b60408051808303816000875af11580156200062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000651919062004dfe565b50506200065e6001606555565b5050565b6098546040805163dac8856160e01b815290516000926001600160a01b03169163dac885619160048083019260209291908290030181865afa158015620006ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006d3919062004d6c565b15620006f257604051632bc2c01360e21b815260040160405180910390fd5b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562000750573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000776919062004d6c565b620007945760405163142bddf560e01b815260040160405180910390fd5b6001600160a01b0387161580620007b257506001600160a01b038616155b15620007d15760405163e6c4247b60e01b815260040160405180910390fd5b609960009054906101000a90046001600160a01b03166001600160a01b031663e348560b6040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000827573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200084d919062004d6c565b8015620009455750609954604051630daf9c2160e41b81526001600160a01b0389811660048301529091169063daf9c210906024016020604051808303816000875af1158015620008a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008c8919062004d6c565b1580620009455750609954604051630daf9c2160e41b81526001600160a01b0388811660048301529091169063daf9c210906024016020604051808303816000875af11580156200091d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000943919062004d6c565b155b1562000964576040516307c241ad60e51b815260040160405180910390fd5b60985460405163748538d960e01b81526001600160a01b0389811660048301529091169063748538d990602401602060405180830381865afa158015620009af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009d5919062004d6c565b158062000a50575060985460405163748538d960e01b81526001600160a01b0388811660048301529091169063748538d990602401602060405180830381865afa15801562000a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a4e919062004d6c565b155b1562000a6f57604051631fcf8c4760e11b815260040160405180910390fd5b609754604051630ad567f360e21b81526001600160a01b03808a16600483015280891660248301529091166044820152600090819073c65e9bd2a3b59d46966797dcdd9a603e94cb495a90632b559fcc906064016040805180830381865af415801562000ae0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b06919062004e30565b915091506000609960009054906101000a90046001600160a01b03166001600160a01b03166351cac1516040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000b62573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b88919062004e6f565b604051634742b21d60e11b9062000bac903090879087908e908e9060240162004ee3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000beb9062004527565b62000bf892919062004f39565b604051809103906000f08015801562000c15573d6000803e3d6000fd5b5060405163534c7cd960e01b815260006004820152600288810b602483015287900b604482015290915081906001600160a01b0382169063534c7cd990606401600060405180830381600087803b15801562000c7057600080fd5b505af115801562000c85573d6000803e3d6000fd5b5050609c80546001810182556000919091527faf85b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c0180546001600160a01b0319166001600160a01b03858116918217909255609e5460405163d87ba12b60e01b81526004810192909252909116925063d87ba12b9150602401600060405180830381600087803b15801562000d1857600080fd5b505af115801562000d2d573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b0316826001600160a01b03167fa77b84203703e872514405d12ca4a42a1d9370a48a2a6fa9b78d6029f805368360405160405180910390a493505050505b9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000ddf5760405162461bcd60e51b815260040162000dd69062004f5f565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000e2a60008051602062005c19833981519152546001600160a01b031690565b6001600160a01b03161462000e535760405162461bcd60e51b815260040162000dd69062004fab565b62000e5e8162002c5c565b6040805160008082526020820190925262000e7c9183919062002c88565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000eca5760405162461bcd60e51b815260040162000dd69062004f5f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000f1560008051602062005c19833981519152546001600160a01b031690565b6001600160a01b03161462000f3e5760405162461bcd60e51b815260040162000dd69062004fab565b62000f498262002c5c565b6200065e8282600162002c88565b609860009054906101000a90046001600160a01b03166001600160a01b031663dac885616040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd1919062004d6c565b1562000ff057604051632bc2c01360e21b815260040160405180910390fd5b62000ffa62002bfa565b60208101516001600160a01b031615806200101d575080516001600160a01b0316155b156200103c5760405163e6c4247b60e01b815260040160405180910390fd5b600081602001516001600160a01b03166317d70f7c6040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001083573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a9919062004ff7565b9050600082602001516001600160a01b0316630dfe16816040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620010f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001118919062004e6f565b9050600083602001516001600160a01b031663d21220a76040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001161573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001187919062004e6f565b9050600062001197833062002e00565b90506000620011a7833062002e00565b9050620011bf84848860400151896060015162002e7a565b6000620011cd853062002e00565b90506000620011dd853062002e00565b9050620011eb848362005027565b6040890152620011fc838262005027565b60608901819052604089015162001217918891889162002eaa565b6097546040805160c0810182528981528a82015160208201526060808c0151828401526080808d01519183019190915260a0808d0151918301919091524290820152905163219f5d1760e01b81526000926001600160a01b03169163219f5d1791620012c59190600401600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6060604051808303816000875af1158015620012e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130b919062005055565b5050905062001321896020015189833362002eec565b6200132d873062002e00565b92506200133b863062002e00565b89519092506200136590888862001353898862005027565b6200135f898862005027565b620030a3565b6040516001600160801b038216815233907f983f2acadae67dcb6752959ec3afacc1234ebb093cbfe883360eeac07c8d432d9060200160405180910390a2505050505050505062000e7c6001606555565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620014585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000dd6565b5060008051602062005c1983398151915290565b609860009054906101000a90046001600160a01b03166001600160a01b031663dac885616040518163ffffffff1660e01b8152600401602060405180830381865afa158015620014c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014e6919062004d6c565b156200150557604051632bc2c01360e21b815260040160405180910390fd5b6200150f62002bfa565b6200163d83836040518060e0016040528085600001518152602001856020015181526020018560400151815260200185606001518152602001866001600160a01b03166375825e3d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001589573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015af91906200509a565b60020b8152602001866001600160a01b031663f42512e86040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620015f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200161e91906200509a565b60020b815260200185608001516001600160a01b0316815250620030cb565b6040516001600160a01b038316907fd0c086ce165849751bfad136b1703217189e5a5fc2844b0a100baa342e6dd85e90600090a26200167c6001606555565b505050565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa158015620016d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016fb919062004d6c565b156200171a576040516306eb3ed160e31b815260040160405180910390fd5b6200172462002bfa565b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562001782573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017a8919062004d6c565b620017c65760405163142bddf560e01b815260040160405180910390fd5b6000620017d4823062002e00565b60a054909150620017f19083906001600160a01b0316836200334b565b816001600160a01b03167fd98bc60e16b638a99f9cf6f33c41d551288bf06ffaa7c87afe45f0746959237a826040516200182d91815260200190565b60405180910390a25062000e7c6001606555565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001895573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018bb919062004d6c565b15620018da576040516306eb3ed160e31b815260040160405180910390fd5b620018e462002bfa565b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562001942573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001968919062004d6c565b620019865760405163142bddf560e01b815260040160405180910390fd5b609754609b54604051634197b18560e11b815260048101889052600160248201526001600160a01b03918216604482015291169063832f630a90606401600060405180830381600087803b158015620019de57600080fd5b505af1158015620019f3573d6000803e3d6000fd5b5050609b54604080516080810182526001600160a01b038881168252878116602083015289811682840152606082018790529151635739f0b960e01b8152919092169350635739f0b9925062001a4f91908990600401620050ba565b600060405180830381600087803b15801562001a6a57600080fd5b505af115801562001a7f573d6000803e3d6000fd5b5050505062001a8e6001606555565b5050505050565b6098546040805163dac8856160e01b815290516000926001600160a01b03169163dac885619160048083019260209291908290030181865afa15801562001ae0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b06919062004d6c565b1562001b2557604051632bc2c01360e21b815260040160405180910390fd5b62001b2f62002bfa565b6001600160a01b03871662001b575760405163e6c4247b60e01b815260040160405180910390fd5b600062001b718787878787608001518860a0015162000662565b905062001b80888285620030cb565b6040516001600160a01b038216907fd0c086ce165849751bfad136b1703217189e5a5fc2844b0a100baa342e6dd85e90600090a2905062000d816001606555565b600054610100900460ff161580801562001be25750600054600160ff909116105b8062001bfe5750303b15801562001bfe575060005460ff166001145b62001c635760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000dd6565b6000805460ff19166001179055801562001c87576000805461ff0019166101001790555b6001600160a01b038816158062001ca557506001600160a01b038716155b8062001cb857506001600160a01b038616155b1562001cd75760405163e6c4247b60e01b815260040160405180910390fd5b62001ce16200347f565b62001ceb620034ab565b609e80546001600160a01b03199081166001600160a01b038c8116919091179092556097805482168884161790556098805482168b84161790556099805482168a8416179055609a8054909116888316179055609d83905560408051631baadcbb60e31b815290517f00000000000000000000000000000000000000000000000000000000000000009092169163dd56e5d8916004818101926020929091908290030181865afa15801562001da4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001dca919062004e6f565b609b80546001600160a01b03199081166001600160a01b0393841617909155609f8054821687841617905560a08054909116918516919091179055801562001e4c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b609860009054906101000a90046001600160a01b03166001600160a01b031663dac885616040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001eab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ed1919062004d6c565b1562001ef057604051632bc2c01360e21b815260040160405180910390fd5b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562001f4e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f74919062004d6c565b62001f925760405163142bddf560e01b815260040160405180910390fd5b600081600001516001600160a01b03166317d70f7c6040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001fd9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fff919062004ff7565b9050600082600001516001600160a01b0316630dfe16816040518163ffffffff1660e01b81526004016020604051808303816000875af115801562002048573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200206e919062004e6f565b9050600083600001516001600160a01b031663d21220a76040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620020b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020dd919062004e6f565b90506000620020ec84620034df565b90506000620020fc843062002e00565b905060006200210c843062002e00565b90506200212583878960c001518a60e001513062003563565b620021df60405180610160016040528089600001516001600160a01b031681526020018881526020018960a00151815260200189602001516001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b0316815260200189604001516001600160a01b0316815260200189606001516001600160a01b0316815260200189610100015160020b815260200189610120015160020b815260200189610140015162ffffff16815250620036ce565b50506000620021ef863062002e00565b90506000620021ff863062002e00565b90506200220f8787848462002eaa565b6000604051806101600160405280896001600160a01b03168152602001886001600160a01b031681526020018b608001516001600160a01b031681526020018b610100015160020b81526020018b610120015160020b81526020018481526020018381526020016000815260200160008152602001306001600160a01b031681526020014281525090506000609760009054906101000a90046001600160a01b03166001600160a01b031663fe3f3be7836040518263ffffffff1660e01b8152600401620022de9190620050fa565b6080604051808303816000875af1158015620022fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023249190620051c7565b50508c516101008e01516101208f015160405163c1faa55b60e01b81526004810186905260006024820152600292830b6044820152910b60648201529293506001600160a01b03169163c1faa55b9150608401600060405180830381600087803b1580156200239257600080fd5b505af1158015620023a7573d6000803e3d6000fd5b505050506000620023b98a3062002e00565b90506000620023c98a3062002e00565b60a054909150620023f7906001600160a01b03168c8c620023eb8c8762005027565b6200135f8c8762005027565b8c600001516001600160a01b03167f59822d4047fdf97c6f9d4046ab230d12a4cc4827ebda804c112c2c7cf3c29ae28e61010001518f610120015160405162002450929190600292830b8152910b602082015260400190565b60405180910390a250505050505050505050505050565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa158015620024bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024e1919062004d6c565b1562002500576040516306eb3ed160e31b815260040160405180910390fd5b6200250a62002bfa565b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562002568573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200258e919062004d6c565b620025ac5760405163142bddf560e01b815260040160405180910390fd5b6097546040805160808101825283815260a0546001600160a01b0390811660208301526001600160801b038284018190526060830152915163fc6f786560e01b8152919092169163fc6f78659162002608919060040162005206565b60408051808303816000875af115801562002627573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200264d919062004dfe565b505062000e7c6001606555565b609c81815481106200266b57600080fd5b6000918252602090912001546001600160a01b0316905081565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa158015620026d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ff919062004d6c565b156200271e576040516306eb3ed160e31b815260040160405180910390fd5b6200272862002bfa565b609e5460405163d43660f160e01b81526001600160a01b038b811660048301529091169063d43660f1906024016020604051808303816000875af115801562002775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200279b919062004d6c565b620027b957604051630b5a457960e11b815260040160405180910390fd5b6000896001600160a01b03166317d70f7c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620027fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002822919062004ff7565b90506001600160a01b038a166200284c5760405163e6c4247b60e01b815260040160405180910390fd5b886000036200286e5760405163d11b25af60e01b815260040160405180910390fd5b6040516370a0823160e01b81523360048201526001600160a01b038b16906370a0823190602401602060405180830381865afa158015620028b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028d9919062004ff7565b891115620028fa57604051631e9acf1760e31b815260040160405180910390fd5b60008a6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200293b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002961919062004ff7565b604051632770a7eb60e21b8152336004820152602481018c90529091506001600160a01b038c1690639dc29fac90604401600060405180830381600087803b158015620029ad57600080fd5b505af1158015620029c2573d6000803e3d6000fd5b50505050600062002a00828c620029d986620034df565b6001600160801b0316620029ee919062005249565b620029fa919062005263565b6200385d565b905062002a1181848c8c3362003563565b6040516001600160801b038216815233907fdd03239c467d2f6a44131ee7a4598a34d0f2e5007c12705218171c245ce2fb169060200160405180910390a250505062001e4c6001606555565b609860009054906101000a90046001600160a01b03166001600160a01b03166320e460316040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002ab1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ad7919062004d6c565b1562002af6576040516306eb3ed160e31b815260040160405180910390fd5b62002b0062002bfa565b609a54604051632474521560e21b815260008051602062005c6083398151915260048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa15801562002b5e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b84919062004d6c565b62002ba25760405163142bddf560e01b815260040160405180910390fd5b609b54604080516080810182526001600160a01b038681168252858116602083015287811682840152606082018590529151632239f65360e11b81529190921691634473eca69162001a4f91908990600401620050ba565b60026065540362002c4e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000dd6565b6002606555565b6001606555565b6098546001600160a01b0316331462000e7c5760405163036c8cf960e11b815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562002cbe576200167c836200388c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002d1b575060408051601f3d908101601f1916820190925262002d189181019062004ff7565b60015b62002d805760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000dd6565b60008051602062005c19833981519152811462002df25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000dd6565b506200167c8383836200392b565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a0823190602401602060405180830381865afa15801562002e4b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e71919062004ff7565b90505b92915050565b811562002e8f5762002e8f8433308562003956565b801562002ea45762002ea48333308462003956565b50505050565b811562002ecb5760975462002ecb9085906001600160a01b03168462003a9e565b801562002ea45760975462002ea49084906001600160a01b03168362003a9e565b6000846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f2d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f53919062004ff7565b905060008160000362002f7157506001600160801b03831662003037565b600062002f7e86620034df565b6001600160801b0316670de0b6b3a7640000866001600160801b031662002fa6919062005249565b62002fb2919062005263565b604051630d9bb71760e41b8152600481018290526024810185905290915073c65e9bd2a3b59d46966797dcdd9a603e94cb495a9063d9bb717090604401602060405180830381865af41580156200300d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003033919062004ff7565b9150505b6040516340c10f1960e01b81526001600160a01b038481166004830152602482018390528716906340c10f1990604401600060405180830381600087803b1580156200308257600080fd5b505af115801562003097573d6000803e3d6000fd5b50505050505050505050565b8115620030b757620030b78486846200334b565b801562001a8e5762001a8e8386836200334b565b6000826001600160a01b0316630dfe16816040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200310e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003134919062004e6f565b90506000836001600160a01b031663d21220a76040518163ffffffff1660e01b81526004016020604051808303816000875af115801562003179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200319f919062004e6f565b90506000620031af833062002e00565b90506000620031bf833062002e00565b9050620031d784848760000151886020015162002e7a565b6000620031e5853062002e00565b90506000620031f5853062002e00565b905062003203848362005027565b875262003211838262005027565b60208801819052875162003229918891889162002eaa565b600080620032388a8a62003b21565b60405163c929ccf360e01b81526004810183905291935091506001600160a01b038b169063c929ccf390602401600060405180830381600087803b1580156200328057600080fd5b505af115801562003295573d6000803e3d6000fd5b50506040516340c10f1960e01b81523360048201526001600160801b03841660248201526001600160a01b038d1692506340c10f199150604401600060405180830381600087803b158015620032ea57600080fd5b505af1158015620032ff573d6000803e3d6000fd5b505050506200330f883062002e00565b93506200331d873062002e00565b92506200333e8b8989620033328a8962005027565b6200135f8a8962005027565b5050505050505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691620033a9919062005286565b6000604051808303816000865af19150503d8060008114620033e8576040519150601f19603f3d011682016040523d82523d6000602084013e620033ed565b606091505b50915091508180156200341b5750805115806200341b5750808060200190518101906200341b919062004d6c565b62001a8e5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b606482015260840162000dd6565b600054610100900460ff16620034a95760405162461bcd60e51b815260040162000dd690620052a4565b565b600054610100900460ff16620034d55760405162461bcd60e51b815260040162000dd690620052a4565b620034a962003d1d565b60975460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161018060405180830381865afa1580156200352b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620035519190620052ef565b50929c9b505050505050505050505050565b6097546040805160a0810182528681526001600160801b03888116602083019081528284018881526060840188815242608086019081529551630624e65f60e11b8152945160048601529151909216602484015290516044830152516064820152905160848201526001600160a01b0390911690630c49ccbe9060a40160408051808303816000875af1158015620035ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003625919062004dfe565b5050609754604080516080810182528681526001600160a01b0384811660208301526001600160801b038284018190526060830152915163fc6f786560e01b8152919092169163fc6f78659162003680919060040162005206565b60408051808303816000875af11580156200369f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620036c5919062004dfe565b50505050505050565b600080600083604001511115620036f457620036ea8362003d47565b9092509050915091565b60985460975460405163ec4db13960e01b81527360c29ef13b2629fd0b5ab36410401d81d47bd3499263ec4db1399262003741926001600160a01b039283169289921690600401620053e3565b60006040518083038186803b1580156200375a57600080fd5b505af41580156200376f573d6000803e3d6000fd5b50505060808401516040516370a0823160e01b81523060048201526001600160a01b0390911691506370a0823190602401602060405180830381865afa158015620037be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037e4919062004ff7565b60a08401516040516370a0823160e01b81523060048201529193506001600160a01b0316906370a0823190602401602060405180830381865afa15801562003830573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003856919062004ff7565b9050915091565b60006001600160801b03821115620038885760405163272f619f60e01b815260040160405180910390fd5b5090565b6001600160a01b0381163b620038fb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000dd6565b60008051602062005c1983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200393683620040e7565b600082511180620039445750805b156200167c5762002ea4838362004129565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691620039bc919062005286565b6000604051808303816000865af19150503d8060008114620039fb576040519150601f19603f3d011682016040523d82523d6000602084013e62003a00565b606091505b509150915081801562003a2e57508051158062003a2e57508080602001905181019062003a2e919062004d6c565b62003a965760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b606482015260840162000dd6565b505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526000602483015284169063095ea7b3906044016020604051808303816000875af192505050801562003b0c575060408051601f3d908101601f1916820190925262003b099181019062004d6c565b60015b1562003b1457505b6200167c83838362004151565b6000806000604051806101600160405280866001600160a01b0316630dfe16816040518163ffffffff1660e01b81526004016020604051808303816000875af115801562003b73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003b99919062004e6f565b6001600160a01b03168152602001866001600160a01b031663d21220a76040518163ffffffff1660e01b81526004016020604051808303816000875af115801562003be8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003c0e919062004e6f565b6001600160a01b031681526020018560c001516001600160a01b03168152602001856080015160020b81526020018560a0015160020b815260200185600001518152602001856020015181526020018560400151815260200185606001518152602001306001600160a01b03168152602001428152509050609760009054906101000a90046001600160a01b03166001600160a01b031663fe3f3be7826040518263ffffffff1660e01b815260040162003cc99190620050fa565b6080604051808303816000875af115801562003ce9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d0f9190620051c7565b509197909650945050505050565b600054610100900460ff1662002c555760405162461bcd60e51b815260040162000dd690620052a4565b60c081015160e0820151608083015160a08401516000938493909290916001600160a01b03808516908416148062003dae5750816001600160a01b0316836001600160a01b0316148062003dac5750806001600160a01b0316836001600160a01b0316145b155b8062003de95750816001600160a01b0316846001600160a01b0316148062003de75750806001600160a01b0316846001600160a01b0316145b155b1562003e0857604051630f58058360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801562003e50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e76919062004ff7565b905062003e838862004283565b60985488516097546101008b01516101208c015160808d015160a08e01516040516370a0823160e01b81523060048201527360c29ef13b2629fd0b5ab36410401d81d47bd3499763099587e5976001600160a01b039182169790969082169590949093909290918f918c918316906370a0823190602401602060405180830381865afa15801562003f18573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f3e919062004ff7565b6040516001600160e01b031960e08d901b1681526001600160a01b039a8b166004820152988a1660248a01529689166044890152600295860b60648901529390940b608487015290861660a4860152851660c4850152931660e4830152610104820192909252610124810191909152610144016040805180830381865af415801562003fce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ff4919062004dfe565b60808a01516040516370a0823160e01b81523060048201529299509097506001600160a01b0316906370a0823190602401602060405180830381865afa15801562004043573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004069919062004ff7565b60a08901516040516370a0823160e01b81523060048201529198506001600160a01b0316906370a0823190602401602060405180830381865afa158015620040b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620040db919062004ff7565b95505050505050915091565b620040f2816200388c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062002e71838360405180606001604052806027815260200162005c396027913962004404565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620041af919062005286565b6000604051808303816000865af19150503d8060008114620041ee576040519150601f19603f3d011682016040523d82523d6000602084013e620041f3565b606091505b5091509150818015620042215750805115806200422157508080602001905181019062004221919062004d6c565b62001a8e5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657248656c7065723a3a73616665417070726f76653a2061707060448201526a1c9bdd994819985a5b195960aa1b606482015260840162000dd6565b60c0810151604080830151609f54915163095ea7b360e01b81526001600160a01b03928316600482015260248101829052909183169063095ea7b3906044016020604051808303816000875af1158015620042e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004308919062004d6c565b50609f5460408051610100810182526001600160a01b03858116825260e0878101518216602084019081526060808a0151841685870190815230918601918252426080870190815260a087018a8152600060c089018181529689019081529851630b3ce3c960e11b81529751871660048901529351861660248801529051851660448701529051841660648601525160848501525160a48401525160c48301529151821660e4820152911690631679c79290610104016020604051808303816000875af1158015620043de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ea4919062004ff7565b6060600080856001600160a01b03168560405162004423919062005286565b600060405180830381855af49150503d806000811462004460576040519150601f19603f3d011682016040523d82523d6000602084013e62004465565b606091505b509150915062000d818683838760608315620044e6578251600003620044de576001600160a01b0385163b620044de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000dd6565b5081620044f2565b620044f28383620044fa565b949350505050565b8151156200450b5781518083602001fd5b8060405162461bcd60e51b815260040162000dd69190620054dc565b61072780620054f283390190565b60008082840360a08112156200454a57600080fd5b60808112156200455957600080fd5b50919360808501359350915050565b6001600160a01b038116811462000e7c57600080fd5b80356200458b8162004568565b919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715620045cd57620045cd62004590565b60405290565b60405160e0810167ffffffffffffffff81118282101715620045cd57620045cd62004590565b600067ffffffffffffffff8084111562004617576200461762004590565b604051601f8501601f19908116603f0116810190828211818310171562004642576200464262004590565b816040528093508581528686860111156200465c57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126200468857600080fd5b62002e7183833560208501620045f9565b8060020b811462000e7c57600080fd5b80356200458b8162004699565b60008060008060008060c08789031215620046d057600080fd5b8635620046dd8162004568565b95506020870135620046ef8162004568565b9450604087013567ffffffffffffffff808211156200470d57600080fd5b6200471b8a838b0162004676565b955060608901359150808211156200473257600080fd5b506200474189828a0162004676565b9350506080870135620047548162004699565b915060a0870135620047668162004699565b809150509295509295509295565b6000602082840312156200478757600080fd5b8135620047948162004568565b9392505050565b60008060408385031215620047af57600080fd5b8235620047bc8162004568565b9150602083013567ffffffffffffffff811115620047d957600080fd5b8301601f81018513620047eb57600080fd5b620047fc85823560208401620045f9565b9150509250929050565b803562ffffff811681146200458b57600080fd5b600061016082840312156200482e57600080fd5b62004838620045a6565b62004843836200457e565b815262004853602084016200457e565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201526200488e60c084016200457e565b60c0820152620048a160e084016200457e565b60e0820152610100620048b68185016200457e565b908201526101208381013590820152610140620048d581850162004806565b908201529392505050565b600080600083850360e0811215620048f757600080fd5b8435620049048162004568565b93506020850135620049168162004568565b925060a0603f19820112156200492b57600080fd5b5060405160a0810181811067ffffffffffffffff8211171562004952576200495262004590565b806040525060408501358152606085013560208201526080850135604082015260a0850135606082015260c08501356200498c8162004568565b608082015292959194509192509050565b600080600080600060a08688031215620049b657600080fd5b853594506020860135620049ca8162004568565b93506040860135620049dc8162004568565b92506060860135620049ee8162004568565b949793965091946080013592915050565b60008060008060008086880361018081121562004a1b57600080fd5b873562004a288162004568565b9650602088013562004a3a8162004568565b9550604088013562004a4c8162004568565b9450606088013567ffffffffffffffff8082111562004a6a57600080fd5b62004a788b838c0162004676565b955060808a013591508082111562004a8f57600080fd5b5062004a9e8a828b0162004676565b93505060e0609f198201121562004ab457600080fd5b5062004abf620045d3565b60a0880135815260c0880135602082015260e08801356040820152610100880135606082015261012088013562004af68162004699565b608082015261014088013562004b0c8162004699565b60a082015261016088013562004b228162004568565b8060c083015250809150509295509295509295565b600080600080600080600080610100898b03121562004b5557600080fd5b883562004b628162004568565b9750602089013562004b748162004568565b9650604089013562004b868162004568565b9550606089013562004b988162004568565b9450608089013562004baa8162004568565b935060a089013562004bbc8162004568565b925060c089013562004bce8162004568565b8092505060e089013590509295985092959890939650565b6000610160828403121562004bfa57600080fd5b62004c04620045a6565b62004c0f836200457e565b815262004c1f602084016200457e565b602082015262004c32604084016200457e565b604082015262004c45606084016200457e565b606082015262004c58608084016200457e565b608082015260a083013560a082015260c083013560c082015260e083013560e082015261010062004c8b818501620046a9565b9082015261012062004c9f848201620046a9565b90820152610140620048d584820162004806565b60006020828403121562004cc657600080fd5b5035919050565b60008060008060008060008060006101208a8c03121562004ced57600080fd5b893562004cfa8162004568565b985060208a0135975060408a0135965060608a0135955060808a013562004d218162004568565b945060a08a013562004d338162004568565b935060c08a013562004d458162004568565b925060e08a0135915062004d5d6101008b0162004806565b90509295985092959850929598565b60006020828403121562004d7f57600080fd5b815180151581146200479457600080fd5b6001600160a01b03848116825260c0820190843562004daf8162004568565b818116602085015250602085013562004dc88162004568565b818116604085015250604085013562004de18162004568565b166060838101919091529390930135608082015260a00152919050565b6000806040838503121562004e1257600080fd5b505080516020909101519092909150565b80516200458b8162004568565b6000806040838503121562004e4457600080fd5b825162004e518162004568565b602084015190925062004e648162004568565b809150509250929050565b60006020828403121562004e8257600080fd5b8151620047948162004568565b60005b8381101562004eac57818101518382015260200162004e92565b50506000910152565b6000815180845262004ecf81602086016020860162004e8f565b601f01601f19169290920160200192915050565b6001600160a01b03868116825285811660208301528416604082015260a06060820181905260009062004f199083018562004eb5565b828103608084015262004f2d818562004eb5565b98975050505050505050565b6001600160a01b0383168152604060208201819052600090620044f29083018462004eb5565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200500a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111562002e745762002e7462005011565b80516001600160801b03811681146200458b57600080fd5b6000806000606084860312156200506b57600080fd5b62005076846200503d565b925060208401519150604084015190509250925092565b80516200458b8162004699565b600060208284031215620050ad57600080fd5b8151620047948162004699565b82516001600160a01b0390811682526020808501518216908301526040808501519091169082015260609283015192810192909252608082015260a00190565b81516001600160a01b03168152610160810160208301516200512760208401826001600160a01b03169052565b5060408301516200514360408401826001600160a01b03169052565b50606083015162005159606084018260020b9052565b5060808301516200516f608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151620051b6828501826001600160a01b03169052565b505061014092830151919092015290565b60008060008060808587031215620051de57600080fd5b84519350620051f0602086016200503d565b6040860151606090960151949790965092505050565b815181526020808301516001600160a01b0316908201526040808301516001600160801b0390811691830191909152606092830151169181019190915260800190565b808202811582820484141762002e745762002e7462005011565b6000826200528157634e487b7160e01b600052601260045260246000fd5b500490565b600082516200529a81846020870162004e8f565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000806000806000806000806000806000806101808d8f0312156200531357600080fd5b8c516affffffffffffffffffffff811681146200532f57600080fd5b9b506200533f60208e0162004e23565b9a506200534f60408e0162004e23565b99506200535f60608e0162004e23565b98506200536f60808e0162004e23565b97506200537f60a08e016200508d565b96506200538f60c08e016200508d565b95506200539f60e08e016200503d565b94506101008d015193506101208d01519250620053c06101408e016200503d565b9150620053d16101608e016200503d565b90509295989b509295989b509295989b565b6001600160a01b03848116825283511660208201526101a08101602084015160408301526040840151606083015260608401516200542c60808401826001600160a01b03169052565b5060808401516001600160a01b03811660a08401525060a08401516001600160a01b03811660c08401525060c08401516001600160a01b03811660e08401525060e084015161010062005489818501836001600160a01b03169052565b8501519050610120620054a08482018360020b9052565b8501519050610140620054b78482018360020b9052565b85015162ffffff16610160840152506001600160a01b038316610180830152620044f2565b60208152600062002e71602083018462004eb556fe608060405260405161072738038061072783398101604081905261002291610319565b61002e82826000610035565b5050610436565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d08383604051806060016040528060278152602001610700602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e7565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b81526004016101489190610403565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b50506000910152565b6000806040838503121561032c57600080fd5b82516001600160a01b038116811461034357600080fd5b60208401519092506001600160401b038082111561036057600080fd5b818501915085601f83011261037457600080fd5b815181811115610386576103866102df565b604051601f8201601f19908116603f011681019083821181831017156103ae576103ae6102df565b816040528281528860208487010111156103c757600080fd5b6103d88360208301602088016102f5565b80955050505050509250929050565b600082516103f98184602087016102f5565b9190910192915050565b60208152600082518060208401526104228160408501602087016102f5565b601f01601f19169190910160400192915050565b6102bb806104456000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025f602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e0919061020f565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101af5782516000036101a8576001600160a01b0385163b6101a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b9565b6101b983836101c1565b949350505050565b8151156101d15781518083602001fd5b8060405162461bcd60e51b815260040161019f919061022b565b60005b838110156102065781810151838201526020016101ee565b50506000910152565b600082516102218184602087016101eb565b9190910192915050565b602081526000825180602084015261024a8160408501602087016101eb565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203d912d0abbe116b83dfa1d3a82e612e3256de4ef536ea1a35d0e77601b02b17764736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649c6e3ae929b539a99db03120eac7d9f862d68479b44f1eec05ab6036fcf56830a26469706673582212209ae8f7d327d8b6710df9a61a33c8deff681d1d731a2673ddec5c55be0f9e20c464736f6c63430008110033