Overview
ETH Balance
ETH Value
$0.00View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
Contract ABI
API[{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"bytes4","name":"what","type":"bytes4"},{"internalType":"uint256[]","name":"how","type":"uint256[]"}],"name":"AuthSenderNotAllowed","type":"error"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"aInflated","type":"uint256"}],"name":"FixedPointDivInternal","type":"error"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"FixedPointMulOverflow","type":"error"},{"inputs":[],"name":"FixedPointZeroDivision","type":"error"},{"inputs":[],"name":"TaskAcceptanceInputLengthMismatch","type":"error"},{"inputs":[],"name":"TaskAcceptanceTokenZero","type":"error"},{"inputs":[],"name":"TaskAmountZero","type":"error"},{"inputs":[],"name":"TaskGasNotInitialized","type":"error"},{"inputs":[{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"uint256","name":"gasPriceLimit","type":"uint256"}],"name":"TaskGasPriceLimitExceeded","type":"error"},{"inputs":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"date","type":"uint256"}],"name":"TaskInvalidAllowedDate","type":"error"},{"inputs":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"window","type":"uint256"}],"name":"TaskInvalidAllowedWindow","type":"error"},{"inputs":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"frequency","type":"uint256"}],"name":"TaskInvalidFrequency","type":"error"},{"inputs":[{"internalType":"uint8","name":"mode","type":"uint8"}],"name":"TaskInvalidFrequencyMode","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"TaskInvalidThresholdInput","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"}],"name":"TaskInvalidVolumeLimitInput","type":"error"},{"inputs":[],"name":"TaskPaused","type":"error"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"TaskPreviousConnectorNotZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"priorityFee","type":"uint256"},{"internalType":"uint256","name":"priorityFeeLimit","type":"uint256"}],"name":"TaskPriorityFeeLimitExceeded","type":"error"},{"inputs":[],"name":"TaskProtocolFeeWithdrawerZero","type":"error"},{"inputs":[],"name":"TaskProtocolFeesCollectorZero","type":"error"},{"inputs":[{"internalType":"bytes32","name":"connectorId","type":"bytes32"}],"name":"TaskSameBalanceConnectors","type":"error"},{"inputs":[{"internalType":"address","name":"smartVault","type":"address"}],"name":"TaskSmartVaultPriceOracleNotSet","type":"error"},{"inputs":[],"name":"TaskThresholdTokenZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentTimestamp","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"TaskTimeLockActive","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"TaskTokenNotAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"TaskTokenThresholdNotMet","type":"error"},{"inputs":[],"name":"TaskTokenZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"txCost","type":"uint256"},{"internalType":"uint256","name":"txCostLimit","type":"uint256"}],"name":"TaskTxCostLimitExceeded","type":"error"},{"inputs":[],"name":"TaskTxCostLimitPctAboveOne","type":"error"},{"inputs":[{"internalType":"uint256","name":"txCostPct","type":"uint256"},{"internalType":"uint256","name":"txCostLimitPct","type":"uint256"}],"name":"TaskTxCostLimitPctExceeded","type":"error"},{"inputs":[],"name":"TaskUnpaused","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"volume","type":"uint256"}],"name":"TaskVolumeLimitExceeded","type":"error"},{"inputs":[],"name":"TaskVolumeLimitTokenZero","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"previous","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"next","type":"bytes32"}],"name":"BalanceConnectorsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"thresholdToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"min","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"max","type":"uint256"}],"name":"CustomTokenThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"limitToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"period","type":"uint256"}],"name":"CustomVolumeLimitSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"min","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"max","type":"uint256"}],"name":"DefaultTokenThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"limitToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"period","type":"uint256"}],"name":"DefaultVolumeLimitSet","type":"event"},{"anonymous":false,"inputs":[],"name":"Executed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"gasPriceLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priorityFeeLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"txCostLimit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"txCostLimitPct","type":"uint256"}],"name":"GasLimitsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeeWithdrawer","type":"address"}],"name":"ProtocolFeeWithdrawerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeesCollector","type":"address"}],"name":"ProtocolFeesCollectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"allowedAt","type":"uint256"}],"name":"TimeLockAllowedAtSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"mode","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"frequency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allowedAt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"window","type":"uint256"}],"name":"TimeLockSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"bool","name":"added","type":"bool"}],"name":"TokensAcceptanceListSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum ITokenIndexedTask.TokensAcceptanceType","name":"acceptanceType","type":"uint8"}],"name":"TokensAcceptanceTypeSet","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"EXECUTION_TYPE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authorizer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"call","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"customTokenThreshold","outputs":[{"internalType":"address","name":"thresholdToken","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"customVolumeLimit","outputs":[{"internalType":"address","name":"limitToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"accrued","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"uint256","name":"nextResetTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultTokenThreshold","outputs":[{"internalType":"address","name":"thresholdToken","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultVolumeLimit","outputs":[{"internalType":"address","name":"limitToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"accrued","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"uint256","name":"nextResetTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalanceConnectors","outputs":[{"internalType":"bytes32","name":"previous","type":"bytes32"},{"internalType":"bytes32","name":"next","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGasLimits","outputs":[{"internalType":"uint256","name":"gasPriceLimit","type":"uint256"},{"internalType":"uint256","name":"priorityFeeLimit","type":"uint256"},{"internalType":"uint256","name":"txCostLimit","type":"uint256"},{"internalType":"uint256","name":"txCostLimitPct","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTaskAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeLock","outputs":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"frequency","type":"uint256"},{"internalType":"uint256","name":"allowedAt","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenThreshold","outputs":[{"internalType":"address","name":"thresholdToken","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokensSource","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getVolumeLimit","outputs":[{"internalType":"address","name":"limitToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"accrued","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"uint256","name":"nextResetTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"smartVault","type":"address"},{"internalType":"bytes32","name":"previousBalanceConnectorId","type":"bytes32"},{"internalType":"bytes32","name":"nextBalanceConnectorId","type":"bytes32"}],"internalType":"struct BaseTask.BaseConfig","name":"baseConfig","type":"tuple"},{"components":[{"internalType":"uint256","name":"gasPriceLimit","type":"uint256"},{"internalType":"uint256","name":"priorityFeeLimit","type":"uint256"},{"internalType":"uint256","name":"txCostLimit","type":"uint256"},{"internalType":"uint256","name":"txCostLimitPct","type":"uint256"}],"internalType":"struct GasLimitedTask.GasLimitConfig","name":"gasLimitConfig","type":"tuple"},{"components":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"frequency","type":"uint256"},{"internalType":"uint256","name":"allowedAt","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct TimeLockedTask.TimeLockConfig","name":"timeLockConfig","type":"tuple"},{"components":[{"internalType":"enum ITokenIndexedTask.TokensAcceptanceType","name":"acceptanceType","type":"uint8"},{"internalType":"address[]","name":"tokens","type":"address[]"}],"internalType":"struct TokenIndexedTask.TokenIndexConfig","name":"tokenIndexConfig","type":"tuple"},{"components":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"internalType":"struct TokenThresholdTask.Threshold","name":"defaultThreshold","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"internalType":"struct TokenThresholdTask.Threshold","name":"threshold","type":"tuple"}],"internalType":"struct TokenThresholdTask.CustomThresholdConfig[]","name":"customThresholdConfigs","type":"tuple[]"}],"internalType":"struct TokenThresholdTask.TokenThresholdConfig","name":"tokenThresholdConfig","type":"tuple"},{"components":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"}],"internalType":"struct VolumeLimitedTask.VolumeLimitParams","name":"defaultVolumeLimit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"}],"internalType":"struct VolumeLimitedTask.VolumeLimitParams","name":"volumeLimit","type":"tuple"}],"internalType":"struct VolumeLimitedTask.CustomVolumeLimitConfig[]","name":"customVolumeLimitConfigs","type":"tuple[]"}],"internalType":"struct VolumeLimitedTask.VolumeLimitConfig","name":"volumeLimitConfig","type":"tuple"}],"internalType":"struct Task.TaskConfig","name":"config","type":"tuple"},{"internalType":"address","name":"withdrawer","type":"address"},{"internalType":"address","name":"collector","type":"address"}],"name":"initializeBalancerClaimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"isTokenAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"protocolFeeWithdrawer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeesCollector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"previous","type":"bytes32"},{"internalType":"bytes32","name":"next","type":"bytes32"}],"name":"setBalanceConnectors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"thresholdToken","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"setCustomTokenThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"limitToken","type":"address"},{"internalType":"uint256","name":"limitAmount","type":"uint256"},{"internalType":"uint256","name":"limitPeriod","type":"uint256"}],"name":"setCustomVolumeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"thresholdToken","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"setDefaultTokenThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"limitToken","type":"address"},{"internalType":"uint256","name":"limitAmount","type":"uint256"},{"internalType":"uint256","name":"limitPeriod","type":"uint256"}],"name":"setDefaultVolumeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGasPriceLimit","type":"uint256"},{"internalType":"uint256","name":"newPriorityFeeLimit","type":"uint256"},{"internalType":"uint256","name":"newTxCostLimit","type":"uint256"},{"internalType":"uint256","name":"newTxCostLimitPct","type":"uint256"}],"name":"setGasLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newProtocolFeeWithdrawer","type":"address"}],"name":"setProtocolFeeWithdrawer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newProtocolFeesCollector","type":"address"}],"name":"setProtocolFeesCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"mode","type":"uint8"},{"internalType":"uint256","name":"frequency","type":"uint256"},{"internalType":"uint256","name":"allowedAt","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"name":"setTimeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"bool[]","name":"added","type":"bool[]"}],"name":"setTokensAcceptanceList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum ITokenIndexedTask.TokensAcceptanceType","name":"newTokensAcceptanceType","type":"uint8"}],"name":"setTokensAcceptanceType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"smartVault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensAcceptanceType","outputs":[{"internalType":"enum ITokenIndexedTask.TokensAcceptanceType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61524b80620000f46000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c80636b1239191161012a578063b187bd26116100bd578063d45a76cf1161008c578063e6b5be9811610071578063e6b5be9814610648578063e97b80711461065b578063f9eaee0d1461066e57600080fd5b8063d45a76cf14610622578063db20de821461063557600080fd5b8063b187bd26146105c8578063c267621e146105e5578063d09edf31146105f6578063d3feb6021461060f57600080fd5b806390333ba8116100f957806390333ba814610515578063a0c3774f14610528578063a33741771461053b578063a5900c4d1461056e57600080fd5b80636b123919146104d45780637125590a146104e75780637cbd3a56146104fa5780638456cb591461050d57600080fd5b80633f4ba83a116101bd5780634fd49efd1161018c5780635670e2ce116101715780635670e2ce146104415780635ea54eee1461045c5780636aacaad81461048857600080fd5b80634fd49efd146103de57806351a424b11461040957600080fd5b80633f4ba83a14610374578063423a4b401461037c57806342d4693e1461038f5780634a45a3a8146103a957600080fd5b8063221a8c68116101f9578063221a8c68146102975780632384c32d1461033b57806330eae5721461034e5780633bd9ef281461036157600080fd5b80630ef917ed1461022b5780630fe105e814610240578063119a5e96146102535780632197238414610284575b600080fd5b61023e6102393660046144a0565b610681565b005b61023e61024e3660046144ce565b6106c6565b61025b610717565b6040805160ff909516855260208501939093529183015260608201526080015b60405180910390f35b61023e61029236600461467c565b61074e565b6103096102a53660046144a0565b6001600160a01b039081166000908152601b6020908152604091829020825160a08101845281549094168085526001820154928501839052600282015493850184905260038201546060860181905260049092015460809095018590529491939091565b604080516001600160a01b0390961686526020860194909452928401919091526060830152608082015260a00161027b565b61023e610349366004614740565b610816565b61023e61035c366004614795565b61085d565b61023e61036f3660046147b0565b6108b2565b61023e61099e565b61023e61038a366004614740565b610a5b565b600f5461039c9060ff1681565b60405161027b919061480b565b6103d07f4f1a5aef466c18f2eefd210f80b744aa3b40590af293e84b695be7d70fd862b381565b60405190815260200161027b565b6001546103f1906001600160a01b031681565b6040516001600160a01b03909116815260200161027b565b61041c6104173660046144a0565b610aa2565b604080516001600160a01b03909416845260208401929092529082015260600161027b565b6002546003546040805192835260208301919091520161027b565b60065460075460085460095460408051948552602085019390935291830152606082015260800161027b565b6103096040805160a0810182526016546001600160a01b03168082526017546020830181905260185493830184905260195460608401819052601a546080909401849052919490939290565b601c546103f1906001600160a01b031681565b61023e6104f536600461484c565b610acb565b61023e610508366004614b5f565b610b0e565b61023e610c92565b61023e610523366004614c70565b610d53565b6103d06105363660046144a0565b610d98565b61041c604080516060810182526012546001600160a01b0316808252601354602083018190526014549290930182905292565b61041c61057c3660046144a0565b6001600160a01b03808216600090815260156020908152604091829020825160608101845281549094168085526001820154928501839052600290910154939092018390529093909250565b6004546105d59060ff1681565b604051901515815260200161027b565b601d546001600160a01b03166103f1565b6000546103f1906201000090046001600160a01b031681565b61023e61061d366004614c70565b610db8565b6103096106303660046144a0565b610dfd565b61023e6106433660046144a0565b610e6c565b61023e610656366004614ca5565b610ead565b601d546103f1906001600160a01b031681565b6105d561067c3660046144a0565b610ef4565b61068a81610f32565b6106b9336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c282610f8d565b5050565b6106d58460ff1684848461102f565b610704336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610710858585856110da565b5050505050565b600a5460009081908190819060ff166002811115610737576107376147dc565b600b54600c54600e54935093509350935090919293565b61077c336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b80518251146107b7576040517f5d32021a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610811576107ff8382815181106107d8576107d8614cd7565b60200260200101518383815181106107f2576107f2614cd7565b60200260200101516114b3565b8061080981614d35565b9150506107ba565b505050565b6108228484848461155d565b610851336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610710858585856115c6565b61087a816001811115610872576108726147dc565b60ff1661167f565b6108a9336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c2826116c6565b6108bc8282611741565b6108eb336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b816000036108ff576108fc83610d98565b91505b61090983836117b0565b600154601c546001600160a01b0391821691634ae00041911661092c8686611834565b60006040518463ffffffff1660e01b815260040161094c93929190614dbd565b6000604051808303816000875af115801561096b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109939190810190614def565b506108118383611977565b6109cc336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b60045460ff16610a08576040517f9e6558bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b610a678484848461155d565b610a96336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6107108585858561198b565b600080600080610ab185611a4b565b805160208201516040909201519097919650945092505050565b610ad58282611ad6565b610b04336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6108118383611b30565b600054610100900460ff1615808015610b2e5750600054600160ff909116105b80610b485750303b158015610b48575060005460ff166001145b610bbf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c1d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c28848484611b75565b8015610c8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50505050565b610cc0336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b60045460ff1615610cfd576040517fc0f2312800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b610d5e838383611bf4565b610d8d336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610c8c848484611c86565b601d54600090610db29083906001600160a01b0316611cdc565b92915050565b610dc3838383611bf4565b610df2336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610c8c848484611d9d565b600080600080600080610e0f87611df9565b6040805160a08101825282546001600160a01b031680825260018401546020830181905260028501549383018490526003850154606084018190526004909501546080909301839052909b909a5091985091965090945092505050565b610e7581610f32565b610ea4336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c282611e2d565b610eb98484848461102f565b610ee8336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b61071085858585611ecf565b600080610f02601084611f6a565b90506001600f5460ff166001811115610f1d57610f1d6147dc565b14610f29578015610f2b565b805b9392505050565b6060610db2826001600160a01b031661167f565b610f51838383611f8c565b610811578282826040517f960c80da000000000000000000000000000000000000000000000000000000008152600401610bb693929190614ebe565b6001600160a01b038116610fcd576040517fdb6cf18100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f0c7d25a41bb896a3d198b4b4593a58cb7f37d8340b0b58bffa244676e2ef803a90600090a250565b60408051600480825260a0820190925260609160208201608080368337019050509050848160008151811061106657611066614cd7565b602002602001018181525050838160018151811061108657611086614cd7565b60200260200101818152505082816002815181106110a6576110a6614cd7565b60200260200101818152505081816003815181106110c6576110c6614cd7565b602002602001018181525050949350505050565b60ff84166111d65760008111806110f15750600082115b156111d1578260000361113c576040517fbea499cb00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101849052604401610bb6565b80158061114857508281115b1561118b576040517f9e12fccf00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101829052604401610bb6565b816000036111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b6113ec565b8260000361121c576040517fbea499cb00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101849052604401610bb6565b80158061123457506112316224ea0084614f08565b81115b15611277576040517f9e12fccf00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101829052604401610bb6565b816000036112bd576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff85160161133657601c6112f28361202a565b11156111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8516016113b55761136982612041565b6113728361202a565b146111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b6040517f33a738bc00000000000000000000000000000000000000000000000000000000815260ff85166004820152602401610bb6565b8360ff166002811115611401576114016147dc565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561143b5761143b6147dc565b0217905550600b839055600c829055600e8190556040805160ff8616815260208101859052908101839052606081018290527f182fd6fa2a8560221614c1396dd4fcc78d26dfacf821a6afb61d25876057e41290608001610c83565b6040805160008152602081019091526106c29083908390610f46565b6001600160a01b0382166114f3576040517fc41a13ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061150857611503601083612064565b611513565b611513601083612079565b50816001600160a01b03167f6264362e9de26efefda321dfaeb4e4a9090deef40c5435fad8e9e2e306889a1c82604051611551911515815260200190565b60405180910390a25050565b60408051600480825260a0820190925260609160208201608080368337019050509050846001600160a01b03168160008151811061159d5761159d614cd7565b602002602001018181525050836001600160a01b03168160018151811061108657611086614cd7565b6001600160a01b038416611606576040517fe7ba3e4a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038416600090815260156020526040902061162a9084848461208e565b604080516001600160a01b03858116825260208201859052918101839052908516907ff099617c054d3a65e02a9c3b786f23cc03d5982bc7cfae84dff0408049cf17079060600160405180910390a250505050565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106116b5576116b5614cd7565b602002602001018181525050919050565b600f80548291907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115611702576117026147dc565b02179055507f216b6a9618d607ba436d0f2e17e9a83e70929adff805ac2385d67401360e551a81604051611736919061480b565b60405180910390a150565b6040805160028082526060808301845292602083019080368337019050509050826001600160a01b03168160008151811061177e5761177e614cd7565b602002602001018181525050818160018151811061179e5761179e614cd7565b60200260200101818152505092915050565b6117ba8282612176565b6001600160a01b0382166117fa576040517fc0e0f12200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036106c2576040517f1463acbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160018082528183019092526060916000919060208083019080368337019050509050838160008151811061186e5761186e614cd7565b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905083816000815181106118bf576118bf614cd7565b60209081029190910101526001546040517f6daefab6000000000000000000000000000000000000000000000000000000009161190e91859185916001600160a01b0390911690602401614f1f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529250505092915050565b61198182826121bc565b6106c2828261225b565b6001600160a01b0384166119cb576040517f1de0c9c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166000908152601b602052604090206119ef90848484612283565b826001600160a01b0316846001600160a01b03167f1b5c5e27ed5443e409bae85849d41d7bf12d5352e8fddb3728b6408f836e14488484604051611a3d929190918252602082015260400190565b60405180910390a350505050565b611a78604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b038083166000908152601560205260409020805490911615611aa15780611aa4565b60125b6040805160608101825282546001600160a01b0316815260018301546020820152600290920154908201529392505050565b60408051600280825260608083018452926020830190803683370190505090508260001c81600081518110611b0d57611b0d614cd7565b6020026020010181815250508160001c8160018151811061179e5761179e614cd7565b8115611b6b576040517fade7e16800000000000000000000000000000000000000000000000000000000815260048101839052602401610bb6565b6106c282826123fa565b600054610100900460ff16611be05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b611be98361247d565b610811838383612548565b60408051600380825260808201909252606091602082018380368337019050509050836001600160a01b031681600081518110611c3357611c33614cd7565b6020026020010181815250508281600181518110611c5357611c53614cd7565b6020026020010181815250508181600281518110611c7357611c73614cd7565b6020026020010181815250509392505050565b611c936016848484612283565b60408051838152602081018390526001600160a01b038516917f6324b5f18e615697a2b44f16d7a649deb0bbbc7cb09dad4c610306105730e7d9910160405180910390a2505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03841603611d1357506001600160a01b03811631610db2565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015611d72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d969190614f90565b9050610db2565b611daa601284848461208e565b604080516001600160a01b0385168152602081018490529081018290527fa80953bdc344b2ebd0bcdd001a3418a8fd1b858bdecf12a4ba5a9366ad65d3459060600160405180910390a1505050565b6001600160a01b038082166000908152601b602052604081208054919290911615611e245780610f2b565b60169392505050565b6001600160a01b038116611e6d576040517f382928fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ffdbd8fd3124d4abea1394a5bf9d535d8b716508569491ceae023fc8f0221c73a90600090a250565b670de0b6b3a7640000811115611f11576040517fce57496100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60068490556007839055600882905560098190556040805185815260208101859052908101839052606081018290527f746dc5eb53c5de07c40b06d428506d6982ea10c423ac2875abfc44038927d69190608001610c83565b6001600160a01b03811660009081526001830160205260408120541515610f2b565b600080546040517f28522895000000000000000000000000000000000000000000000000000000008152620100009091046001600160a01b031690632852289590611fe1908790309088908890600401614fa9565b602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190615007565b949350505050565b600061202261203c6201518084615053565b6125c5565b6000808061205561203c6201518086615053565b5091509150612022828261267f565b6000610f2b836001600160a01b038416612705565b6000610f2b836001600160a01b0384166127ff565b60006001600160a01b0384161580156120a5575082155b80156120af575081155b905060006001600160a01b038516158015906120d357508215806120d35750838310155b9050811580156120e1575080155b15612131576040517fca1f04830000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810185905260448101849052606401610bb6565b505083547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03939093169290921783556001830155600290910155565b612180828261284e565b61218a8282612858565b6121948282612895565b61219e8282612989565b6121a88282612bdc565b6121b28282612c26565b6106c28282612d13565b600354156106c257600180546003546040517feb056bbb00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b03858116602483015260448201859052606482019390935291169063eb056bbb906084015b600060405180830381600087803b15801561223f57600080fd5b505af1158015612253573d6000803e3d6000fd5b505050505050565b6122658282612e29565b61226f8282612ecb565b6122798282612eed565b6106c28282613137565b60006001600160a01b03841615801561229a575082155b80156122a4575081155b905060006001600160a01b038516158015906122c05750600084115b80156122cc5750600083115b9050811580156122da575080155b1561232a576040517ff5deb5dc0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810185905260448101849052606401610bb6565b600386018390556001860184905581156123515760006002870181905560048701556123bd565b8560040154600003612378576000600287015561236e8342615067565b60048701556123bd565b85546001600160a01b038681169116146123bd5785546000906123a4906001600160a01b031687613164565b60028801549091506123b69082613170565b6002880155505b505083547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0393909316929092179092555050565b808214801561240857508115155b15612442576040517f0fb49edb00000000000000000000000000000000000000000000000000000000815260048101839052602401610bb6565b60028290556003819055604051819083907ff950a929751d87db181a0a517df21bb3ecd433abba584594402db4b58a55483590600090a35050565b600054610100900460ff166124e85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b80516124f3906131e6565b6124fb6132c8565b612508816020015161333d565b61251581604001516133b1565b6125228160600151613425565b61252f8160800151613499565b61253c8160a0015161350d565b61254581613581565b50565b600054610100900460ff166125b35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6125bc82611e2d565b61081181610f8d565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f846050028161262257612622615024565b0590506000605061098f83020585039050600b82057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf94909401606402929092018301996002600c90940290910392909201975095509350505050565b600081600114806126905750816003145b8061269b5750816005145b806126a65750816007145b806126b15750816008145b806126bc575081600a145b806126c7575081600c145b156126d45750601f610db2565b816002146126e45750601e610db2565b6126ed836135ec565b6126f857601c6126fb565b601d5b60ff169392505050565b600081815260018301602052604081205480156127ee57600061272960018361507a565b855490915060009061273d9060019061507a565b90508181146127a257600086600001828154811061275d5761275d614cd7565b906000526020600020015490508087600001848154811061278057612780614cd7565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806127b3576127b361508d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610db2565b6000915050610db2565b5092915050565b600081815260018301602052604081205461284657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610db2565b506000610db2565b6106c28282613628565b60045460ff16156106c2576040517fc0f2312800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5a6005556040805160808101825260065480825260075460208301526008549282019290925260095460608201529060009015806128d4575081513a11155b9050806129195781516040517fcbb35eb70000000000000000000000000000000000000000000000000000000081523a60048201526024810191909152604401610bb6565b6000612925483a61507a565b90506000836020015160001480612940575083602001518211155b9050806122535760208401516040517f56e5387f000000000000000000000000000000000000000000000000000000008152610bb6918491600401918252602082015260400190565b600a54600b54600c54600e5460ff90931692428211156129de576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101839052604401610bb6565b60008460028111156129f2576129f26147dc565b03612ac45782600003612a0757505050505050565b80600003612a2157612a198342615067565b600d55612253565b6000612a2d834261507a565b90506000612a3b8583615053565b90506000612a498683614f08565b612a53908461507a565b905083811115612a98576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101869052604401610bb6565b85612aa4836001615067565b612aae9190614f08565b612ab89086615067565b600d5550612253915050565b814210158015612add5750612ad98183615067565b4211155b15612aec57612a198284613694565b60006001856002811115612b0257612b026147dc565b14612b1557612b1042612041565b612b1e565b612b1e8361202a565b90506000612b2c848361372c565b905080421015612b71576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101829052604401610bb6565b6000612b7d8483615067565b90504281108015612bc3576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101839052604401610bb6565b612bcd8388613694565b600d5550505050505050505050565b612be582610ef4565b6106c2576040517f7a2410450000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610bb6565b6000612c3183611a4b565b80519091506001600160a01b0316612c4857505050565b6000836001600160a01b031682600001516001600160a01b031614612c8457612c7f612c78858460000151613164565b8490613170565b612c86565b825b9050600082602001518210158015612cae575060408301511580612cae575082604001518211155b905080610710578251602084015160408086015190517f7c63a4b00000000000000000000000000000000000000000000000000000000081526001600160a01b0390931660048401526024830185905260448301919091526064820152608401610bb6565b6000612d1e83611df9565b6040805160a08101825282546001600160a01b031680825260018401546020830152600284015492820192909252600383015460608201526004909201546080830152909150612d6d57505050565b6000836001600160a01b031682600001516001600160a01b031614612da257612d9d612c78858460000151613164565b612da4565b825b9050600082608001514210612dba576000612dc0565b82604001515b612dca9083615067565b9050826020015181111561071057825160208401516040517fb8858d5d0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610bb6565b6000612e3483611df9565b80549091506001600160a01b0316612e4b57505050565b80546000906001600160a01b03858116911614612e81578154612e7c90612c789086906001600160a01b0316613164565b612e83565b825b905081600401544210612eac57600060028301556003820154612ea69042615067565b60048301555b80826002016000828254612ec09190615067565b909155505050505050565b600d54600003612ed9575050565b612ee4600d54613754565b50506000600d55565b600554600003612f29576040517f1f5b8fc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182526006548152600754602082015260085491810191909152600954606082015260005a600554612f62919061507a565b90506000612f703a83614f08565b90506000836040015160001480612f8b575083604001518211155b905080612fd5578184604001516040517faf258ef2000000000000000000000000000000000000000000000000000000008152600401610bb6929190918252602082015260400190565b6000600555606084015115801590612fed5750600085115b156122535760006130c0306001600160a01b0316634fd49efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613035573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305991906150bc565b6001600160a01b03166317fcb39b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ba91906150bc565b88613164565b905060006130ce8483613789565b905060006130dc8289613832565b9050866060015181111561312c5760608701516040517f0297747f000000000000000000000000000000000000000000000000000000008152610bb6918391600401918252602082015260400190565b505050505050505050565b6040517f68f46c45a243a0e9065a97649faf9a5afe1692f2679e650c2f853b9cd734cc0e90600090a15050565b6000610f2b83836138fb565b6000828202831580159061319357508284828161318f5761318f615024565b0414155b156131d4576040517fe8e4a4fa0000000000000000000000000000000000000000000000000000000081526004810185905260248101849052604401610bb6565b670de0b6b3a764000090049392505050565b600054610100900460ff166132515760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6132bf81600001516001600160a01b031663d09edf316040518163ffffffff1660e01b8152600401602060405180830381865afa158015613296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ba91906150bc565b613b09565b61254581613b7d565b600054610100900460ff166133335760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61333b613c35565b565b600054610100900460ff166133a85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613ca0565b600054610100900460ff1661341c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613d27565b600054610100900460ff166134905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613dae565b600054610100900460ff166135045760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613e6e565b600054610100900460ff166135785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613f5e565b600054610100900460ff166125455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b60006135f96004836150d9565b15801561360f575061360c6064836150d9565b15155b80610db25750613621610190836150d9565b1592915050565b600254156106c2576001546002546040517feb056bbb00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b03848116602483015260448201849052600060648301529091169063eb056bbb90608401612225565b6000806000806136a38661404e565b9194509250905060006136b68684615067565b905060006136c5600c836150d9565b905060006136d4600c84615053565b6136de9087615067565b905060006002600a5460ff1660028111156136fb576136fb6147dc565b146137065784613710565b613710828461267f565b905061371e8a83858461406d565b9a9950505050505050505050565b600080600061373a4261404e565b509150915061374b8583838761406d565b95945050505050565b600c8190556040518181527ff90744bee56935ec5acc9de37b89c0c545298c667ee417bd9469e9c6836ad06490602001611736565b600082820283158015906137ac5750828482816137a8576137a8615024565b0414155b156137ed576040517fe8e4a4fa0000000000000000000000000000000000000000000000000000000081526004810185905260248101849052604401610bb6565b801561382857670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820104600101612022565b6000949350505050565b60008160000361386e576040517fb8a2f92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260000361387e57506000610db2565b670de0b6b3a76400008381029084828161389a5761389a615024565b04146138dc576040517fea7b49e60000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401610bb6565b8260018203816138ee576138ee615024565b0460010191505092915050565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316632630c12f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397591906150bc565b90506001600160a01b0381166139c6576001546040517f38d2baae0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610bb6565b60006139d0614095565b90508051600014613a6157816001600160a01b031663355efdd96139f387614115565b6139fc87614115565b846040518463ffffffff1660e01b8152600401613a1b939291906150ed565b602060405180830381865afa158015613a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a5c9190614f90565b61374b565b816001600160a01b031663ac41865a613a7987614115565b613a8287614115565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015613ae5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190614f90565b600054610100900460ff16613b745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581614149565b600054610100900460ff16613be85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055602081015160408201516125459190611b30565b600054610100900460ff1661333b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b600054610100900460ff16613d0b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6125458160000151826020015183604001518460600151611ecf565b600054610100900460ff16613d925760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581600001518260200151836040015184606001516110da565b600054610100900460ff16613e195760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051613e24906116c6565b60005b8160200151518110156106c257613e5c82602001518281518110613e4d57613e4d614cd7565b602002602001015160016114b3565b80613e6681614d35565b915050613e27565b600054610100900460ff16613ed95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051805160208201516040830151613ef2929190611d9d565b60005b82602001515181101561081157600083602001518281518110613f1a57613f1a614cd7565b60200260200101519050600081602001519050613f4982600001518260000151836020015184604001516115c6565b50508080613f5690614d35565b915050613ef5565b600054610100900460ff16613fc95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051805160208201516040830151613fe2929190611c86565b60005b8260200151518110156108115760008360200151828151811061400a5761400a614cd7565b60200260200101519050600081602001519050614039826000015182600001518360200151846040015161198b565b5050808061404690614d35565b915050613fe5565b600080806140606201518085046125c5565b9196909550909350915050565b600061374b84848461407e896141f4565b6140878a614212565b6140908b61422e565b61423b565b606060006140a1614297565b9050368111156140bf57505060408051600081526020810190915290565b8067ffffffffffffffff8111156140d8576140d8614507565b6040519080825280601f01601f191660200182016040528015614102576020820181803683370190505b5091508060208236030360208401375090565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038316146141415781610db2565b610db26142b2565b600054610100900460ff166141b45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b600080546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60008061420462015180846150d9565b9050610f2b610e1082615053565b600080614221610e10846150d9565b9050610f2b603c82615053565b6000610db2603c836150d9565b600081614249603c85614f08565b614255610e1087614f08565b620151806142648b8b8b61433e565b61426e9190614f08565b6142789190615067565b6142829190615067565b61428c9190615067565b979650505050505050565b600060243610156142a85750600090565b50601f1936013590565b600154604080517f17fcb39b00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916317fcb39b9160048083019260209291908290030181865afa158015614315573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061433991906150bc565b905090565b60006107b284101561434f57600080fd5b838383600062253d8c60046064600c614369600e88615119565b6143739190615139565b61437f886113246151a1565b61438991906151a1565b6143939190615139565b61439e9060036151c9565b6143a89190615139565b600c806143b6600e88615119565b6143c09190615139565b6143cb90600c6151c9565b6143d6600288615119565b6143e09190615119565b6143ec9061016f6151c9565b6143f69190615139565b6004600c614405600e89615119565b61440f9190615139565b61441b896112c06151a1565b61442591906151a1565b614431906105b56151c9565b61443b9190615139565b614447617d4b87615119565b61445191906151a1565b61445b91906151a1565b6144659190615119565b61446f9190615119565b98975050505050505050565b6001600160a01b038116811461254557600080fd5b803561449b8161447b565b919050565b6000602082840312156144b257600080fd5b8135610f2b8161447b565b803560ff8116811461449b57600080fd5b600080600080608085870312156144e457600080fd5b6144ed856144bd565b966020860135965060408601359560600135945092505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561455957614559614507565b60405290565b6040805190810167ffffffffffffffff8111828210171561455957614559614507565b60405160c0810167ffffffffffffffff8111828210171561455957614559614507565b604051601f8201601f1916810167ffffffffffffffff811182821017156145ce576145ce614507565b604052919050565b600067ffffffffffffffff8211156145f0576145f0614507565b5060051b60200190565b600082601f83011261460b57600080fd5b8135602061462061461b836145d6565b6145a5565b82815260059290921b8401810191818101908684111561463f57600080fd5b8286015b848110156146635780356146568161447b565b8352918301918301614643565b509695505050505050565b801515811461254557600080fd5b6000806040838503121561468f57600080fd5b823567ffffffffffffffff808211156146a757600080fd5b6146b3868387016145fa565b93506020915081850135818111156146ca57600080fd5b85019050601f810186136146dd57600080fd5b80356146eb61461b826145d6565b81815260059190911b8201830190838101908883111561470a57600080fd5b928401925b828410156147315783356147228161466e565b8252928401929084019061470f565b80955050505050509250929050565b6000806000806080858703121561475657600080fd5b84356147618161447b565b935060208501356147718161447b565b93969395505050506040820135916060013590565b80356002811061449b57600080fd5b6000602082840312156147a757600080fd5b610f2b82614786565b600080604083850312156147c357600080fd5b82356147ce8161447b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160028310614846577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561485f57600080fd5b50508035926020909101359150565b60006060828403121561488057600080fd5b6040516060810181811067ffffffffffffffff821117156148a3576148a3614507565b60405290508082356148b48161447b565b8082525060208301356020820152604083013560408201525092915050565b6000608082840312156148e557600080fd5b6148ed614536565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b60006080828403121561492957600080fd5b614931614536565b905061493c826144bd565b815260208201356020820152604082013560408201526060820135606082015292915050565b60006040828403121561497457600080fd5b61497c61455f565b905061498782614786565b8152602082013567ffffffffffffffff8111156149a357600080fd5b6149af848285016145fa565b60208301525092915050565b6000608082840312156149cd57600080fd5b6149d561455f565b905081356149e28161447b565b81526149f1836020840161486e565b602082015292915050565b60006080808385031215614a0f57600080fd5b614a1761455f565b9150614a23848461486e565b8252606083013567ffffffffffffffff811115614a3f57600080fd5b8301601f81018513614a5057600080fd5b80356020614a6061461b836145d6565b82815260079290921b83018101918181019088841115614a7f57600080fd5b938201935b83851015614aa557614a9689866149bb565b82529385019390820190614a84565b808388015250505050505092915050565b60006080808385031215614ac957600080fd5b614ad161455f565b9150614add848461486e565b8252606083013567ffffffffffffffff811115614af957600080fd5b8301601f81018513614b0a57600080fd5b80356020614b1a61461b836145d6565b82815260079290921b83018101918181019088841115614b3957600080fd5b938201935b83851015614aa557614b5089866149bb565b82529385019390820190614b3e565b600080600060608486031215614b7457600080fd5b833567ffffffffffffffff80821115614b8c57600080fd5b908501906101c08288031215614ba157600080fd5b614ba9614582565b614bb3888461486e565b8152614bc288606085016148d3565b6020820152614bd48860e08501614917565b604082015261016083013582811115614bec57600080fd5b614bf889828601614962565b60608301525061018083013582811115614c1157600080fd5b614c1d898286016149fc565b6080830152506101a083013582811115614c3657600080fd5b614c4289828601614ab6565b60a0830152509450614c5991505060208501614490565b9150614c6760408501614490565b90509250925092565b600080600060608486031215614c8557600080fd5b8335614c908161447b565b95602085013595506040909401359392505050565b60008060008060808587031215614cbb57600080fd5b5050823594602084013594506040840135936060013592509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d6657614d66614d06565b5060010190565b60005b83811015614d88578181015183820152602001614d70565b50506000910152565b60008151808452614da9816020860160208601614d6d565b601f01601f19169290920160200192915050565b6001600160a01b0384168152606060208201526000614ddf6060830185614d91565b9050826040830152949350505050565b600060208284031215614e0157600080fd5b815167ffffffffffffffff80821115614e1957600080fd5b818401915084601f830112614e2d57600080fd5b815181811115614e3f57614e3f614507565b614e526020601f19601f840116016145a5565b9150808252856020828501011115614e6957600080fd5b614e7a816020840160208601614d6d565b50949350505050565b600081518084526020808501945080840160005b83811015614eb357815187529582019590820190600101614e97565b509495945050505050565b6001600160a01b03841681527fffffffff000000000000000000000000000000000000000000000000000000008316602082015260606040820152600061374b6060830184614e83565b8082028115828204841417610db257610db2614d06565b606080825284519082018190526000906020906080840190828801845b82811015614f615781516001600160a01b031684529284019290840190600101614f3c565b50505083810382850152614f758187614e83565b925050506001600160a01b0383166040830152949350505050565b600060208284031215614fa257600080fd5b5051919050565b60006001600160a01b0380871683528086166020840152507fffffffff000000000000000000000000000000000000000000000000000000008416604083015260806060830152614ffd6080830184614e83565b9695505050505050565b60006020828403121561501957600080fd5b8151610f2b8161466e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261506257615062615024565b500490565b80820180821115610db257610db2614d06565b81810381811115610db257610db2614d06565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000602082840312156150ce57600080fd5b8151610f2b8161447b565b6000826150e8576150e8615024565b500690565b60006001600160a01b0380861683528085166020840152506060604083015261374b6060830184614d91565b81810360008312801583831316838312821617156127f8576127f8614d06565b60008261514857615148615024565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561519c5761519c614d06565b500590565b80820182811260008312801582168215821617156151c1576151c1614d06565b505092915050565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561520157615201614d06565b8181058314821517610db257610db2614d0656fea2646970667358221220b70390f69b4e407ce3160110958c9fbec684ea781f058372c1093be17fc2994364736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102265760003560e01c80636b1239191161012a578063b187bd26116100bd578063d45a76cf1161008c578063e6b5be9811610071578063e6b5be9814610648578063e97b80711461065b578063f9eaee0d1461066e57600080fd5b8063d45a76cf14610622578063db20de821461063557600080fd5b8063b187bd26146105c8578063c267621e146105e5578063d09edf31146105f6578063d3feb6021461060f57600080fd5b806390333ba8116100f957806390333ba814610515578063a0c3774f14610528578063a33741771461053b578063a5900c4d1461056e57600080fd5b80636b123919146104d45780637125590a146104e75780637cbd3a56146104fa5780638456cb591461050d57600080fd5b80633f4ba83a116101bd5780634fd49efd1161018c5780635670e2ce116101715780635670e2ce146104415780635ea54eee1461045c5780636aacaad81461048857600080fd5b80634fd49efd146103de57806351a424b11461040957600080fd5b80633f4ba83a14610374578063423a4b401461037c57806342d4693e1461038f5780634a45a3a8146103a957600080fd5b8063221a8c68116101f9578063221a8c68146102975780632384c32d1461033b57806330eae5721461034e5780633bd9ef281461036157600080fd5b80630ef917ed1461022b5780630fe105e814610240578063119a5e96146102535780632197238414610284575b600080fd5b61023e6102393660046144a0565b610681565b005b61023e61024e3660046144ce565b6106c6565b61025b610717565b6040805160ff909516855260208501939093529183015260608201526080015b60405180910390f35b61023e61029236600461467c565b61074e565b6103096102a53660046144a0565b6001600160a01b039081166000908152601b6020908152604091829020825160a08101845281549094168085526001820154928501839052600282015493850184905260038201546060860181905260049092015460809095018590529491939091565b604080516001600160a01b0390961686526020860194909452928401919091526060830152608082015260a00161027b565b61023e610349366004614740565b610816565b61023e61035c366004614795565b61085d565b61023e61036f3660046147b0565b6108b2565b61023e61099e565b61023e61038a366004614740565b610a5b565b600f5461039c9060ff1681565b60405161027b919061480b565b6103d07f4f1a5aef466c18f2eefd210f80b744aa3b40590af293e84b695be7d70fd862b381565b60405190815260200161027b565b6001546103f1906001600160a01b031681565b6040516001600160a01b03909116815260200161027b565b61041c6104173660046144a0565b610aa2565b604080516001600160a01b03909416845260208401929092529082015260600161027b565b6002546003546040805192835260208301919091520161027b565b60065460075460085460095460408051948552602085019390935291830152606082015260800161027b565b6103096040805160a0810182526016546001600160a01b03168082526017546020830181905260185493830184905260195460608401819052601a546080909401849052919490939290565b601c546103f1906001600160a01b031681565b61023e6104f536600461484c565b610acb565b61023e610508366004614b5f565b610b0e565b61023e610c92565b61023e610523366004614c70565b610d53565b6103d06105363660046144a0565b610d98565b61041c604080516060810182526012546001600160a01b0316808252601354602083018190526014549290930182905292565b61041c61057c3660046144a0565b6001600160a01b03808216600090815260156020908152604091829020825160608101845281549094168085526001820154928501839052600290910154939092018390529093909250565b6004546105d59060ff1681565b604051901515815260200161027b565b601d546001600160a01b03166103f1565b6000546103f1906201000090046001600160a01b031681565b61023e61061d366004614c70565b610db8565b6103096106303660046144a0565b610dfd565b61023e6106433660046144a0565b610e6c565b61023e610656366004614ca5565b610ead565b601d546103f1906001600160a01b031681565b6105d561067c3660046144a0565b610ef4565b61068a81610f32565b6106b9336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c282610f8d565b5050565b6106d58460ff1684848461102f565b610704336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610710858585856110da565b5050505050565b600a5460009081908190819060ff166002811115610737576107376147dc565b600b54600c54600e54935093509350935090919293565b61077c336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b80518251146107b7576040517f5d32021a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610811576107ff8382815181106107d8576107d8614cd7565b60200260200101518383815181106107f2576107f2614cd7565b60200260200101516114b3565b8061080981614d35565b9150506107ba565b505050565b6108228484848461155d565b610851336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610710858585856115c6565b61087a816001811115610872576108726147dc565b60ff1661167f565b6108a9336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c2826116c6565b6108bc8282611741565b6108eb336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b816000036108ff576108fc83610d98565b91505b61090983836117b0565b600154601c546001600160a01b0391821691634ae00041911661092c8686611834565b60006040518463ffffffff1660e01b815260040161094c93929190614dbd565b6000604051808303816000875af115801561096b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109939190810190614def565b506108118383611977565b6109cc336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b60045460ff16610a08576040517f9e6558bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b610a678484848461155d565b610a96336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6107108585858561198b565b600080600080610ab185611a4b565b805160208201516040909201519097919650945092505050565b610ad58282611ad6565b610b04336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6108118383611b30565b600054610100900460ff1615808015610b2e5750600054600160ff909116105b80610b485750303b158015610b48575060005460ff166001145b610bbf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c1d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c28848484611b75565b8015610c8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50505050565b610cc0336000357fffffffff0000000000000000000000000000000000000000000000000000000016611497565b60045460ff1615610cfd576040517fc0f2312800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b610d5e838383611bf4565b610d8d336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610c8c848484611c86565b601d54600090610db29083906001600160a01b0316611cdc565b92915050565b610dc3838383611bf4565b610df2336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b610c8c848484611d9d565b600080600080600080610e0f87611df9565b6040805160a08101825282546001600160a01b031680825260018401546020830181905260028501549383018490526003850154606084018190526004909501546080909301839052909b909a5091985091965090945092505050565b610e7581610f32565b610ea4336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b6106c282611e2d565b610eb98484848461102f565b610ee8336000357fffffffff000000000000000000000000000000000000000000000000000000001683610f46565b61071085858585611ecf565b600080610f02601084611f6a565b90506001600f5460ff166001811115610f1d57610f1d6147dc565b14610f29578015610f2b565b805b9392505050565b6060610db2826001600160a01b031661167f565b610f51838383611f8c565b610811578282826040517f960c80da000000000000000000000000000000000000000000000000000000008152600401610bb693929190614ebe565b6001600160a01b038116610fcd576040517fdb6cf18100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f0c7d25a41bb896a3d198b4b4593a58cb7f37d8340b0b58bffa244676e2ef803a90600090a250565b60408051600480825260a0820190925260609160208201608080368337019050509050848160008151811061106657611066614cd7565b602002602001018181525050838160018151811061108657611086614cd7565b60200260200101818152505082816002815181106110a6576110a6614cd7565b60200260200101818152505081816003815181106110c6576110c6614cd7565b602002602001018181525050949350505050565b60ff84166111d65760008111806110f15750600082115b156111d1578260000361113c576040517fbea499cb00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101849052604401610bb6565b80158061114857508281115b1561118b576040517f9e12fccf00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101829052604401610bb6565b816000036111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b6113ec565b8260000361121c576040517fbea499cb00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101849052604401610bb6565b80158061123457506112316224ea0084614f08565b81115b15611277576040517f9e12fccf00000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101829052604401610bb6565b816000036112bd576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff85160161133657601c6112f28361202a565b11156111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8516016113b55761136982612041565b6113728361202a565b146111d1576040517fad0d7eb200000000000000000000000000000000000000000000000000000000815260ff8516600482015260248101839052604401610bb6565b6040517f33a738bc00000000000000000000000000000000000000000000000000000000815260ff85166004820152602401610bb6565b8360ff166002811115611401576114016147dc565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561143b5761143b6147dc565b0217905550600b839055600c829055600e8190556040805160ff8616815260208101859052908101839052606081018290527f182fd6fa2a8560221614c1396dd4fcc78d26dfacf821a6afb61d25876057e41290608001610c83565b6040805160008152602081019091526106c29083908390610f46565b6001600160a01b0382166114f3576040517fc41a13ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061150857611503601083612064565b611513565b611513601083612079565b50816001600160a01b03167f6264362e9de26efefda321dfaeb4e4a9090deef40c5435fad8e9e2e306889a1c82604051611551911515815260200190565b60405180910390a25050565b60408051600480825260a0820190925260609160208201608080368337019050509050846001600160a01b03168160008151811061159d5761159d614cd7565b602002602001018181525050836001600160a01b03168160018151811061108657611086614cd7565b6001600160a01b038416611606576040517fe7ba3e4a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038416600090815260156020526040902061162a9084848461208e565b604080516001600160a01b03858116825260208201859052918101839052908516907ff099617c054d3a65e02a9c3b786f23cc03d5982bc7cfae84dff0408049cf17079060600160405180910390a250505050565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106116b5576116b5614cd7565b602002602001018181525050919050565b600f80548291907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115611702576117026147dc565b02179055507f216b6a9618d607ba436d0f2e17e9a83e70929adff805ac2385d67401360e551a81604051611736919061480b565b60405180910390a150565b6040805160028082526060808301845292602083019080368337019050509050826001600160a01b03168160008151811061177e5761177e614cd7565b602002602001018181525050818160018151811061179e5761179e614cd7565b60200260200101818152505092915050565b6117ba8282612176565b6001600160a01b0382166117fa576040517fc0e0f12200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036106c2576040517f1463acbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160018082528183019092526060916000919060208083019080368337019050509050838160008151811061186e5761186e614cd7565b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905083816000815181106118bf576118bf614cd7565b60209081029190910101526001546040517f6daefab6000000000000000000000000000000000000000000000000000000009161190e91859185916001600160a01b0390911690602401614f1f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529250505092915050565b61198182826121bc565b6106c2828261225b565b6001600160a01b0384166119cb576040517f1de0c9c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166000908152601b602052604090206119ef90848484612283565b826001600160a01b0316846001600160a01b03167f1b5c5e27ed5443e409bae85849d41d7bf12d5352e8fddb3728b6408f836e14488484604051611a3d929190918252602082015260400190565b60405180910390a350505050565b611a78604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b038083166000908152601560205260409020805490911615611aa15780611aa4565b60125b6040805160608101825282546001600160a01b0316815260018301546020820152600290920154908201529392505050565b60408051600280825260608083018452926020830190803683370190505090508260001c81600081518110611b0d57611b0d614cd7565b6020026020010181815250508160001c8160018151811061179e5761179e614cd7565b8115611b6b576040517fade7e16800000000000000000000000000000000000000000000000000000000815260048101839052602401610bb6565b6106c282826123fa565b600054610100900460ff16611be05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b611be98361247d565b610811838383612548565b60408051600380825260808201909252606091602082018380368337019050509050836001600160a01b031681600081518110611c3357611c33614cd7565b6020026020010181815250508281600181518110611c5357611c53614cd7565b6020026020010181815250508181600281518110611c7357611c73614cd7565b6020026020010181815250509392505050565b611c936016848484612283565b60408051838152602081018390526001600160a01b038516917f6324b5f18e615697a2b44f16d7a649deb0bbbc7cb09dad4c610306105730e7d9910160405180910390a2505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03841603611d1357506001600160a01b03811631610db2565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015611d72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d969190614f90565b9050610db2565b611daa601284848461208e565b604080516001600160a01b0385168152602081018490529081018290527fa80953bdc344b2ebd0bcdd001a3418a8fd1b858bdecf12a4ba5a9366ad65d3459060600160405180910390a1505050565b6001600160a01b038082166000908152601b602052604081208054919290911615611e245780610f2b565b60169392505050565b6001600160a01b038116611e6d576040517f382928fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ffdbd8fd3124d4abea1394a5bf9d535d8b716508569491ceae023fc8f0221c73a90600090a250565b670de0b6b3a7640000811115611f11576040517fce57496100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60068490556007839055600882905560098190556040805185815260208101859052908101839052606081018290527f746dc5eb53c5de07c40b06d428506d6982ea10c423ac2875abfc44038927d69190608001610c83565b6001600160a01b03811660009081526001830160205260408120541515610f2b565b600080546040517f28522895000000000000000000000000000000000000000000000000000000008152620100009091046001600160a01b031690632852289590611fe1908790309088908890600401614fa9565b602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190615007565b949350505050565b600061202261203c6201518084615053565b6125c5565b6000808061205561203c6201518086615053565b5091509150612022828261267f565b6000610f2b836001600160a01b038416612705565b6000610f2b836001600160a01b0384166127ff565b60006001600160a01b0384161580156120a5575082155b80156120af575081155b905060006001600160a01b038516158015906120d357508215806120d35750838310155b9050811580156120e1575080155b15612131576040517fca1f04830000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810185905260448101849052606401610bb6565b505083547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03939093169290921783556001830155600290910155565b612180828261284e565b61218a8282612858565b6121948282612895565b61219e8282612989565b6121a88282612bdc565b6121b28282612c26565b6106c28282612d13565b600354156106c257600180546003546040517feb056bbb00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b03858116602483015260448201859052606482019390935291169063eb056bbb906084015b600060405180830381600087803b15801561223f57600080fd5b505af1158015612253573d6000803e3d6000fd5b505050505050565b6122658282612e29565b61226f8282612ecb565b6122798282612eed565b6106c28282613137565b60006001600160a01b03841615801561229a575082155b80156122a4575081155b905060006001600160a01b038516158015906122c05750600084115b80156122cc5750600083115b9050811580156122da575080155b1561232a576040517ff5deb5dc0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810185905260448101849052606401610bb6565b600386018390556001860184905581156123515760006002870181905560048701556123bd565b8560040154600003612378576000600287015561236e8342615067565b60048701556123bd565b85546001600160a01b038681169116146123bd5785546000906123a4906001600160a01b031687613164565b60028801549091506123b69082613170565b6002880155505b505083547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0393909316929092179092555050565b808214801561240857508115155b15612442576040517f0fb49edb00000000000000000000000000000000000000000000000000000000815260048101839052602401610bb6565b60028290556003819055604051819083907ff950a929751d87db181a0a517df21bb3ecd433abba584594402db4b58a55483590600090a35050565b600054610100900460ff166124e85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b80516124f3906131e6565b6124fb6132c8565b612508816020015161333d565b61251581604001516133b1565b6125228160600151613425565b61252f8160800151613499565b61253c8160a0015161350d565b61254581613581565b50565b600054610100900460ff166125b35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6125bc82611e2d565b61081181610f8d565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f846050028161262257612622615024565b0590506000605061098f83020585039050600b82057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf94909401606402929092018301996002600c90940290910392909201975095509350505050565b600081600114806126905750816003145b8061269b5750816005145b806126a65750816007145b806126b15750816008145b806126bc575081600a145b806126c7575081600c145b156126d45750601f610db2565b816002146126e45750601e610db2565b6126ed836135ec565b6126f857601c6126fb565b601d5b60ff169392505050565b600081815260018301602052604081205480156127ee57600061272960018361507a565b855490915060009061273d9060019061507a565b90508181146127a257600086600001828154811061275d5761275d614cd7565b906000526020600020015490508087600001848154811061278057612780614cd7565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806127b3576127b361508d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610db2565b6000915050610db2565b5092915050565b600081815260018301602052604081205461284657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610db2565b506000610db2565b6106c28282613628565b60045460ff16156106c2576040517fc0f2312800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5a6005556040805160808101825260065480825260075460208301526008549282019290925260095460608201529060009015806128d4575081513a11155b9050806129195781516040517fcbb35eb70000000000000000000000000000000000000000000000000000000081523a60048201526024810191909152604401610bb6565b6000612925483a61507a565b90506000836020015160001480612940575083602001518211155b9050806122535760208401516040517f56e5387f000000000000000000000000000000000000000000000000000000008152610bb6918491600401918252602082015260400190565b600a54600b54600c54600e5460ff90931692428211156129de576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101839052604401610bb6565b60008460028111156129f2576129f26147dc565b03612ac45782600003612a0757505050505050565b80600003612a2157612a198342615067565b600d55612253565b6000612a2d834261507a565b90506000612a3b8583615053565b90506000612a498683614f08565b612a53908461507a565b905083811115612a98576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101869052604401610bb6565b85612aa4836001615067565b612aae9190614f08565b612ab89086615067565b600d5550612253915050565b814210158015612add5750612ad98183615067565b4211155b15612aec57612a198284613694565b60006001856002811115612b0257612b026147dc565b14612b1557612b1042612041565b612b1e565b612b1e8361202a565b90506000612b2c848361372c565b905080421015612b71576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101829052604401610bb6565b6000612b7d8483615067565b90504281108015612bc3576040517f013ce60b00000000000000000000000000000000000000000000000000000000815242600482015260248101839052604401610bb6565b612bcd8388613694565b600d5550505050505050505050565b612be582610ef4565b6106c2576040517f7a2410450000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610bb6565b6000612c3183611a4b565b80519091506001600160a01b0316612c4857505050565b6000836001600160a01b031682600001516001600160a01b031614612c8457612c7f612c78858460000151613164565b8490613170565b612c86565b825b9050600082602001518210158015612cae575060408301511580612cae575082604001518211155b905080610710578251602084015160408086015190517f7c63a4b00000000000000000000000000000000000000000000000000000000081526001600160a01b0390931660048401526024830185905260448301919091526064820152608401610bb6565b6000612d1e83611df9565b6040805160a08101825282546001600160a01b031680825260018401546020830152600284015492820192909252600383015460608201526004909201546080830152909150612d6d57505050565b6000836001600160a01b031682600001516001600160a01b031614612da257612d9d612c78858460000151613164565b612da4565b825b9050600082608001514210612dba576000612dc0565b82604001515b612dca9083615067565b9050826020015181111561071057825160208401516040517fb8858d5d0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610bb6565b6000612e3483611df9565b80549091506001600160a01b0316612e4b57505050565b80546000906001600160a01b03858116911614612e81578154612e7c90612c789086906001600160a01b0316613164565b612e83565b825b905081600401544210612eac57600060028301556003820154612ea69042615067565b60048301555b80826002016000828254612ec09190615067565b909155505050505050565b600d54600003612ed9575050565b612ee4600d54613754565b50506000600d55565b600554600003612f29576040517f1f5b8fc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182526006548152600754602082015260085491810191909152600954606082015260005a600554612f62919061507a565b90506000612f703a83614f08565b90506000836040015160001480612f8b575083604001518211155b905080612fd5578184604001516040517faf258ef2000000000000000000000000000000000000000000000000000000008152600401610bb6929190918252602082015260400190565b6000600555606084015115801590612fed5750600085115b156122535760006130c0306001600160a01b0316634fd49efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613035573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305991906150bc565b6001600160a01b03166317fcb39b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ba91906150bc565b88613164565b905060006130ce8483613789565b905060006130dc8289613832565b9050866060015181111561312c5760608701516040517f0297747f000000000000000000000000000000000000000000000000000000008152610bb6918391600401918252602082015260400190565b505050505050505050565b6040517f68f46c45a243a0e9065a97649faf9a5afe1692f2679e650c2f853b9cd734cc0e90600090a15050565b6000610f2b83836138fb565b6000828202831580159061319357508284828161318f5761318f615024565b0414155b156131d4576040517fe8e4a4fa0000000000000000000000000000000000000000000000000000000081526004810185905260248101849052604401610bb6565b670de0b6b3a764000090049392505050565b600054610100900460ff166132515760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6132bf81600001516001600160a01b031663d09edf316040518163ffffffff1660e01b8152600401602060405180830381865afa158015613296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ba91906150bc565b613b09565b61254581613b7d565b600054610100900460ff166133335760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61333b613c35565b565b600054610100900460ff166133a85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613ca0565b600054610100900460ff1661341c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613d27565b600054610100900460ff166134905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613dae565b600054610100900460ff166135045760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613e6e565b600054610100900460ff166135785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581613f5e565b600054610100900460ff166125455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b60006135f96004836150d9565b15801561360f575061360c6064836150d9565b15155b80610db25750613621610190836150d9565b1592915050565b600254156106c2576001546002546040517feb056bbb00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b03848116602483015260448201849052600060648301529091169063eb056bbb90608401612225565b6000806000806136a38661404e565b9194509250905060006136b68684615067565b905060006136c5600c836150d9565b905060006136d4600c84615053565b6136de9087615067565b905060006002600a5460ff1660028111156136fb576136fb6147dc565b146137065784613710565b613710828461267f565b905061371e8a83858461406d565b9a9950505050505050505050565b600080600061373a4261404e565b509150915061374b8583838761406d565b95945050505050565b600c8190556040518181527ff90744bee56935ec5acc9de37b89c0c545298c667ee417bd9469e9c6836ad06490602001611736565b600082820283158015906137ac5750828482816137a8576137a8615024565b0414155b156137ed576040517fe8e4a4fa0000000000000000000000000000000000000000000000000000000081526004810185905260248101849052604401610bb6565b801561382857670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820104600101612022565b6000949350505050565b60008160000361386e576040517fb8a2f92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260000361387e57506000610db2565b670de0b6b3a76400008381029084828161389a5761389a615024565b04146138dc576040517fea7b49e60000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401610bb6565b8260018203816138ee576138ee615024565b0460010191505092915050565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316632630c12f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397591906150bc565b90506001600160a01b0381166139c6576001546040517f38d2baae0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610bb6565b60006139d0614095565b90508051600014613a6157816001600160a01b031663355efdd96139f387614115565b6139fc87614115565b846040518463ffffffff1660e01b8152600401613a1b939291906150ed565b602060405180830381865afa158015613a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a5c9190614f90565b61374b565b816001600160a01b031663ac41865a613a7987614115565b613a8287614115565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015613ae5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b9190614f90565b600054610100900460ff16613b745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581614149565b600054610100900460ff16613be85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055602081015160408201516125459190611b30565b600054610100900460ff1661333b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b600054610100900460ff16613d0b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b6125458160000151826020015183604001518460600151611ecf565b600054610100900460ff16613d925760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b61254581600001518260200151836040015184606001516110da565b600054610100900460ff16613e195760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051613e24906116c6565b60005b8160200151518110156106c257613e5c82602001518281518110613e4d57613e4d614cd7565b602002602001015160016114b3565b80613e6681614d35565b915050613e27565b600054610100900460ff16613ed95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051805160208201516040830151613ef2929190611d9d565b60005b82602001515181101561081157600083602001518281518110613f1a57613f1a614cd7565b60200260200101519050600081602001519050613f4982600001518260000151836020015184604001516115c6565b50508080613f5690614d35565b915050613ef5565b600054610100900460ff16613fc95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b8051805160208201516040830151613fe2929190611c86565b60005b8260200151518110156108115760008360200151828151811061400a5761400a614cd7565b60200260200101519050600081602001519050614039826000015182600001518360200151846040015161198b565b5050808061404690614d35565b915050613fe5565b600080806140606201518085046125c5565b9196909550909350915050565b600061374b84848461407e896141f4565b6140878a614212565b6140908b61422e565b61423b565b606060006140a1614297565b9050368111156140bf57505060408051600081526020810190915290565b8067ffffffffffffffff8111156140d8576140d8614507565b6040519080825280601f01601f191660200182016040528015614102576020820181803683370190505b5091508060208236030360208401375090565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038316146141415781610db2565b610db26142b2565b600054610100900460ff166141b45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bb6565b600080546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60008061420462015180846150d9565b9050610f2b610e1082615053565b600080614221610e10846150d9565b9050610f2b603c82615053565b6000610db2603c836150d9565b600081614249603c85614f08565b614255610e1087614f08565b620151806142648b8b8b61433e565b61426e9190614f08565b6142789190615067565b6142829190615067565b61428c9190615067565b979650505050505050565b600060243610156142a85750600090565b50601f1936013590565b600154604080517f17fcb39b00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916317fcb39b9160048083019260209291908290030181865afa158015614315573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061433991906150bc565b905090565b60006107b284101561434f57600080fd5b838383600062253d8c60046064600c614369600e88615119565b6143739190615139565b61437f886113246151a1565b61438991906151a1565b6143939190615139565b61439e9060036151c9565b6143a89190615139565b600c806143b6600e88615119565b6143c09190615139565b6143cb90600c6151c9565b6143d6600288615119565b6143e09190615119565b6143ec9061016f6151c9565b6143f69190615139565b6004600c614405600e89615119565b61440f9190615139565b61441b896112c06151a1565b61442591906151a1565b614431906105b56151c9565b61443b9190615139565b614447617d4b87615119565b61445191906151a1565b61445b91906151a1565b6144659190615119565b61446f9190615119565b98975050505050505050565b6001600160a01b038116811461254557600080fd5b803561449b8161447b565b919050565b6000602082840312156144b257600080fd5b8135610f2b8161447b565b803560ff8116811461449b57600080fd5b600080600080608085870312156144e457600080fd5b6144ed856144bd565b966020860135965060408601359560600135945092505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561455957614559614507565b60405290565b6040805190810167ffffffffffffffff8111828210171561455957614559614507565b60405160c0810167ffffffffffffffff8111828210171561455957614559614507565b604051601f8201601f1916810167ffffffffffffffff811182821017156145ce576145ce614507565b604052919050565b600067ffffffffffffffff8211156145f0576145f0614507565b5060051b60200190565b600082601f83011261460b57600080fd5b8135602061462061461b836145d6565b6145a5565b82815260059290921b8401810191818101908684111561463f57600080fd5b8286015b848110156146635780356146568161447b565b8352918301918301614643565b509695505050505050565b801515811461254557600080fd5b6000806040838503121561468f57600080fd5b823567ffffffffffffffff808211156146a757600080fd5b6146b3868387016145fa565b93506020915081850135818111156146ca57600080fd5b85019050601f810186136146dd57600080fd5b80356146eb61461b826145d6565b81815260059190911b8201830190838101908883111561470a57600080fd5b928401925b828410156147315783356147228161466e565b8252928401929084019061470f565b80955050505050509250929050565b6000806000806080858703121561475657600080fd5b84356147618161447b565b935060208501356147718161447b565b93969395505050506040820135916060013590565b80356002811061449b57600080fd5b6000602082840312156147a757600080fd5b610f2b82614786565b600080604083850312156147c357600080fd5b82356147ce8161447b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160028310614846577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561485f57600080fd5b50508035926020909101359150565b60006060828403121561488057600080fd5b6040516060810181811067ffffffffffffffff821117156148a3576148a3614507565b60405290508082356148b48161447b565b8082525060208301356020820152604083013560408201525092915050565b6000608082840312156148e557600080fd5b6148ed614536565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b60006080828403121561492957600080fd5b614931614536565b905061493c826144bd565b815260208201356020820152604082013560408201526060820135606082015292915050565b60006040828403121561497457600080fd5b61497c61455f565b905061498782614786565b8152602082013567ffffffffffffffff8111156149a357600080fd5b6149af848285016145fa565b60208301525092915050565b6000608082840312156149cd57600080fd5b6149d561455f565b905081356149e28161447b565b81526149f1836020840161486e565b602082015292915050565b60006080808385031215614a0f57600080fd5b614a1761455f565b9150614a23848461486e565b8252606083013567ffffffffffffffff811115614a3f57600080fd5b8301601f81018513614a5057600080fd5b80356020614a6061461b836145d6565b82815260079290921b83018101918181019088841115614a7f57600080fd5b938201935b83851015614aa557614a9689866149bb565b82529385019390820190614a84565b808388015250505050505092915050565b60006080808385031215614ac957600080fd5b614ad161455f565b9150614add848461486e565b8252606083013567ffffffffffffffff811115614af957600080fd5b8301601f81018513614b0a57600080fd5b80356020614b1a61461b836145d6565b82815260079290921b83018101918181019088841115614b3957600080fd5b938201935b83851015614aa557614b5089866149bb565b82529385019390820190614b3e565b600080600060608486031215614b7457600080fd5b833567ffffffffffffffff80821115614b8c57600080fd5b908501906101c08288031215614ba157600080fd5b614ba9614582565b614bb3888461486e565b8152614bc288606085016148d3565b6020820152614bd48860e08501614917565b604082015261016083013582811115614bec57600080fd5b614bf889828601614962565b60608301525061018083013582811115614c1157600080fd5b614c1d898286016149fc565b6080830152506101a083013582811115614c3657600080fd5b614c4289828601614ab6565b60a0830152509450614c5991505060208501614490565b9150614c6760408501614490565b90509250925092565b600080600060608486031215614c8557600080fd5b8335614c908161447b565b95602085013595506040909401359392505050565b60008060008060808587031215614cbb57600080fd5b5050823594602084013594506040840135936060013592509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d6657614d66614d06565b5060010190565b60005b83811015614d88578181015183820152602001614d70565b50506000910152565b60008151808452614da9816020860160208601614d6d565b601f01601f19169290920160200192915050565b6001600160a01b0384168152606060208201526000614ddf6060830185614d91565b9050826040830152949350505050565b600060208284031215614e0157600080fd5b815167ffffffffffffffff80821115614e1957600080fd5b818401915084601f830112614e2d57600080fd5b815181811115614e3f57614e3f614507565b614e526020601f19601f840116016145a5565b9150808252856020828501011115614e6957600080fd5b614e7a816020840160208601614d6d565b50949350505050565b600081518084526020808501945080840160005b83811015614eb357815187529582019590820190600101614e97565b509495945050505050565b6001600160a01b03841681527fffffffff000000000000000000000000000000000000000000000000000000008316602082015260606040820152600061374b6060830184614e83565b8082028115828204841417610db257610db2614d06565b606080825284519082018190526000906020906080840190828801845b82811015614f615781516001600160a01b031684529284019290840190600101614f3c565b50505083810382850152614f758187614e83565b925050506001600160a01b0383166040830152949350505050565b600060208284031215614fa257600080fd5b5051919050565b60006001600160a01b0380871683528086166020840152507fffffffff000000000000000000000000000000000000000000000000000000008416604083015260806060830152614ffd6080830184614e83565b9695505050505050565b60006020828403121561501957600080fd5b8151610f2b8161466e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261506257615062615024565b500490565b80820180821115610db257610db2614d06565b81810381811115610db257610db2614d06565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000602082840312156150ce57600080fd5b8151610f2b8161447b565b6000826150e8576150e8615024565b500690565b60006001600160a01b0380861683528085166020840152506060604083015261374b6060830184614d91565b81810360008312801583831316838312821617156127f8576127f8614d06565b60008261514857615148615024565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561519c5761519c614d06565b500590565b80820182811260008312801582168215821617156151c1576151c1614d06565b505092915050565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561520157615201614d06565b8181058314821517610db257610db2614d0656fea2646970667358221220b70390f69b4e407ce3160110958c9fbec684ea781f058372c1093be17fc2994364736f6c63430008110033
Generate instant answers for your smart contract questions using Al Models. Read more.
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

