0 txs
1 call
constructor
No constructor.
functions
chainedSpeedMarketsAMM
viewfunction chainedSpeedMarketsAMM() view returns (address)
getBonusesPerCollateral
viewfunction getBonusesPerCollateral(address[] collaterals) view returns (uint256[] bonuses)
getChainedMarketsData
viewfunction getChainedMarketsData(address[] marketsArray) view returns (tuple[])
getChainedSpeedMarketsAMMParameters
viewfunction getChainedSpeedMarketsAMMParameters(address _walletAddress) view returns (tuple)
getDirectionalRiskPerAsset
viewfunction getDirectionalRiskPerAsset(bytes32 asset) view returns (tuple[])
getMarketsData
viewfunction getMarketsData(address[] marketsArray) view returns (tuple[])
getRiskPerAsset
viewfunction getRiskPerAsset(bytes32 asset) view returns (tuple)
getSpeedMarketsAMMParameters
viewfunction getSpeedMarketsAMMParameters(address _walletAddress) view returns (tuple)
lastPauseTime
viewfunction lastPauseTime() view returns (uint256)
nominatedOwner
viewfunction nominatedOwner() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
speedMarketsAMM
viewfunction speedMarketsAMM() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
initialize
nonpayablefunction initialize(address _owner, address _speedMarketsAMM)
nominateNewOwner
nonpayablefunction nominateNewOwner(address _owner)
setOwner
nonpayablefunction setOwner(address _owner)
setPaused
nonpayablefunction setPaused(bool _paused)
setSpeedMarketsAMM
nonpayablefunction setSpeedMarketsAMM(address _speedMarketsAMM, address _chainedSpeedMarketsAMM)
transferOwnershipAtInit
nonpayablefunction transferOwnershipAtInit(address proxyAddress)
events
OwnerChanged
event OwnerChanged(address oldOwner, address newOwner)
OwnerNominated
event OwnerNominated(address newOwner)
PauseChanged
event PauseChanged(bool isPaused)
SetSpeedMarketsAMM
event SetSpeedMarketsAMM(address _speedMarketsAMM, address _chainedSpeedMarketsAMM)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50614743806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379ba5097116100ad578063b7c46c1e11610071578063b7c46c1e146102b0578063c3b83f5f146102d0578063d01b279e146102e3578063d9a10e9414610303578063dc17ea5b1461031b57600080fd5b806379ba5097146102385780638da5cb5b1461024057806391b4ded9146102595780639f293fb114610270578063b1a8ab3e1461029057600080fd5b80632c303f62116100f45780632c303f62146101b5578063485cc955146101d557806353a47bb7146101e857806358dc0d63146102085780635c975abb1461021b57600080fd5b806301a494341461013157806313af40351461015a5780631627540c1461016f57806316c38b3c146101825780631ca7415c14610195575b600080fd5b61014461013f366004613c78565b61032e565b6040516101519190613cd7565b60405180910390f35b61016d610168366004613c78565b610b74565b005b61016d61017d366004613c78565b610c97565b61016d610190366004613df0565b610cea565b6101a86101a3366004613e0d565b610d5c565b6040516101519190613e67565b6101c86101c3366004613ec9565b611039565b6040516101519190613fa9565b61016d6101e3366004614138565b611fef565b6001546101fb906001600160a01b031681565b6040516101519190614171565b61016d610216366004614138565b6120d3565b6003546102289060ff1681565b6040519015158152602001610151565b61016d612158565b6000546101fb906201000090046001600160a01b031681565b61026260025481565b604051908152602001610151565b61028361027e366004613ec9565b612243565b6040516101519190614185565b6102a361029e366004613ec9565b612e07565b60405161015191906142ad565b6102c36102be366004613c78565b612f28565b60405161015191906142f1565b61016d6102de366004613c78565b61359d565b6102f66102f1366004613e0d565b6136a0565b60405161015191906143ce565b6003546101fb9061010090046001600160a01b031681565b6004546101fb906001600160a01b031681565b6103c2604051806102000160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160401b0316815260200160006001600160401b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016000151581525090565b60035460405163023fb25960e01b815260009161010090046001600160a01b03169063023fb259906103f8908690600401614171565b60a060405180830381865afa158015610415573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043991906143fb565b60808101519091506000816001600160401b0381111561045b5761045b6143e5565b604051908082528060200260200182016040528015610484578160200160208202803683370190505b5090506000826001600160401b038111156104a1576104a16143e5565b6040519080825280602002602001820160405280156104ca578160200160208202803683370190505b50905060005b8381101561060657600354604051632b18dfc560e11b8152600481018390526101009091046001600160a01b031690635631bf8a90602401602060405180830381865afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610549919061448e565b83828151811061055b5761055b614478565b6020908102919091010152600354604051634eb7c43b60e01b8152600481018390526101009091046001600160a01b031690634eb7c43b90602401602060405180830381865afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d7919061448e565b8282815181106105e9576105e9614478565b6020908102919091010152806105fe816144bd565b9150506104d0565b50604080516102008101825285518152602080870151908201529081016001600160a01b03881661063857600061063e565b60408601515b81526020016001600160a01b03881661065857600061065e565b60608601515b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166312aa38336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106da919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166307b53bb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610732573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610756919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316633e7ad1de6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d2919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635403f80f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084e919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663a201b3076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca91906144d6565b6001600160401b03168152602001600360019054906101000a90046001600160a01b03166001600160a01b031663cf898ca96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f91906144d6565b6001600160401b03168152602001838152602001828152602001600360019054906101000a90046001600160a01b03166001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e0919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663e91558666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c919061448e565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061448e565b81526020016001600160a01b038816610af2576000610b66565b60035460405162d9267b60e31b81526101009091046001600160a01b0316906306c933d890610b25908b90600401614171565b602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6691906144ff565b151590529695505050505050565b6001600160a01b038116610bcb5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff1615610c375760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610bc2565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b038316620100000262010000600160b01b03199091161781556040516000805160206146ee83398151915291610c8c91849061451c565b60405180910390a150565b610c9f6137b7565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610c8c908390614171565b610cf26137b7565b60035460ff16151581151514610d59576003805460ff191682151590811790915560ff1615610d2057426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec590602001610c8c565b50565b60408051600280825260608083018452926000929190602083019080368337019050509050600081600081518110610d9657610d96614478565b60200260200101906001811115610daf57610daf613e26565b90816001811115610dc257610dc2613e26565b81525050600181600181518110610ddb57610ddb614478565b60200260200101906001811115610df457610df4613e26565b90816001811115610e0757610e07613e26565b81525050600081516001600160401b03811115610e2657610e266143e5565b604051908082528060200260200182016040528015610e7c57816020015b610e696040805160608101909152806000815260200160008152602001600081525090565b815260200190600190039081610e445790505b50905060005b8251811015611031576000838281518110610e9f57610e9f614478565b6020026020010151905080838381518110610ebc57610ebc614478565b6020026020010151600001906001811115610ed957610ed9613e26565b90816001811115610eec57610eec613e26565b90525060035460405163016ff7f560e21b81526101009091046001600160a01b0316906305bfdfd490610f259089908590600401614536565b602060405180830381865afa158015610f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f66919061448e565b838381518110610f7857610f78614478565b602090810291909101810151015260035460405163e11f951d60e01b81526101009091046001600160a01b03169063e11f951d90610fbc9089908590600401614536565b602060405180830381865afa158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffd919061448e565b83838151811061100f5761100f614478565b6020908102919091010151604001525080611029816144bd565b915050610e82565b509392505050565b60606000826001600160401b03811115611055576110556143e5565b60405190808252806020026020018201604052801561112a57816020015b6111176040805161026081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c082019081526020016060815260200160608152602001606081526020016000815260200160006001600160a01b03168152602001600015158152602001600081526020016000815260200160001515815260200160001515815260200160008152602001600081525090565b8152602001906001900390816110735790505b50905060005b83811015611fe557600085858381811061114c5761114c614478565b90506020020160208101906111619190613c78565b9050806001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190614553565b8383815181106111d7576111d7614478565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d919061448e565b83838151811061126f5761126f614478565b60200260200101516020018181525050806001600160a01b0316638b13b64b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e191906144d6565b8383815181106112f3576112f3614478565b6020026020010151604001906001600160401b031690816001600160401b031681525050806001600160a01b03166320c1bb466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906144d6565b83838151811061138b5761138b614478565b6020026020010151606001906001600160401b031690816001600160401b031681525050806001600160a01b03166351d8044f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141191906144d6565b83838151811061142357611423614478565b6020026020010151608001906001600160401b031690816001600160401b031681525050806001600160a01b031663855d68cb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a99190614570565b8383815181106114bb576114bb614478565b602002602001015160a0019060070b908160070b81525050806001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561152d575060408051601f3d908101601f1916820190925261152a918101906145a0565b60015b61157d57600083838151811061154557611545614478565b602002602001015160c00190600181111561156257611562613e26565b9081600181111561157557611575613e26565b9052506115c5565b8084848151811061159057611590614478565b602002602001015160c0019060018111156115ad576115ad613e26565b908160018111156115c0576115c0613e26565b905250505b6000816001600160a01b031663e004b5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162991906145bd565b60ff166001600160401b03811115611643576116436143e5565b60405190808252806020026020018201604052801561166c578160200160208202803683370190505b5090506000826001600160a01b03166377680bb56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d3919061448e565b6001600160401b038111156116ea576116ea6143e5565b604051908082528060200260200182016040528015611713578160200160208202803683370190505b5090506000836001600160a01b03166377680bb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a919061448e565b6001600160401b03811115611791576117916143e5565b6040519080825280602002602001820160405280156117ba578160200160208202803683370190505b50905060005b846001600160a01b031663e004b5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182291906145bd565b60ff16811015611b0e57604051635f51b5c760e01b8152600481018290526001600160a01b03861690635f51b5c790602401602060405180830381865afa158015611871573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189591906145a0565b8482815181106118a7576118a7614478565b602002602001019060018111156118c0576118c0613e26565b908160018111156118d3576118d3613e26565b81525050846001600160a01b03166377680bb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611939919061448e565b811015611afc576040516317a569fb60e11b8152600481018290526001600160a01b03861690632f4ad3f690602401602060405180830381865afa9250505080156119a1575060408051601f3d908101601f1916820190925261199e91810190614570565b60015b6119db573d8080156119cf576040519150601f19603f3d011682016040523d82523d6000602084013e6119d4565b606091505b5050611a6c565b506040516317a569fb60e11b8152600481018290526001600160a01b03861690632f4ad3f690602401602060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190614570565b838281518110611a5757611a57614478565b602002602001019060070b908160070b815250505b60405163027160a360e51b8152600481018290526001600160a01b03861690634e2c146090602401602060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad59190614570565b828281518110611ae757611ae7614478565b602002602001019060070b908160070b815250505b80611b06816144bd565b9150506117c0565b5082868681518110611b2257611b22614478565b602002602001015160e0018190525081868681518110611b4457611b44614478565b6020026020010151610100018190525080868681518110611b6757611b67614478565b60200260200101516101200181905250836001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd9919061448e565b868681518110611beb57611beb614478565b60200260200101516101400181815250506000600460009054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c759190614553565b90506000611c838683613831565b905080888881518110611c9857611c98614478565b602002602001015161016001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316816001600160a01b031614888881518110611ce457611ce4614478565b602090810291909101015190151561018090910152611d04866001613918565b888881518110611d1657611d16614478565b60200260200101516101a0018181525050856001600160a01b0316635c8127376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d89919061448e565b888881518110611d9b57611d9b614478565b60200260200101516101c0018181525050856001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0e91906144ff565b888881518110611e2057611e20614478565b60200260200101516101e0019015159081151581525050856001600160a01b0316633a2c1e556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9991906144ff565b888881518110611eab57611eab614478565b6020026020010151610200019015159081151581525050856001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f24919061448e565b888881518110611f3657611f36614478565b6020026020010151610220018181525050856001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa9919061448e565b888881518110611fbb57611fbb614478565b60200260200101516102400181815250505050505050508080611fdd906144bd565b915050611130565b5090505b92915050565b600054610100900460ff1661200a5760005460ff161561200e565b303b155b6120715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bc2565b600054610100900460ff16158015612093576000805461ffff19166101011790555b61209c83610b74565b60038054610100600160a81b0319166101006001600160a01b0385160217905580156120ce576000805461ff00191690555b505050565b6120db6137b7565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517f58cdb7e3ecb56fe758429959e8977ca9e1de157dc08685f4b5de5c6db99037e09061214c908490849061451c565b60405180910390a15050565b6001546001600160a01b031633146121d05760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610bc2565b6000546001546040516000805160206146ee83398151915292612207926001600160a01b036201000090920482169291169061451c565b60405180910390a1600180546000805462010000600160b01b0319166001600160a01b03831662010000021790556001600160a01b0319169055565b60606000826001600160401b0381111561225f5761225f6143e5565b60405190808252806020026020018201604052801561231657816020015b604080516102208101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c082018190526101e08201819052610200820152825260001990920191018161227d5790505b50905060005b83811015611fe557600085858381811061233857612338614478565b905060200201602081019061234d9190613c78565b9050806001600160a01b0316634f8632ba6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561238d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b19190614553565b8383815181106123c3576123c3614478565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612425573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612449919061448e565b83838151811061245b5761245b614478565b60200260200101516020018181525050806001600160a01b03166351d8044f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124cd91906144d6565b8383815181106124df576124df614478565b6020026020010151604001906001600160401b031690816001600160401b031681525050806001600160a01b031663c52987cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125659190614570565b83838151811061257757612577614478565b60200260200101516060019060070b908160070b81525050806001600160a01b031663645539ed6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f191906145a0565b83838151811061260357612603614478565b602002602001015160a00190600181111561262057612620613e26565b9081600181111561263357612633613e26565b81525050806001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612699919061448e565b8383815181106126ab576126ab614478565b602002602001015160c0018181525050806001600160a01b0316633f6fa6556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d91906144ff565b83838151811061272f5761272f614478565b6020026020010151610140019015159081151581525050806001600160a01b031663a6b513ee6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a89190614570565b8383815181106127ba576127ba614478565b6020026020010151610160019060070b908160070b81525050806001600160a01b031663653721476040518163ffffffff1660e01b8152600401602060405180830381865afa158015612811573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283591906145a0565b83838151811061284757612847614478565b60200260200101516101800190600181111561286557612865613e26565b9081600181111561287857612878613e26565b81525050806001600160a01b0316633a2c1e556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128de91906144ff565b8383815181106128f0576128f0614478565b60200260200101516101a0019015159081151581525050806001600160a01b031663a2cdf76d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612961575060408051601f3d908101601f1916820190925261295e918101906145a0565b60015b6129b157600083838151811061297957612979614478565b602002602001015160800190600181111561299657612996613e26565b908160018111156129a9576129a9613e26565b9052506129f9565b808484815181106129c4576129c4614478565b60200260200101516080019060018111156129e1576129e1613e26565b908160018111156129f4576129f4613e26565b905250505b6000600360019054906101000a90046001600160a01b03166001600160a01b0316639324cac76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a729190614553565b90506000612a808383613831565b905080858581518110612a9557612a95614478565b602002602001015160e001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316816001600160a01b031614858581518110612ae057612ae0614478565b602090810291909101015190151561010090910152612b00836000613918565b858581518110612b1257612b12614478565b6020908102919091010151610120015260035461010090046001600160a01b031663fd6e9b97898987818110612b4a57612b4a614478565b9050602002016020810190612b5f9190613c78565b6040518263ffffffff1660e01b8152600401612b7b9190614171565b602060405180830381865afa158015612b98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbc91906144ff565b15612ccc57826001600160a01b031663d69fb6686040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c23919061448e565b858581518110612c3557612c35614478565b60200260200101516101c0018181525050826001600160a01b031663704ce43e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca8919061448e565b858581518110612cba57612cba614478565b60200260200101516101e00181815250505b60035461010090046001600160a01b03166301bea636898987818110612cf457612cf4614478565b9050602002016020810190612d099190613c78565b6040518263ffffffff1660e01b8152600401612d259190614171565b602060405180830381865afa158015612d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6691906144ff565b15612df157826001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dcd919061448e565b858581518110612ddf57612ddf614478565b60200260200101516102000181815250505b5050508080612dff906144bd565b91505061231c565b6060816001600160401b03811115612e2157612e216143e5565b604051908082528060200260200182016040528015612e4a578160200160208202803683370190505b50905060005b82811015612f215760035461010090046001600160a01b0316633c1ae421858584818110612e8057612e80614478565b9050602002016020810190612e959190613c78565b6040518263ffffffff1660e01b8152600401612eb19190614171565b602060405180830381865afa158015612ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef2919061448e565b828281518110612f0457612f04614478565b602090810291909101015280612f19816144bd565b915050612e50565b5092915050565b612f30613bce565b6004805460405163023fb25960e01b81526000926001600160a01b039092169163023fb25991612f6291879101614171565b608060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa391906145e0565b9050612fc2604051806040016040528060008152602001600081525090565b600480546040805160016221f06960e01b0319815290516001600160a01b039092169263ffde0f979282820192602092908290030181865afa15801561300c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613030919061448e565b8152600480546040805163dc56e7b360e01b815290516001600160a01b039092169263dc56e7b39282820192602092908290030181865afa158015613079573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309d919061448e565b8160200181815250506000600460009054906101000a90046001600160a01b03166001600160a01b03166323b312156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061311f919061448e565b90506000600460009054906101000a90046001600160a01b03166001600160a01b031663f823c6436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319a919061448e565b905060006131a88383614638565b6131b390600161464b565b90506000816001600160401b038111156131cf576131cf6143e5565b6040519080825280602002602001820160405280156131f8578160200160208202803683370190505b50905060005b828110156132a0576004805460405163c80a4fa560e01b81529182018390526001600160a01b03169063c80a4fa590602401602060405180830381865afa15801561324d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613271919061448e565b82828151811061328357613283614478565b602090810291909101015280613298816144bd565b9150506131fe565b50604080516101a08101825287518152602080890151908201529081016001600160a01b038a166132d25760006132d8565b60408801515b81526020016001600160a01b038a166132f25760006132f8565b60608801515b8152602001858152602001848152602001600460009054906101000a90046001600160a01b03166001600160a01b03166335f127526040518163ffffffff1660e01b8152600401602060405180830381865afa15801561335c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338091906144d6565b6001600160401b03168152602001600460009054906101000a90046001600160a01b03166001600160a01b0316631b1ad49d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340591906144d6565b6001600160401b03168152602001600460009054906101000a90046001600160a01b03166001600160a01b03166312aa38336040518163ffffffff1660e01b8152600401602060405180830381865afa158015613466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061348a919061448e565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166307b53bb46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613506919061448e565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b0316636c9259f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561355e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613582919061448e565b81526020810196909652604090950152509195945050505050565b6135a56137b7565b6001600160a01b0381166135ed5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610bc2565b600154600160a81b900460ff161561363d5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610bc2565b600080546001600160a01b038084166201000090810262010000600160b01b031990931692909217928390556001805460ff60a81b1916600160a81b1790556040516000805160206146ee83398151915293610c8c93900490911690849061451c565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260035460405163e60a4d2560e01b8152600481018590526101009091046001600160a01b03169063e60a4d2590602401602060405180830381865afa158015613715573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613739919061448e565b81526003546040516362298c0160e11b8152600481018590526101009091046001600160a01b03169063c453180290602401602060405180830381865afa158015613788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ac919061448e565b602082015292915050565b6000546201000090046001600160a01b0316331461382f5760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610bc2565b565b60408051600481526024810182526020810180516001600160e01b031663d8dfeb4560e01b17905290516000917fd8dfeb45c97bc90ccb0083a78e72bfb0b5ba747c4da0382471fb4cb159c965b591839182916001600160a01b038816916138989161465e565b600060405180830381855afa9150503d80600081146138d3576040519150601f19603f3d011682016040523d82523d6000602084013e6138d8565b606091505b50915091508180156138eb575080516020145b1561390e57808060200190518101906139049190614553565b9350505050611fe9565b5092949350505050565b60408051600481526024810182526020810180516001600160e01b03166331de8ea560e11b17905290516000917f63bd1d4a88bedfb7160db00a11fe1bffc8c945fca05210a721e82aed2623941391839182916001600160a01b0388169161397f9161465e565b600060405180830381855afa9150503d80600081146139ba576040519150601f19603f3d011682016040523d82523d6000602084013e6139bf565b606091505b509150915081156139de5780806020019051810190613904919061448e565b84613a5557856001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a45919061448e565b613a5090600261468d565b613b83565b613b83866001600160a01b0316631fcc8bb26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aba919061448e565b876001600160a01b031663e004b5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b1c91906145bd565b886001600160a01b0316635c8127376040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b7e919061448e565b613b8d565b9695505050505050565b8260005b8360ff168160ff16101561103157670de0b6b3a7640000613bb2848461468d565b613bbc91906146ac565b9150613bc7816146ce565b9050613b91565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160401b0316815260200160006001600160401b03168152602001600081526020016000815260200160008152602001613c56604051806040016040528060008152602001600081525090565b8152602001606081525090565b6001600160a01b0381168114610d5957600080fd5b600060208284031215613c8a57600080fd5b8135613c9581613c63565b9392505050565b600081518084526020808501945080840160005b83811015613ccc57815187529582019590820190600101613cb0565b509495945050505050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c082015260c082015160e0820152600060e0830151610100818185015280850151915050610120613d4b818501836001600160401b03169052565b8401519050610140613d67848201836001600160401b03169052565b808501519150506102006101608181860152613d87610220860184613c9c565b9250808601519050610180601f198685030181870152613da78483613c9c565b908701516101a0878101919091528701516101c0808801919091528701516101e0808801919091529096015115159190940152509192915050565b8015158114610d5957600080fd5b600060208284031215613e0257600080fd5b8135613c9581613de2565b600060208284031215613e1f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60028110610d5957634e487b7160e01b600052602160045260246000fd5b613e6381613e3c565b9052565b602080825282518282018190526000919060409081850190868401855b82811015613ebc5781518051613e9981613e3c565b855280870151878601528501518585015260609093019290850190600101613e84565b5091979650505050505050565b60008060208385031215613edc57600080fd5b82356001600160401b0380821115613ef357600080fd5b818501915085601f830112613f0757600080fd5b813581811115613f1657600080fd5b8660208260051b8501011115613f2b57600080fd5b60209290920196919550909350505050565b600081518084526020808501945080840160005b83811015613ccc578151613f6481613e3c565b87529582019590820190600101613f51565b600081518084526020808501945080840160005b83811015613ccc57815160070b87529582019590820190600101613f8a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561412a57888303603f19018552815180516001600160a01b031684528781015188850152868101516001600160401b03908116888601526060808301518216908601526080808301519091169085015260a08082015160070b9085015260c080820151610260919061404882880182613e5a565b505060e080830151828288015261406183880182613f3d565b92505050610100808301518683038288015261407d8382613f76565b9250505061012080830151868303828801526140998382613f76565b92505050610140808301518187015250610160808301516140c4828801826001600160a01b03169052565b5050610180828101511515908601526101a080830151908601526101c080830151908601526101e0808301511515908601526102008083015115159086015261022080830151908601526102409182015191909401529386019390860190600101613fd0565b509098975050505050505050565b6000806040838503121561414b57600080fd5b823561415681613c63565b9150602083013561416681613c63565b809150509250929050565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015613ebc57815180516001600160a01b031685528681015187860152858101516001600160401b03168686015260608082015160070b908601526080808201516141f182880182613e5a565b505060a08082015161420582880182613e5a565b505060c0818101519086015260e0808201516001600160a01b031690860152610100808201511515908601526101208082015190860152610140808201511515908601526101608082015160070b908601526101808082015161426a82880182613e5a565b50506101a0818101511515908601526101c080820151908601526101e08082015190860152610200908101519085015261022090930192908501906001016141a2565b6020808252825182820181905260009190848201906040850190845b818110156142e5578351835292840192918401916001016142c9565b50909695505050505050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c0820152600060c083015161434a60e08401826001600160401b03169052565b5060e0830151610100614367818501836001600160401b03169052565b84015161012084810191909152840151610140808501919091528401516101608085019190915284015190506101806143ac8185018380518252602090810151910152565b8401516101c08481015290506143c66101e0840182613c9c565b949350505050565b815181526020808301519082015260408101611fe9565b634e487b7160e01b600052604160045260246000fd5b600060a0828403121561440d57600080fd5b82601f83011261441c57600080fd5b60405160a081018181106001600160401b038211171561443e5761443e6143e5565b6040528060a084018581111561445357600080fd5b845b8181101561446d578051835260209283019201614455565b509195945050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156144a057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016144cf576144cf6144a7565b5060010190565b6000602082840312156144e857600080fd5b81516001600160401b0381168114613c9557600080fd5b60006020828403121561451157600080fd5b8151613c9581613de2565b6001600160a01b0392831681529116602082015260400190565b8281526040810161454683613e3c565b8260208301529392505050565b60006020828403121561456557600080fd5b8151613c9581613c63565b60006020828403121561458257600080fd5b81518060070b8114613c9557600080fd5b60028110610d5957600080fd5b6000602082840312156145b257600080fd5b8151613c9581614593565b6000602082840312156145cf57600080fd5b815160ff81168114613c9557600080fd5b6000608082840312156145f257600080fd5b82601f83011261460157600080fd5b604051608081018181106001600160401b0382111715614623576146236143e5565b60405280608084018581111561445357600080fd5b81810381811115611fe957611fe96144a7565b80820180821115611fe957611fe96144a7565b6000825160005b8181101561467f5760208186018101518583015201614665565b506000920191825250919050565b60008160001904831182151516156146a7576146a76144a7565b500290565b6000826146c957634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff81036146e4576146e46144a7565b6001019291505056feb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca2646970667358221220cbc6263b7696b1bcd3e4e8ad70267c3c3566561683c4f82886fe0554fbeddc1564736f6c63430008100033