Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 23 from a total of 23 transactions
HIDE LOW VALUE
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Express Execute ... | 25293128 | 30 days ago | IN | 0 ETH | 0.00002051 | ||||
| Express Execute ... | 25293127 | 30 days ago | IN | 0 ETH | 0.00001969 | ||||
| Express Execute ... | 25293112 | 30 days ago | IN | 0 ETH | 0.00001516 | ||||
| Express Execute ... | 25293109 | 30 days ago | IN | 0 ETH | 0.00001379 | ||||
| 0xa147930d | 25292577 | 30 days ago | IN | 0 ETH | 0.00000301 | ||||
| 0xa147930d | 25292551 | 30 days ago | IN | 0 ETH | 0.00000495 | ||||
| 0xa147930d | 25292534 | 30 days ago | IN | 0 ETH | 0.00000405 | ||||
| 0xa147930d | 25292517 | 30 days ago | IN | 0 ETH | 0.00000374 | ||||
| Express Execute ... | 25175101 | 46 days ago | IN | 0 ETH | 0.00002879 | ||||
| Express Execute ... | 25175100 | 46 days ago | IN | 0 ETH | 0.00003082 | ||||
| Express Execute ... | 25175099 | 46 days ago | IN | 0 ETH | 0.00002871 | ||||
| Express Execute ... | 25175098 | 46 days ago | IN | 0 ETH | 0.00002691 | ||||
| Express Execute ... | 25175083 | 46 days ago | IN | 0 ETH | 0.00002996 | ||||
| Express Execute ... | 25175082 | 46 days ago | IN | 0 ETH | 0.00002694 | ||||
| Express Execute ... | 25175081 | 46 days ago | IN | 0 ETH | 0.00002468 | ||||
| Express Execute ... | 25174601 | 46 days ago | IN | 0 ETH | 0.00006445 | ||||
| Express Execute ... | 25174597 | 46 days ago | IN | 0 ETH | 0.00002118 | ||||
| Express Execute ... | 25174586 | 46 days ago | IN | 0 ETH | 0.00001622 | ||||
| Express Execute ... | 25171375 | 47 days ago | IN | 0 ETH | 0.00026069 | ||||
| Express Execute ... | 25171228 | 47 days ago | IN | 0 ETH | 0.00043793 | ||||
| Express Execute ... | 25171190 | 47 days ago | IN | 0 ETH | 0.00024759 | ||||
| Express Execute ... | 25171138 | 47 days ago | IN | 0 ETH | 0.00890446 | ||||
| Express Execute ... | 25170747 | 47 days ago | IN | 0 ETH | 0.00675318 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method |
Block
|
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x61014060 | 24536219 | 135 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"addressProvider","type":"address"},{"internalType":"address","name":"squidRouterAddr","type":"address"},{"internalType":"address","name":"axelarGatewayAddr","type":"address"},{"internalType":"address","name":"permit2Addr","type":"address"},{"internalType":"address[]","name":"universalRoutersArr","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyExecuted","type":"error"},{"inputs":[{"internalType":"string","name":"callName","type":"string"}],"name":"CallExecutionFailed","type":"error"},{"inputs":[],"name":"ExpressExecutorAlreadySet","type":"error"},{"inputs":[{"internalType":"uint256","name":"actionIndex","type":"uint256"},{"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"}],"name":"FailedToExecuteAction","type":"error"},{"inputs":[],"name":"InsufficientValue","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"passedAmount","type":"uint256"},{"internalType":"uint256","name":"amountWithSlippage","type":"uint256"}],"name":"InvalidAmountSlippage","type":"error"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"InvalidModuleAddress","type":"error"},{"inputs":[{"internalType":"address","name":"sourceAddress","type":"address"}],"name":"InvalidSourceAddress","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"InvalidSpender","type":"error"},{"inputs":[],"name":"NotApprovedByGateway","type":"error"},{"inputs":[{"internalType":"uint256","name":"actualValue","type":"uint256"},{"internalType":"uint256","name":"neededValue","type":"uint256"}],"name":"NotEnoughValueToWrap","type":"error"},{"inputs":[{"internalType":"address","name":"safe","type":"address"},{"internalType":"address","name":"delegate","type":"address"},{"internalType":"string","name":"permission","type":"string"}],"name":"PermissionDenied","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"StringsInsufficientHexLength","type":"error"},{"inputs":[],"name":"StringsInvalidAddressFormat","type":"error"},{"inputs":[],"name":"TokenTransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"actionIndex","type":"uint256"},{"indexed":false,"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"}],"name":"ActionExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"actionIndex","type":"uint256"},{"indexed":false,"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"}],"name":"ActionExecutionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"commandId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"sourceChain","type":"string"},{"indexed":false,"internalType":"string","name":"sourceAddress","type":"string"},{"indexed":false,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"expressExecutor","type":"address"}],"name":"ExpressExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"commandId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"sourceChain","type":"string"},{"indexed":false,"internalType":"string","name":"sourceAddress","type":"string"},{"indexed":false,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"expressExecutor","type":"address"}],"name":"ExpressExecutedWithToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"commandId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"sourceChain","type":"string"},{"indexed":false,"internalType":"string","name":"sourceAddress","type":"string"},{"indexed":false,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"expressExecutor","type":"address"}],"name":"ExpressExecutionFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"commandId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"sourceChain","type":"string"},{"indexed":false,"internalType":"string","name":"sourceAddress","type":"string"},{"indexed":false,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"expressExecutor","type":"address"}],"name":"ExpressExecutionWithTokenFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTokensUnwrapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTokensWrapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PermissionedApprovalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"safe","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"string","name":"tokenSymbol","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"destinationChain","type":"string"}],"name":"SquidRouterBridgeTokensExecuted","type":"event"},{"inputs":[],"name":"SLIPPAGE_PERCENTAGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegateBundler","outputs":[{"internalType":"contract IDelegateBundler","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"safe","type":"address"},{"components":[{"components":[{"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"encodedData","type":"bytes"}],"internalType":"struct ISquidRouterModule.ExecuteAction[]","name":"actions","type":"tuple[]"},{"internalType":"bool","name":"isStrict","type":"bool"}],"internalType":"struct ISquidRouterModule.ActionsExecutionParams","name":"params","type":"tuple"}],"name":"executeSameChainActions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"safe","type":"address"},{"components":[{"internalType":"string","name":"bridgedTokenSymbol","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"destinationChain","type":"string"},{"internalType":"uint256","name":"gasFeeAmount","type":"uint256"},{"components":[{"components":[{"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"encodedData","type":"bytes"}],"internalType":"struct ISquidRouterModule.ExecuteAction[]","name":"actions","type":"tuple[]"},{"internalType":"bool","name":"isStrict","type":"bool"}],"internalType":"struct ISquidRouterModule.ActionsExecutionParams","name":"sourceChainActionParams","type":"tuple"},{"components":[{"components":[{"internalType":"enum ISquidRouterModule.ExecuteActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"encodedData","type":"bytes"}],"internalType":"struct ISquidRouterModule.ExecuteAction[]","name":"actions","type":"tuple[]"},{"internalType":"bool","name":"isStrict","type":"bool"}],"internalType":"struct ISquidRouterModule.ActionsExecutionParams","name":"destinationChainActionParams","type":"tuple"},{"internalType":"bool","name":"enableExpress","type":"bool"}],"internalType":"struct ISquidRouterModule.BridgeTokensParams","name":"params","type":"tuple"}],"name":"executeSquidRouterBridgeWithActions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"executeWithToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"expressExecute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"expressExecuteWithToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"gateway","outputs":[{"internalType":"contract IAxelarGateway","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes32","name":"payloadHash","type":"bytes32"}],"name":"getExpressExecutor","outputs":[{"internalType":"address","name":"expressExecutor","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"commandId","type":"bytes32"},{"internalType":"string","name":"sourceChain","type":"string"},{"internalType":"string","name":"sourceAddress","type":"string"},{"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getExpressExecutorWithToken","outputs":[{"internalType":"address","name":"expressExecutor","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getModuleName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getSupportedUniversalRouters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"isUniversalRouter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"permissionsManager","outputs":[{"internalType":"contract IPermissionsManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"permit2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"squidRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
61014060405234801561001157600080fd5b50604051613b5b380380613b5b833981016040819052610030916102cc565b828080876000819050806001600160a01b031663ec67f0f26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061009b91906103e1565b6001600160a01b03166080816001600160a01b031681525050806001600160a01b031663f2da5a116040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011691906103e1565b6001600160a01b031660a0816001600160a01b031681525050806001600160a01b031663cae5f11e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561016d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019191906103e1565b6001600160a01b0390811660c052831691506101c290505760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0390811660e0528681166101005284166101205250600090505b815181101561022257610219828281518110610201576102016103fc565b6020026020010151600061022d60201b90919060201c565b506001016101e3565b505050505050610412565b6000610242836001600160a01b03841661024b565b90505b92915050565b600081815260018301602052604081205461029257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610245565b506000610245565b80516001600160a01b03811681146102b157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156102e457600080fd5b6102ed8661029a565b94506102fb6020870161029a565b93506103096040870161029a565b92506103176060870161029a565b60808701519092506001600160401b0381111561033357600080fd5b8601601f8101881361034457600080fd5b80516001600160401b0381111561035d5761035d6102b6565b604051600582901b90603f8201601f191681016001600160401b038111828210171561038b5761038b6102b6565b60405291825260208184018101929081018b8411156103a957600080fd5b6020850194505b838510156103cf576103c18561029a565b8152602094850194016103b0565b50809450505050509295509295909350565b6000602082840312156103f357600080fd5b6102428261029a565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e051610100516101205161367c6104df600039600081816101a7015281816120d2015261259101526000818161022001528181610c9201528181610f370152818161208801526121c501526000818161015d01528181610472015281816105bc015281816106aa01528181610809015281816109a301528181610a3101526111ea015260008181610349015281816122b0015261236a0152600081816103b0015281816113a701526113d30152600081816104040152611455015261367c6000f3fe6080604052600436106101145760003560e01c80638571a13e116100a0578063c7e6a3cc11610064578063c7e6a3cc1461036b578063e4a974cc1461038b578063f5a73cd61461039e578063f8c78d03146103d2578063fca402ed146103f257600080fd5b80638571a13e14610297578063868a166d146102d757806388e1981b146102f7578063ad01b80614610317578063ad5c46481461033757600080fd5b806320b268ca116100e757806320b268ca146101eb5780633b71bbc11461020e5780634916065814610242578063656576361461026257806381afc9611461027557600080fd5b806301ffc9a714610119578063116191b61461014e57806312261ee7146101955780631a98b2e0146101c9575b600080fd5b34801561012557600080fd5b50610139610134366004612631565b610426565b60405190151581526020015b60405180910390f35b34801561015a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b3480156101a157600080fd5b5061017d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d557600080fd5b506101e96101e43660046126a3565b610451565b005b3480156101f757600080fd5b50610200610670565b604051908152602001610145565b34801561021a57600080fd5b5061017d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561024e57600080fd5b506101e961025d36600461278c565b610689565b6101e961027036600461278c565b6107eb565b34801561028157600080fd5b5061028a61090a565b6040516101459190612839565b3480156102a357600080fd5b5060408051808201825260118152705371756964526f757465724d6f64756c6560781b6020820152905161014591906128d5565b3480156102e357600080fd5b5061017d6102f23660046128e8565b61091b565b34801561030357600080fd5b506101e96103123660046129be565b61093c565b34801561032357600080fd5b50610139610332366004612a14565b61094a565b34801561034357600080fd5b5061017d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037757600080fd5b5061017d610386366004612a31565b61096a565b6101e96103993660046126a3565b610985565b3480156103aa57600080fd5b5061017d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103de57600080fd5b506101e96103ed366004612ab6565b610b73565b3480156103fe57600080fd5b5061017d7f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216635c88647f60e01b148061044b575061044b82610b7d565b92915050565b60008585604051610463929190612b01565b604051809103902090506104947f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0316631876eed98c8c8c8c8c878b8b8b6040518a63ffffffff1660e01b81526004016104cf99989796959493929190612b3a565b6020604051808303816000875af11580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190612ba7565b61052f57604051631403112d60e21b815260040160405180910390fd5b60006105428c8c8c8c8c878b8b8b610bb2565b90506001600160a01b0381161561065057806001600160a01b0316838d7fdb3db9dfc9262f4fe09dbadef104f799d8181ec565e09275d80ed3355aab68d38e8e8e8e898d8d60405161059a9796959493929190612bc4565b60405180910390a46040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906105f39089908990600401612c06565b602060405180830381865afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106349190612c1a565b905061064a6001600160a01b0382168386610be5565b50610662565b6106628c8c8c8c8c8c8c8c8c8c610c4d565b505050505050505050505050565b6106866a084595161401484a0000006005612c4d565b81565b6000828260405161069b929190612b01565b604051809103902090506106cc7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0316635f6970c38989898989876040518763ffffffff1660e01b815260040161070196959493929190612c64565b6020604051808303816000875af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190612ba7565b61076157604051631403112d60e21b815260040160405180910390fd5b6000610771898989898987610d10565b90506001600160a01b038116156107d157806001600160a01b0316897f8fe61b2d4701a29265508750790e322b2c214399abdf98472158b8908b660d418a8a8a8a886040516107c4959493929190612ca5565b60405180910390a36107e0565b6107e089898989898989610d3d565b505050505050505050565b604051630d26ff2160e41b8152600481018890526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d26ff21090602401602060405180830381865afa158015610850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108749190612ba7565b1561089257604051630dc1019760e01b815260040160405180910390fd5b60405133906000906108a79085908590612b01565b60405180910390209050816001600160a01b0316897f6e18757e81c44a367109cbaa499add16f2ae7168aab9715c3cdc36b0f7ccce928a8a8a8a876040516108f3959493929190612ca5565b60405180910390a36107d189898989898688610d7d565b60606109166000610dc4565b905090565b600061092e8a8a8a8a8a8a8a8a8a610dd8565b9a9950505050505050505050565b6109468282610dfc565b5050565b6001600160a01b038116600090815260016020526040812054151561044b565b600061097a878787878787610fcf565b979650505050505050565b604051630d26ff2160e41b8152600481018b90526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d26ff21090602401602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190612ba7565b15610a2c57604051630dc1019760e01b815260040160405180910390fd5b3360007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663935b13f686866040518363ffffffff1660e01b8152600401610a7d929190612c06565b602060405180830381865afa158015610a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abe9190612c1a565b905060008787604051610ad2929190612b01565b60405180910390209050826001600160a01b0316848e7f5844b8bbe3fd2b0354e73f27bfde28d2e6d991f14139c382876ec4360391a47b8f8f8f8f888e8e604051610b239796959493929190612bc4565b60405180910390a4610b3d8d8d8d8d8d868c8c8c8c610fed565b610b526001600160a01b03831684308761103a565b610b648d8d8d8d8d8d8d8d8d8d610c4d565b50505050505050505050505050565b6109468282611078565b60006001600160e01b031982166342b8d09f60e11b148061044b57506301ffc9a760e01b6001600160e01b031983161461044b565b600080610bc68b8b8b8b8b8b8b8b8b611092565b9050805491508115610bd757600081555b509998505050505050505050565b6040516001600160a01b038316602482015260448101829052610c4890849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526110fc565b505050565b6000610c8e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111c192505050565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316148190610cf5576040516398785edb60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506000610d0285856111d0565b905061066281848989611262565b600080610d218888888888886112dd565b9050805491508115610d3257600081555b509695505050505050565b60405162461bcd60e51b81526020600482015260156024820152742ab739bab83837b93a32b21037b832b930ba34b7b760591b6044820152606401610cec565b6000610d8d8888888888886112dd565b80549091506001600160a01b03811615610dba5760405163725f13f160e01b815260040160405180910390fd5b5055505050505050565b60606000610dd18361133e565b9392505050565b600080610dec8b8b8b8b8b8b8b8b8b611092565b549b9a5050505050505050505050565b6000610e0661139a565b9050610e3983826040518060400160405280600e81526020016d1094925111d157d1115413d4d25560921b815250611453565b610e598382610e4b6080860186612cdf565b610e5490612f34565b61153e565b6000308483610e6b60a0870187612cdf565b604051602001610e7e9493929190612f78565b60408051601f1981840301815291905290506000610e9c84806130d0565b6020860135610eae60408801886130d0565b610eb7306116ac565b878b610ec960e08d0160c08e01613116565b604051602401610ee199989796959493929190613133565b60408051601f19818403018152918152602080830180516001600160e01b031663010a3bcb60e51b1790528151808301909252600c82526b627269646765546f6b656e7360a01b90820152909150610f649086907f00000000000000000000000000000000000000000000000000000000000000009060608801359085906116c2565b6001600160a01b038084169086167f44fb31146034532a37bdb60c9d444d9a68d8c4910880ad0a3fd99dda4ffd9e60610f9d87806130d0565b6020890135610faf60408b018b6130d0565b604051610fc09594939291906131af565b60405180910390a35050505050565b600080610fe08888888888886112dd565b5498975050505050505050565b60006110008b8b8b8b8b8b8b8b8b611092565b80549091506001600160a01b0381161561102d5760405163725f13f160e01b815260040160405180910390fd5b5055505050505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110729085906323b872dd60e01b90608401610c11565b50505050565b600061108261139a565b9050610c488382610e5485612f34565b60007febf4535caee8019297b7be3ed867db0d00b69fedcdda98c5e2c41ea6e41a98d58a8a8a8a8a8a8a8a8a6040516020016110d79a999897969594939291906131e8565b6040516020818303038152906040528051906020012090509998505050505050505050565b600080836001600160a01b031683604051611117919061324e565b6000604051808303816000865af19150503d8060008114611154576040519150601f19603f3d011682016040523d82523d6000602084013e611159565b606091505b509150915060008280156111855750815115806111855750818060200190518101906111859190612ba7565b905080158061119c57506001600160a01b0385163b155b156111ba5760405163022e258160e11b815260040160405180910390fd5b5050505050565b600061044b8260008451611758565b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906112219086908690600401612c06565b602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd19190612c1a565b600080808061127385870187613260565b92965090945092509050836001600160a01b03811630146112b35760405163ede1f52b60e01b81526001600160a01b039091166004820152602401610cec565b506112c86001600160a01b0389168489611793565b6112d383838361153e565b5050505050505050565b60007f2a41fec9a0df4e0996b975f71622c7164b0f652ea69d9dbcd6b24e81b20ab5e587878787878760405160200161131c97969594939291906132d4565b6040516020818303038152906040528051906020012090509695505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561138e57602002820191906000526020600020905b81548152602001906001019080831161137a575b50505050509050919050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113d157503390565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631e59f7eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612c1a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ac57395b84846114b185604080518082018252600081526060602091820152815180830190925230825281019190915290565b6040518463ffffffff1660e01b81526004016114cf9392919061331c565b602060405180830381865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115109190612ba7565b838383909192611536576040516338d2b43560e21b8152600401610cec93929190613363565b505050505050565b60005b815151811015611072576115738484846000015184815181106115665761156661338f565b60200260200101516117e5565b6116365781602001511581836000015183815181106115945761159461338f565b60200260200101516000015190916115c157604051632b3f5b5360e11b8152600401610cec9291906133a5565b5050826001600160a01b0316846001600160a01b03167f6732d3ef3187b2e4eddcf607127ef84127d42f63fb12a03521a47480353ae732838560000151858151811061160f5761160f61338f565b6020026020010151600001516040516116299291906133a5565b60405180910390a3611072565b826001600160a01b0316846001600160a01b03167fbbff709987512d10ea510d6fa17f8f95acd959892646194d0122df240b18a51283856000015185815181106116825761168261338f565b60200260200101516000015160405161169c9291906133a5565b60405180910390a3600101611541565b606061044b6001600160a01b038316601461193e565b60405163468721a760e01b81526001600160a01b0386169063468721a7906116f5908790879087906000906004016133b9565b6020604051808303816000875af1158015611714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117389190612ba7565b8190611536576040516374a6d4d960e11b8152600401610cec91906128d5565b6000806000611768868686611abd565b915091508161178a576040516307456b9160e21b815260040160405180910390fd5b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c48908490611b70565b60006002825160078111156117fc576117fc612f40565b036118175761181084848460200151611be1565b9050610dd1565b60038251600781111561182c5761182c612f40565b036118405761181084848460200151611d44565b60008251600781111561185557611855612f40565b036118695761181084848460200151611e41565b60018251600781111561187e5761187e612f40565b036118925761181084848460200151611f3e565b6004825160078111156118a7576118a7612f40565b036118bb576118108484846020015161203b565b6005825160078111156118d0576118d0612f40565b036118e45761181084848460200151612178565b6006825160078111156118f9576118f9612f40565b0361190d576118108484846020015161223f565b60078251600781111561192257611922612f40565b0361193657611810848484602001516122e0565b506000610dd1565b606082600061194e846002612c4d565b6119599060026133f4565b6001600160401b0381111561197057611970612cff565b6040519080825280601f01601f19166020018201604052801561199a576020820181803683370190505b509050600360fc1b816000815181106119b5576119b561338f565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106119e4576119e461338f565b60200101906001600160f81b031916908160001a9053506000611a08856002612c4d565b611a139060016133f4565b90505b6001811115611a8b576f181899199a1a9b1b9c1cb0b131b232b360811b83600f1660108110611a4757611a4761338f565b1a60f81b828281518110611a5d57611a5d61338f565b60200101906001600160f81b031916908160001a90535060049290921c91611a8481613407565b9050611a16565b508115611ab55760405163e22e27eb60e01b81526004810186905260248101859052604401610cec565b949350505050565b6000808451831180611ace57508284115b15611ade57506000905080611b68565b6000611aeb8560016133f4565b84118015611b13575061060f60f31b611b078787016020015190565b6001600160f01b031916145b90506000611b248215156002612c4d565b611b2f9060286133f4565b905080611b3c878761341e565b03611b5e57600080611b4f898989612391565b9096509450611b689350505050565b6000809350935050505b935093915050565b600080602060008451602086016000885af180611b93576040513d6000823e3d81fd5b50506000513d91508115611bab578060011415611bb8565b6001600160a01b0384163b155b1561107257604051635274afe760e01b81526001600160a01b0385166004820152602401610cec565b6000611c0a8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611c269190613431565b94509450945094509450611c398561094a565b611c4b57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611c62579050509050898585846001604051602001611c939594939291906134db565b60405160208183030381529060405281600081518110611cb557611cb561338f565b60209081029190910181019190915260405160009181018290526021015b60405160208183030381529060405290506000818386604051602401611cfb9392919061351c565b60408051601f198184030181529190526020810180516001600160e01b0316630d64d59360e21b1790529050611d348c89600084612457565b9c9b505050505050505050505050565b6000611d6d8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611d899190613431565b94509450945094509450611d9c8561094a565b611dae57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611dc5579050509050898585846001604051602001611df69594939291906134db565b60405160208183030381529060405281600081518110611e1857611e1861338f565b602090810291909101810191909152604051600160f81b91810191909152600090602101611cd3565b6000611e6a8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611e869190613431565b94509450945094509450611e998561094a565b611eab57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611ec2579050509050898585846001604051602001611ef39594939291906134db565b60405160208183030381529060405281600081518110611f1557611f1561338f565b602090810291909101810191909152604051600160fb1b91810191909152600090602101611cd3565b6000611f678484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611f839190613431565b94509450945094509450611f968561094a565b611fa857600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611fbf579050509050898585846001604051602001611ff09594939291906134db565b604051602081830303815290604052816000815181106120125761201261338f565b602090810291909101810191909152604051600960f81b91810191909152600090602101611cd3565b6000612067848460405180604001604052806007815260200166415050524f564560c81b815250611453565b600080600084806020019051810190612080919061359c565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806120ca57506120ca8261094a565b8061210657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b82906121315760405163270af7ed60e11b81526001600160a01b039091166004820152602401610cec565b5061213f87848460006124cf565b61214f5760009350505050610dd1565b61215b878484846124cf565b61216b5760009350505050610dd1565b5060019695505050505050565b60006121a4848460405180604001604052806007815260200166415050524f564560c81b815250611453565b6000806000848060200190518101906121bd91906135e0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061220757506122078261094a565b82906122325760405163270af7ed60e11b81526001600160a01b039091166004820152602401610cec565b5061097a87848484612529565b60006122688484604051806040016040528060048152602001630575241560e41b815250611453565b60008280602001905181019061227e919061362d565b6040805160048152602481019091526020810180516001600160e01b0316630d0e30db60e41b1790529091506122d6867f00000000000000000000000000000000000000000000000000000000000000008484612457565b9695505050505050565b600061230b8484604051806040016040528060068152602001650554e575241560d41b815250611453565b600082806020019051810190612321919061362d565b905060008160405160240161233891815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b17905290506122d6867f0000000000000000000000000000000000000000000000000000000000000000600084612457565b60008084816123a18660016133f4565b851180156123c9575061060f60f31b6123bd8388016020015190565b6001600160f01b031916145b905060006123da8215156002612c4d565b90506000806123e9838a6133f4565b90505b8781101561244657600061240b6124068784016020015190565b6125b8565b9050600f8160ff16111561242b5760008097509750505050505050611b68565b612436601084612c4d565b60ff9091160191506001016123ec565b506001999098509650505050505050565b60405163468721a760e01b81526000906001600160a01b0386169063468721a79061248c9087908790879087906004016133b9565b6020604051808303816000875af11580156124ab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612ba7565b6040516001600160a01b038316602482015260448101829052600090819060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b17905290506122d68686600084612457565b6040516001600160a01b03808516602483015280841660448301528216606482015265ffffffffffff6084820152600090819060a40160408051601f198184030181529190526020810180516001600160e01b03166387517c4560e01b17905290506122d6867f0000000000000000000000000000000000000000000000000000000000000000600084612457565b600060f882901c602f811180156125d25750603a8160ff16105b156125e057602f190161044b565b60608160ff161180156125f6575060678160ff16105b15612604576056190161044b565b60408160ff1611801561261a575060478160ff16105b15612628576036190161044b565b5060ff92915050565b60006020828403121561264357600080fd5b81356001600160e01b031981168114610dd157600080fd5b60008083601f84011261266d57600080fd5b5081356001600160401b0381111561268457600080fd5b60208301915083602082850101111561269c57600080fd5b9250929050565b60008060008060008060008060008060c08b8d0312156126c257600080fd5b8a35995060208b01356001600160401b038111156126df57600080fd5b6126eb8d828e0161265b565b909a5098505060408b01356001600160401b0381111561270a57600080fd5b6127168d828e0161265b565b90985096505060608b01356001600160401b0381111561273557600080fd5b6127418d828e0161265b565b90965094505060808b01356001600160401b0381111561276057600080fd5b61276c8d828e0161265b565b9b9e9a9d50989b979a96999598949794969560a090950135949350505050565b60008060008060008060006080888a0312156127a757600080fd5b8735965060208801356001600160401b038111156127c457600080fd5b6127d08a828b0161265b565b90975095505060408801356001600160401b038111156127ef57600080fd5b6127fb8a828b0161265b565b90955093505060608801356001600160401b0381111561281a57600080fd5b6128268a828b0161265b565b989b979a50959850939692959293505050565b602080825282518282018190526000918401906040840190835b8181101561287a5783516001600160a01b0316835260209384019390920191600101612853565b509095945050505050565b60005b838110156128a0578181015183820152602001612888565b50506000910152565b600081518084526128c1816020860160208601612885565b601f01601f19169290920160200192915050565b602081526000610dd160208301846128a9565b600080600080600080600080600060c08a8c03121561290657600080fd5b8935985060208a01356001600160401b0381111561292357600080fd5b61292f8c828d0161265b565b90995097505060408a01356001600160401b0381111561294e57600080fd5b61295a8c828d0161265b565b90975095505060608a0135935060808a01356001600160401b0381111561298057600080fd5b61298c8c828d0161265b565b9a9d999c50979a9699959894979660a00135949350505050565b6001600160a01b03811681146129bb57600080fd5b50565b600080604083850312156129d157600080fd5b82356129dc816129a6565b915060208301356001600160401b038111156129f757600080fd5b830160e08186031215612a0957600080fd5b809150509250929050565b600060208284031215612a2657600080fd5b8135610dd1816129a6565b60008060008060008060808789031215612a4a57600080fd5b8635955060208701356001600160401b03811115612a6757600080fd5b612a7389828a0161265b565b90965094505060408701356001600160401b03811115612a9257600080fd5b612a9e89828a0161265b565b979a9699509497949695606090950135949350505050565b60008060408385031215612ac957600080fd5b8235612ad4816129a6565b915060208301356001600160401b03811115612aef57600080fd5b830160408186031215612a0957600080fd5b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000612b5460c083018a8c612b11565b8281036040840152612b6781898b612b11565b90508660608401528281036080840152612b82818688612b11565b9150508260a08301529a9950505050505050505050565b80151581146129bb57600080fd5b600060208284031215612bb957600080fd5b8151610dd181612b99565b608081526000612bd860808301898b612b11565b8281036020840152612beb81888a612b11565b9050856040840152828103606084015261092e818587612b11565b602081526000611ab5602083018486612b11565b600060208284031215612c2c57600080fd5b8151610dd1816129a6565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761044b5761044b612c37565b868152608060208201526000612c7e608083018789612b11565b8281036040840152612c91818688612b11565b915050826060830152979650505050505050565b606081526000612cb9606083018789612b11565b8281036020840152612ccc818688612b11565b9150508260408301529695505050505050565b60008235603e19833603018112612cf557600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612d3757612d37612cff565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612d6557612d65612cff565b604052919050565b803560088110612d7c57600080fd5b919050565b60006001600160401b03821115612d9a57612d9a612cff565b50601f01601f191660200190565b8035612d7c81612b99565b600060408284031215612dc557600080fd5b612dcd612d15565b905081356001600160401b03811115612de557600080fd5b8201601f81018413612df657600080fd5b80356001600160401b03811115612e0f57612e0f612cff565b8060051b612e1f60208201612d3d565b91825260208184018101929081019087841115612e3b57600080fd5b6020850192505b83831015612f165782356001600160401b03811115612e6057600080fd5b85016040818a03601f19011215612e7657600080fd5b612e7e612d15565b612e8a60208301612d6d565b815260408201356001600160401b03811115612ea557600080fd5b60208184010192505089601f830112612ebd57600080fd5b8135612ed0612ecb82612d81565b612d3d565b8181528b6020838601011115612ee557600080fd5b8160208501602083013760006020838301015280602084015250508084525050602082019150602083019250612e42565b855250612f299250505060208301612da8565b602082015292915050565b600061044b3683612db3565b634e487b7160e01b600052602160045260246000fd5b60088110612f7457634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b03858116825284811660208301528316604082015260806060820152600060c08201833536859003601e19018112612fb657600080fd5b84018035602082016001600160401b03821115612fd257600080fd5b8160051b803603821315612fe557600080fd5b604060808801529382905260e09386018401936000908701605e1936869003015b848310156130b15788870360df19018252833581811261302557600080fd5b860161303c8861303760208401612d6d565b612f56565b6040810135603e193683900301811261305457600080fd5b016040810190602001356001600160401b0381111561307257600080fd5b80360382131561308157600080fd5b604060208a015261309660408a018284612b11565b98505050602084019350602082019150600183019250613006565b5050505050506130c360208501612da8565b80151560a0850152610d32565b6000808335601e198436030181126130e757600080fd5b8301803591506001600160401b0382111561310157600080fd5b60200191503681900382131561269c57600080fd5b60006020828403121561312857600080fd5b8135610dd181612b99565b60e08152600061314760e083018b8d612b11565b896020840152828103604084015261316081898b612b11565b9050828103606084015261317481886128a9565b9050828103608084015261318881876128a9565b6001600160a01b039590951660a0840152505090151560c090910152979650505050505050565b6060815260006131c3606083018789612b11565b85602084015282810360408401526131dc818587612b11565b98975050505050505050565b8a815289602082015260e06040820152600061320860e083018a8c612b11565b828103606084015261321b81898b612b11565b905086608084015282810360a0840152613236818688612b11565b9150508260c08301529b9a5050505050505050505050565b60008251612cf5818460208701612885565b6000806000806080858703121561327657600080fd5b8435613281816129a6565b93506020850135613291816129a6565b925060408501356132a1816129a6565b915060608501356001600160401b038111156132bc57600080fd5b6132c887828801612db3565b91505092959194509250565b87815286602082015260a0604082015260006132f460a083018789612b11565b8281036060840152613307818688612b11565b91505082608083015298975050505050505050565b6001600160a01b0384811682528381166020808401919091526060604080850182905285519093169084015283015160808301919091526000906122d660a08401826128a9565b6001600160a01b0384811682528316602082015260606040820181905260009061178a908301846128a9565b634e487b7160e01b600052603260045260246000fd5b82815260408101610dd16020830184612f56565b60018060a01b03851681528360208201526080604082015260006133e060808301856128a9565b905060ff8316606083015295945050505050565b8082018082111561044b5761044b612c37565b60008161341657613416612c37565b506000190190565b8181038181111561044b5761044b612c37565b600080600080600060a0868803121561344957600080fd5b8551613454816129a6565b60208701516040880151606089015160808a0151939850919650945092506001600160401b0381111561348657600080fd5b8601601f8101881361349757600080fd5b80516134a5612ecb82612d81565b8181528960208385010111156134ba57600080fd5b6134cb826020830160208601612885565b8093505050509295509295909350565b60018060a01b038616815284602082015283604082015260a06060820152600061350860a08301856128a9565b905082151560808301529695505050505050565b60608152600061352f60608301866128a9565b828103602084015280855180835260208301915060208160051b8401016020880160005b8381101561358557601f1986840301855261356f8383516128a9565b6020958601959093509190910190600101613553565b505080945050505050826040830152949350505050565b6000806000606084860312156135b157600080fd5b83516135bc816129a6565b60208501519093506135cd816129a6565b6040949094015192959394509192915050565b6000806000606084860312156135f557600080fd5b8351613600816129a6565b6020850151909350613611816129a6565b6040850151909250613622816129a6565b809150509250925092565b60006020828403121561363f57600080fd5b505191905056fea2646970667358221220297c2d22efe041ca05a1e3ccf421b3cb216e70657be120bd95c8df8c75a6a6a664736f6c634300081e00330000000000000000000000004e60b3b28cafb08d4454eda58cc36a732bedb801000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6660000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af00000000000000000000000065b382653f7c31bc0af67f188122035461ec9c76
Deployed Bytecode
0x6080604052600436106101145760003560e01c80638571a13e116100a0578063c7e6a3cc11610064578063c7e6a3cc1461036b578063e4a974cc1461038b578063f5a73cd61461039e578063f8c78d03146103d2578063fca402ed146103f257600080fd5b80638571a13e14610297578063868a166d146102d757806388e1981b146102f7578063ad01b80614610317578063ad5c46481461033757600080fd5b806320b268ca116100e757806320b268ca146101eb5780633b71bbc11461020e5780634916065814610242578063656576361461026257806381afc9611461027557600080fd5b806301ffc9a714610119578063116191b61461014e57806312261ee7146101955780631a98b2e0146101c9575b600080fd5b34801561012557600080fd5b50610139610134366004612631565b610426565b60405190151581526020015b60405180910390f35b34801561015a57600080fd5b507f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a55b6040516001600160a01b039091168152602001610145565b3480156101a157600080fd5b5061017d7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba381565b3480156101d557600080fd5b506101e96101e43660046126a3565b610451565b005b3480156101f757600080fd5b50610200610670565b604051908152602001610145565b34801561021a57600080fd5b5061017d7f000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d66681565b34801561024e57600080fd5b506101e961025d36600461278c565b610689565b6101e961027036600461278c565b6107eb565b34801561028157600080fd5b5061028a61090a565b6040516101459190612839565b3480156102a357600080fd5b5060408051808201825260118152705371756964526f757465724d6f64756c6560781b6020820152905161014591906128d5565b3480156102e357600080fd5b5061017d6102f23660046128e8565b61091b565b34801561030357600080fd5b506101e96103123660046129be565b61093c565b34801561032357600080fd5b50610139610332366004612a14565b61094a565b34801561034357600080fd5b5061017d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561037757600080fd5b5061017d610386366004612a31565b61096a565b6101e96103993660046126a3565b610985565b3480156103aa57600080fd5b5061017d7f000000000000000000000000276ce926826d2ce94cd844c40632f5c3a8f80d1f81565b3480156103de57600080fd5b506101e96103ed366004612ab6565b610b73565b3480156103fe57600080fd5b5061017d7f00000000000000000000000003b8b1ba6b02b8a566cb757dfa627f7198c44cb781565b60006001600160e01b03198216635c88647f60e01b148061044b575061044b82610b7d565b92915050565b60008585604051610463929190612b01565b604051809103902090506104947f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a590565b6001600160a01b0316631876eed98c8c8c8c8c878b8b8b6040518a63ffffffff1660e01b81526004016104cf99989796959493929190612b3a565b6020604051808303816000875af11580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190612ba7565b61052f57604051631403112d60e21b815260040160405180910390fd5b60006105428c8c8c8c8c878b8b8b610bb2565b90506001600160a01b0381161561065057806001600160a01b0316838d7fdb3db9dfc9262f4fe09dbadef104f799d8181ec565e09275d80ed3355aab68d38e8e8e8e898d8d60405161059a9796959493929190612bc4565b60405180910390a46040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5169063935b13f6906105f39089908990600401612c06565b602060405180830381865afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106349190612c1a565b905061064a6001600160a01b0382168386610be5565b50610662565b6106628c8c8c8c8c8c8c8c8c8c610c4d565b505050505050505050505050565b6106866a084595161401484a0000006005612c4d565b81565b6000828260405161069b929190612b01565b604051809103902090506106cc7f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a590565b6001600160a01b0316635f6970c38989898989876040518763ffffffff1660e01b815260040161070196959493929190612c64565b6020604051808303816000875af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190612ba7565b61076157604051631403112d60e21b815260040160405180910390fd5b6000610771898989898987610d10565b90506001600160a01b038116156107d157806001600160a01b0316897f8fe61b2d4701a29265508750790e322b2c214399abdf98472158b8908b660d418a8a8a8a886040516107c4959493929190612ca5565b60405180910390a36107e0565b6107e089898989898989610d3d565b505050505050505050565b604051630d26ff2160e41b8152600481018890526001600160a01b037f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5169063d26ff21090602401602060405180830381865afa158015610850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108749190612ba7565b1561089257604051630dc1019760e01b815260040160405180910390fd5b60405133906000906108a79085908590612b01565b60405180910390209050816001600160a01b0316897f6e18757e81c44a367109cbaa499add16f2ae7168aab9715c3cdc36b0f7ccce928a8a8a8a876040516108f3959493929190612ca5565b60405180910390a36107d189898989898688610d7d565b60606109166000610dc4565b905090565b600061092e8a8a8a8a8a8a8a8a8a610dd8565b9a9950505050505050505050565b6109468282610dfc565b5050565b6001600160a01b038116600090815260016020526040812054151561044b565b600061097a878787878787610fcf565b979650505050505050565b604051630d26ff2160e41b8152600481018b90526001600160a01b037f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5169063d26ff21090602401602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190612ba7565b15610a2c57604051630dc1019760e01b815260040160405180910390fd5b3360007f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a56001600160a01b031663935b13f686866040518363ffffffff1660e01b8152600401610a7d929190612c06565b602060405180830381865afa158015610a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abe9190612c1a565b905060008787604051610ad2929190612b01565b60405180910390209050826001600160a01b0316848e7f5844b8bbe3fd2b0354e73f27bfde28d2e6d991f14139c382876ec4360391a47b8f8f8f8f888e8e604051610b239796959493929190612bc4565b60405180910390a4610b3d8d8d8d8d8d868c8c8c8c610fed565b610b526001600160a01b03831684308761103a565b610b648d8d8d8d8d8d8d8d8d8d610c4d565b50505050505050505050505050565b6109468282611078565b60006001600160e01b031982166342b8d09f60e11b148061044b57506301ffc9a760e01b6001600160e01b031983161461044b565b600080610bc68b8b8b8b8b8b8b8b8b611092565b9050805491508115610bd757600081555b509998505050505050505050565b6040516001600160a01b038316602482015260448101829052610c4890849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526110fc565b505050565b6000610c8e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111c192505050565b90507f000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6666001600160a01b0316816001600160a01b0316148190610cf5576040516398785edb60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506000610d0285856111d0565b905061066281848989611262565b600080610d218888888888886112dd565b9050805491508115610d3257600081555b509695505050505050565b60405162461bcd60e51b81526020600482015260156024820152742ab739bab83837b93a32b21037b832b930ba34b7b760591b6044820152606401610cec565b6000610d8d8888888888886112dd565b80549091506001600160a01b03811615610dba5760405163725f13f160e01b815260040160405180910390fd5b5055505050505050565b60606000610dd18361133e565b9392505050565b600080610dec8b8b8b8b8b8b8b8b8b611092565b549b9a5050505050505050505050565b6000610e0661139a565b9050610e3983826040518060400160405280600e81526020016d1094925111d157d1115413d4d25560921b815250611453565b610e598382610e4b6080860186612cdf565b610e5490612f34565b61153e565b6000308483610e6b60a0870187612cdf565b604051602001610e7e9493929190612f78565b60408051601f1981840301815291905290506000610e9c84806130d0565b6020860135610eae60408801886130d0565b610eb7306116ac565b878b610ec960e08d0160c08e01613116565b604051602401610ee199989796959493929190613133565b60408051601f19818403018152918152602080830180516001600160e01b031663010a3bcb60e51b1790528151808301909252600c82526b627269646765546f6b656e7360a01b90820152909150610f649086907f000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6669060608801359085906116c2565b6001600160a01b038084169086167f44fb31146034532a37bdb60c9d444d9a68d8c4910880ad0a3fd99dda4ffd9e60610f9d87806130d0565b6020890135610faf60408b018b6130d0565b604051610fc09594939291906131af565b60405180910390a35050505050565b600080610fe08888888888886112dd565b5498975050505050505050565b60006110008b8b8b8b8b8b8b8b8b611092565b80549091506001600160a01b0381161561102d5760405163725f13f160e01b815260040160405180910390fd5b5055505050505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110729085906323b872dd60e01b90608401610c11565b50505050565b600061108261139a565b9050610c488382610e5485612f34565b60007febf4535caee8019297b7be3ed867db0d00b69fedcdda98c5e2c41ea6e41a98d58a8a8a8a8a8a8a8a8a6040516020016110d79a999897969594939291906131e8565b6040516020818303038152906040528051906020012090509998505050505050505050565b600080836001600160a01b031683604051611117919061324e565b6000604051808303816000865af19150503d8060008114611154576040519150601f19603f3d011682016040523d82523d6000602084013e611159565b606091505b509150915060008280156111855750815115806111855750818060200190518101906111859190612ba7565b905080158061119c57506001600160a01b0385163b155b156111ba5760405163022e258160e11b815260040160405180910390fd5b5050505050565b600061044b8260008451611758565b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5169063935b13f6906112219086908690600401612c06565b602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd19190612c1a565b600080808061127385870187613260565b92965090945092509050836001600160a01b03811630146112b35760405163ede1f52b60e01b81526001600160a01b039091166004820152602401610cec565b506112c86001600160a01b0389168489611793565b6112d383838361153e565b5050505050505050565b60007f2a41fec9a0df4e0996b975f71622c7164b0f652ea69d9dbcd6b24e81b20ab5e587878787878760405160200161131c97969594939291906132d4565b6040516020818303038152906040528051906020012090509695505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561138e57602002820191906000526020600020905b81548152602001906001019080831161137a575b50505050509050919050565b6000336001600160a01b037f000000000000000000000000276ce926826d2ce94cd844c40632f5c3a8f80d1f16146113d157503390565b7f000000000000000000000000276ce926826d2ce94cd844c40632f5c3a8f80d1f6001600160a01b0316631e59f7eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612c1a565b7f00000000000000000000000003b8b1ba6b02b8a566cb757dfa627f7198c44cb76001600160a01b031663ac57395b84846114b185604080518082018252600081526060602091820152815180830190925230825281019190915290565b6040518463ffffffff1660e01b81526004016114cf9392919061331c565b602060405180830381865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115109190612ba7565b838383909192611536576040516338d2b43560e21b8152600401610cec93929190613363565b505050505050565b60005b815151811015611072576115738484846000015184815181106115665761156661338f565b60200260200101516117e5565b6116365781602001511581836000015183815181106115945761159461338f565b60200260200101516000015190916115c157604051632b3f5b5360e11b8152600401610cec9291906133a5565b5050826001600160a01b0316846001600160a01b03167f6732d3ef3187b2e4eddcf607127ef84127d42f63fb12a03521a47480353ae732838560000151858151811061160f5761160f61338f565b6020026020010151600001516040516116299291906133a5565b60405180910390a3611072565b826001600160a01b0316846001600160a01b03167fbbff709987512d10ea510d6fa17f8f95acd959892646194d0122df240b18a51283856000015185815181106116825761168261338f565b60200260200101516000015160405161169c9291906133a5565b60405180910390a3600101611541565b606061044b6001600160a01b038316601461193e565b60405163468721a760e01b81526001600160a01b0386169063468721a7906116f5908790879087906000906004016133b9565b6020604051808303816000875af1158015611714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117389190612ba7565b8190611536576040516374a6d4d960e11b8152600401610cec91906128d5565b6000806000611768868686611abd565b915091508161178a576040516307456b9160e21b815260040160405180910390fd5b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c48908490611b70565b60006002825160078111156117fc576117fc612f40565b036118175761181084848460200151611be1565b9050610dd1565b60038251600781111561182c5761182c612f40565b036118405761181084848460200151611d44565b60008251600781111561185557611855612f40565b036118695761181084848460200151611e41565b60018251600781111561187e5761187e612f40565b036118925761181084848460200151611f3e565b6004825160078111156118a7576118a7612f40565b036118bb576118108484846020015161203b565b6005825160078111156118d0576118d0612f40565b036118e45761181084848460200151612178565b6006825160078111156118f9576118f9612f40565b0361190d576118108484846020015161223f565b60078251600781111561192257611922612f40565b0361193657611810848484602001516122e0565b506000610dd1565b606082600061194e846002612c4d565b6119599060026133f4565b6001600160401b0381111561197057611970612cff565b6040519080825280601f01601f19166020018201604052801561199a576020820181803683370190505b509050600360fc1b816000815181106119b5576119b561338f565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106119e4576119e461338f565b60200101906001600160f81b031916908160001a9053506000611a08856002612c4d565b611a139060016133f4565b90505b6001811115611a8b576f181899199a1a9b1b9c1cb0b131b232b360811b83600f1660108110611a4757611a4761338f565b1a60f81b828281518110611a5d57611a5d61338f565b60200101906001600160f81b031916908160001a90535060049290921c91611a8481613407565b9050611a16565b508115611ab55760405163e22e27eb60e01b81526004810186905260248101859052604401610cec565b949350505050565b6000808451831180611ace57508284115b15611ade57506000905080611b68565b6000611aeb8560016133f4565b84118015611b13575061060f60f31b611b078787016020015190565b6001600160f01b031916145b90506000611b248215156002612c4d565b611b2f9060286133f4565b905080611b3c878761341e565b03611b5e57600080611b4f898989612391565b9096509450611b689350505050565b6000809350935050505b935093915050565b600080602060008451602086016000885af180611b93576040513d6000823e3d81fd5b50506000513d91508115611bab578060011415611bb8565b6001600160a01b0384163b155b1561107257604051635274afe760e01b81526001600160a01b0385166004820152602401610cec565b6000611c0a8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611c269190613431565b94509450945094509450611c398561094a565b611c4b57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611c62579050509050898585846001604051602001611c939594939291906134db565b60405160208183030381529060405281600081518110611cb557611cb561338f565b60209081029190910181019190915260405160009181018290526021015b60405160208183030381529060405290506000818386604051602401611cfb9392919061351c565b60408051601f198184030181529190526020810180516001600160e01b0316630d64d59360e21b1790529050611d348c89600084612457565b9c9b505050505050505050505050565b6000611d6d8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611d899190613431565b94509450945094509450611d9c8561094a565b611dae57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611dc5579050509050898585846001604051602001611df69594939291906134db565b60405160208183030381529060405281600081518110611e1857611e1861338f565b602090810291909101810191909152604051600160f81b91810191909152600090602101611cd3565b6000611e6a8484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611e869190613431565b94509450945094509450611e998561094a565b611eab57600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611ec2579050509050898585846001604051602001611ef39594939291906134db565b60405160208183030381529060405281600081518110611f1557611f1561338f565b602090810291909101810191909152604051600160fb1b91810191909152600090602101611cd3565b6000611f678484604051806040016040528060048152602001630535741560e41b815250611453565b600080600080600086806020019051810190611f839190613431565b94509450945094509450611f968561094a565b611fa857600095505050505050610dd1565b604080516001808252818301909252600091816020015b6060815260200190600190039081611fbf579050509050898585846001604051602001611ff09594939291906134db565b604051602081830303815290604052816000815181106120125761201261338f565b602090810291909101810191909152604051600960f81b91810191909152600090602101611cd3565b6000612067848460405180604001604052806007815260200166415050524f564560c81b815250611453565b600080600084806020019051810190612080919061359c565b9250925092507f000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6666001600160a01b0316826001600160a01b031614806120ca57506120ca8261094a565b8061210657507f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba36001600160a01b0316826001600160a01b0316145b82906121315760405163270af7ed60e11b81526001600160a01b039091166004820152602401610cec565b5061213f87848460006124cf565b61214f5760009350505050610dd1565b61215b878484846124cf565b61216b5760009350505050610dd1565b5060019695505050505050565b60006121a4848460405180604001604052806007815260200166415050524f564560c81b815250611453565b6000806000848060200190518101906121bd91906135e0565b9250925092507f000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6666001600160a01b0316826001600160a01b0316148061220757506122078261094a565b82906122325760405163270af7ed60e11b81526001600160a01b039091166004820152602401610cec565b5061097a87848484612529565b60006122688484604051806040016040528060048152602001630575241560e41b815250611453565b60008280602001905181019061227e919061362d565b6040805160048152602481019091526020810180516001600160e01b0316630d0e30db60e41b1790529091506122d6867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28484612457565b9695505050505050565b600061230b8484604051806040016040528060068152602001650554e575241560d41b815250611453565b600082806020019051810190612321919061362d565b905060008160405160240161233891815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316632e1a7d4d60e01b17905290506122d6867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600084612457565b60008084816123a18660016133f4565b851180156123c9575061060f60f31b6123bd8388016020015190565b6001600160f01b031916145b905060006123da8215156002612c4d565b90506000806123e9838a6133f4565b90505b8781101561244657600061240b6124068784016020015190565b6125b8565b9050600f8160ff16111561242b5760008097509750505050505050611b68565b612436601084612c4d565b60ff9091160191506001016123ec565b506001999098509650505050505050565b60405163468721a760e01b81526000906001600160a01b0386169063468721a79061248c9087908790879087906004016133b9565b6020604051808303816000875af11580156124ab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612ba7565b6040516001600160a01b038316602482015260448101829052600090819060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b17905290506122d68686600084612457565b6040516001600160a01b03808516602483015280841660448301528216606482015265ffffffffffff6084820152600090819060a40160408051601f198184030181529190526020810180516001600160e01b03166387517c4560e01b17905290506122d6867f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3600084612457565b600060f882901c602f811180156125d25750603a8160ff16105b156125e057602f190161044b565b60608160ff161180156125f6575060678160ff16105b15612604576056190161044b565b60408160ff1611801561261a575060478160ff16105b15612628576036190161044b565b5060ff92915050565b60006020828403121561264357600080fd5b81356001600160e01b031981168114610dd157600080fd5b60008083601f84011261266d57600080fd5b5081356001600160401b0381111561268457600080fd5b60208301915083602082850101111561269c57600080fd5b9250929050565b60008060008060008060008060008060c08b8d0312156126c257600080fd5b8a35995060208b01356001600160401b038111156126df57600080fd5b6126eb8d828e0161265b565b909a5098505060408b01356001600160401b0381111561270a57600080fd5b6127168d828e0161265b565b90985096505060608b01356001600160401b0381111561273557600080fd5b6127418d828e0161265b565b90965094505060808b01356001600160401b0381111561276057600080fd5b61276c8d828e0161265b565b9b9e9a9d50989b979a96999598949794969560a090950135949350505050565b60008060008060008060006080888a0312156127a757600080fd5b8735965060208801356001600160401b038111156127c457600080fd5b6127d08a828b0161265b565b90975095505060408801356001600160401b038111156127ef57600080fd5b6127fb8a828b0161265b565b90955093505060608801356001600160401b0381111561281a57600080fd5b6128268a828b0161265b565b989b979a50959850939692959293505050565b602080825282518282018190526000918401906040840190835b8181101561287a5783516001600160a01b0316835260209384019390920191600101612853565b509095945050505050565b60005b838110156128a0578181015183820152602001612888565b50506000910152565b600081518084526128c1816020860160208601612885565b601f01601f19169290920160200192915050565b602081526000610dd160208301846128a9565b600080600080600080600080600060c08a8c03121561290657600080fd5b8935985060208a01356001600160401b0381111561292357600080fd5b61292f8c828d0161265b565b90995097505060408a01356001600160401b0381111561294e57600080fd5b61295a8c828d0161265b565b90975095505060608a0135935060808a01356001600160401b0381111561298057600080fd5b61298c8c828d0161265b565b9a9d999c50979a9699959894979660a00135949350505050565b6001600160a01b03811681146129bb57600080fd5b50565b600080604083850312156129d157600080fd5b82356129dc816129a6565b915060208301356001600160401b038111156129f757600080fd5b830160e08186031215612a0957600080fd5b809150509250929050565b600060208284031215612a2657600080fd5b8135610dd1816129a6565b60008060008060008060808789031215612a4a57600080fd5b8635955060208701356001600160401b03811115612a6757600080fd5b612a7389828a0161265b565b90965094505060408701356001600160401b03811115612a9257600080fd5b612a9e89828a0161265b565b979a9699509497949695606090950135949350505050565b60008060408385031215612ac957600080fd5b8235612ad4816129a6565b915060208301356001600160401b03811115612aef57600080fd5b830160408186031215612a0957600080fd5b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000612b5460c083018a8c612b11565b8281036040840152612b6781898b612b11565b90508660608401528281036080840152612b82818688612b11565b9150508260a08301529a9950505050505050505050565b80151581146129bb57600080fd5b600060208284031215612bb957600080fd5b8151610dd181612b99565b608081526000612bd860808301898b612b11565b8281036020840152612beb81888a612b11565b9050856040840152828103606084015261092e818587612b11565b602081526000611ab5602083018486612b11565b600060208284031215612c2c57600080fd5b8151610dd1816129a6565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761044b5761044b612c37565b868152608060208201526000612c7e608083018789612b11565b8281036040840152612c91818688612b11565b915050826060830152979650505050505050565b606081526000612cb9606083018789612b11565b8281036020840152612ccc818688612b11565b9150508260408301529695505050505050565b60008235603e19833603018112612cf557600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612d3757612d37612cff565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612d6557612d65612cff565b604052919050565b803560088110612d7c57600080fd5b919050565b60006001600160401b03821115612d9a57612d9a612cff565b50601f01601f191660200190565b8035612d7c81612b99565b600060408284031215612dc557600080fd5b612dcd612d15565b905081356001600160401b03811115612de557600080fd5b8201601f81018413612df657600080fd5b80356001600160401b03811115612e0f57612e0f612cff565b8060051b612e1f60208201612d3d565b91825260208184018101929081019087841115612e3b57600080fd5b6020850192505b83831015612f165782356001600160401b03811115612e6057600080fd5b85016040818a03601f19011215612e7657600080fd5b612e7e612d15565b612e8a60208301612d6d565b815260408201356001600160401b03811115612ea557600080fd5b60208184010192505089601f830112612ebd57600080fd5b8135612ed0612ecb82612d81565b612d3d565b8181528b6020838601011115612ee557600080fd5b8160208501602083013760006020838301015280602084015250508084525050602082019150602083019250612e42565b855250612f299250505060208301612da8565b602082015292915050565b600061044b3683612db3565b634e487b7160e01b600052602160045260246000fd5b60088110612f7457634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b03858116825284811660208301528316604082015260806060820152600060c08201833536859003601e19018112612fb657600080fd5b84018035602082016001600160401b03821115612fd257600080fd5b8160051b803603821315612fe557600080fd5b604060808801529382905260e09386018401936000908701605e1936869003015b848310156130b15788870360df19018252833581811261302557600080fd5b860161303c8861303760208401612d6d565b612f56565b6040810135603e193683900301811261305457600080fd5b016040810190602001356001600160401b0381111561307257600080fd5b80360382131561308157600080fd5b604060208a015261309660408a018284612b11565b98505050602084019350602082019150600183019250613006565b5050505050506130c360208501612da8565b80151560a0850152610d32565b6000808335601e198436030181126130e757600080fd5b8301803591506001600160401b0382111561310157600080fd5b60200191503681900382131561269c57600080fd5b60006020828403121561312857600080fd5b8135610dd181612b99565b60e08152600061314760e083018b8d612b11565b896020840152828103604084015261316081898b612b11565b9050828103606084015261317481886128a9565b9050828103608084015261318881876128a9565b6001600160a01b039590951660a0840152505090151560c090910152979650505050505050565b6060815260006131c3606083018789612b11565b85602084015282810360408401526131dc818587612b11565b98975050505050505050565b8a815289602082015260e06040820152600061320860e083018a8c612b11565b828103606084015261321b81898b612b11565b905086608084015282810360a0840152613236818688612b11565b9150508260c08301529b9a5050505050505050505050565b60008251612cf5818460208701612885565b6000806000806080858703121561327657600080fd5b8435613281816129a6565b93506020850135613291816129a6565b925060408501356132a1816129a6565b915060608501356001600160401b038111156132bc57600080fd5b6132c887828801612db3565b91505092959194509250565b87815286602082015260a0604082015260006132f460a083018789612b11565b8281036060840152613307818688612b11565b91505082608083015298975050505050505050565b6001600160a01b0384811682528381166020808401919091526060604080850182905285519093169084015283015160808301919091526000906122d660a08401826128a9565b6001600160a01b0384811682528316602082015260606040820181905260009061178a908301846128a9565b634e487b7160e01b600052603260045260246000fd5b82815260408101610dd16020830184612f56565b60018060a01b03851681528360208201526080604082015260006133e060808301856128a9565b905060ff8316606083015295945050505050565b8082018082111561044b5761044b612c37565b60008161341657613416612c37565b506000190190565b8181038181111561044b5761044b612c37565b600080600080600060a0868803121561344957600080fd5b8551613454816129a6565b60208701516040880151606089015160808a0151939850919650945092506001600160401b0381111561348657600080fd5b8601601f8101881361349757600080fd5b80516134a5612ecb82612d81565b8181528960208385010111156134ba57600080fd5b6134cb826020830160208601612885565b8093505050509295509295909350565b60018060a01b038616815284602082015283604082015260a06060820152600061350860a08301856128a9565b905082151560808301529695505050505050565b60608152600061352f60608301866128a9565b828103602084015280855180835260208301915060208160051b8401016020880160005b8381101561358557601f1986840301855261356f8383516128a9565b6020958601959093509190910190600101613553565b505080945050505050826040830152949350505050565b6000806000606084860312156135b157600080fd5b83516135bc816129a6565b60208501519093506135cd816129a6565b6040949094015192959394509192915050565b6000806000606084860312156135f557600080fd5b8351613600816129a6565b6020850151909350613611816129a6565b6040850151909250613622816129a6565b809150509250925092565b60006020828403121561363f57600080fd5b505191905056fea2646970667358221220297c2d22efe041ca05a1e3ccf421b3cb216e70657be120bd95c8df8c75a6a6a664736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004e60b3b28cafb08d4454eda58cc36a732bedb801000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d6660000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af00000000000000000000000065b382653f7c31bc0af67f188122035461ec9c76
-----Decoded View---------------
Arg [0] : addressProvider (address): 0x4E60B3B28CAFb08d4454edA58cC36A732bEdB801
Arg [1] : squidRouterAddr (address): 0xce16F69375520ab01377ce7B88f5BA8C48F8D666
Arg [2] : axelarGatewayAddr (address): 0x4F4495243837681061C4743b74B3eEdf548D56A5
Arg [3] : permit2Addr (address): 0x000000000022D473030F116dDEE9F6B43aC78BA3
Arg [4] : universalRoutersArr (address[]): 0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af,0x65b382653f7C31bC0Af67f188122035461ec9C76
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000004e60b3b28cafb08d4454eda58cc36a732bedb801
Arg [1] : 000000000000000000000000ce16f69375520ab01377ce7b88f5ba8c48f8d666
Arg [2] : 0000000000000000000000004f4495243837681061c4743b74b3eedf548d56a5
Arg [3] : 000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3
Arg [4] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [6] : 00000000000000000000000066a9893cc07d91d95644aedd05d03f95e1dba8af
Arg [7] : 00000000000000000000000065b382653f7c31bc0af67f188122035461ec9c76
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.


