More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 37 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint And Bridge ... | 18616910 | 241 days ago | IN | 0.00184931 ETH | 0.01739555 | ||||
Mint And Bridge ... | 18616732 | 241 days ago | IN | 0.00457956 ETH | 0.04514283 | ||||
Mint And Bridge ... | 18567322 | 248 days ago | IN | 0.00183582 ETH | 0.01897744 | ||||
Mint And Bridge ... | 18567307 | 248 days ago | IN | 0.00179836 ETH | 0.01739617 | ||||
Mint And Bridge ... | 18516827 | 255 days ago | IN | 0.00155086 ETH | 0.0148051 | ||||
Mint And Bridge ... | 18467062 | 262 days ago | IN | 0.00146881 ETH | 0.01315062 | ||||
Set Reward Per W... | 18467058 | 262 days ago | IN | 0 ETH | 0.00067713 | ||||
Set Reward Per W... | 18417105 | 269 days ago | IN | 0 ETH | 0.00129024 | ||||
Mint And Bridge ... | 18416944 | 269 days ago | IN | 0.00199432 ETH | 0.01753906 | ||||
Mint And Bridge ... | 18416892 | 269 days ago | IN | 0.00195812 ETH | 0.01902817 | ||||
Mint And Bridge ... | 18416794 | 269 days ago | IN | 0.00210971 ETH | 0.01929801 | ||||
Mint And Bridge ... | 18366491 | 276 days ago | IN | 0.00075169 ETH | 0.00427466 | ||||
Mint And Bridge ... | 18316493 | 283 days ago | IN | 0.0007186 ETH | 0.00455399 | ||||
Mint And Bridge ... | 18266600 | 290 days ago | IN | 0.00075588 ETH | 0.00398784 | ||||
Mint And Bridge ... | 18216509 | 297 days ago | IN | 0.00081942 ETH | 0.00481262 | ||||
Mint And Bridge ... | 18166550 | 304 days ago | IN | 0.0009006 ETH | 0.00624861 | ||||
Mint And Bridge ... | 18116891 | 311 days ago | IN | 0.00088707 ETH | 0.00762422 | ||||
Mint And Bridge ... | 18066891 | 318 days ago | IN | 0.00111879 ETH | 0.00902417 | ||||
Mint And Bridge ... | 18016813 | 325 days ago | IN | 0.00135239 ETH | 0.01242309 | ||||
Mint And Bridge ... | 17966855 | 332 days ago | IN | 0.00126181 ETH | 0.01054797 | ||||
Mint And Bridge ... | 17916897 | 339 days ago | IN | 0.00117483 ETH | 0.00950205 | ||||
Mint And Bridge ... | 17866928 | 346 days ago | IN | 0.00115163 ETH | 0.01148911 | ||||
Mint And Bridge ... | 17818496 | 353 days ago | IN | 0.00130997 ETH | 0.01161701 | ||||
Mint And Bridge ... | 17766712 | 360 days ago | IN | 0.0014737 ETH | 0.01408604 | ||||
Mint And Bridge ... | 17716500 | 367 days ago | IN | 0.00107381 ETH | 0.00851614 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18616910 | 241 days ago | 0.00050495 ETH | ||||
18616910 | 241 days ago | 0.00067218 ETH | ||||
18616910 | 241 days ago | 0.00067218 ETH | ||||
18616910 | 241 days ago | 0.00184931 ETH | ||||
18616732 | 241 days ago | 0.00127296 ETH | ||||
18616732 | 241 days ago | 0.0016533 ETH | ||||
18616732 | 241 days ago | 0.0016533 ETH | ||||
18616732 | 241 days ago | 0.00457956 ETH | ||||
18567322 | 248 days ago | 0.00050109 ETH | ||||
18567322 | 248 days ago | 0.00066736 ETH | ||||
18567322 | 248 days ago | 0.00066736 ETH | ||||
18567322 | 248 days ago | 0.00183582 ETH | ||||
18567307 | 248 days ago | 0.00049155 ETH | ||||
18567307 | 248 days ago | 0.00065161 ETH | ||||
18567307 | 248 days ago | 0.00065518 ETH | ||||
18567307 | 248 days ago | 0.00179836 ETH | ||||
18516827 | 255 days ago | 0.00042063 ETH | ||||
18516827 | 255 days ago | 0.00056511 ETH | ||||
18516827 | 255 days ago | 0.00056511 ETH | ||||
18516827 | 255 days ago | 0.00155086 ETH | ||||
18467062 | 262 days ago | 0.00039798 ETH | ||||
18467062 | 262 days ago | 0.00053541 ETH | ||||
18467062 | 262 days ago | 0.00053541 ETH | ||||
18467062 | 262 days ago | 0.00146881 ETH | ||||
18416944 | 269 days ago | 0.00053562 ETH |
Loading...
Loading
Contract Name:
DeriTokenManager
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-24 */ // File: contracts/utils/IAdmin.sol pragma solidity >=0.8.0 <0.9.0; interface IAdmin { event NewAdmin(address indexed newAdmin); function admin() external view returns (address); function setAdmin(address newAdmin) external; } // File: contracts/utils/Admin.sol pragma solidity >=0.8.0 <0.9.0; abstract contract Admin is IAdmin { address public admin; modifier _onlyAdmin_() { require(msg.sender == admin, 'Admin: only admin'); _; } constructor () { admin = msg.sender; emit NewAdmin(admin); } function setAdmin(address newAdmin) external _onlyAdmin_ { admin = newAdmin; emit NewAdmin(newAdmin); } } // File: contracts/token/IERC20.sol pragma solidity >=0.8.0 <0.9.0; interface IERC20 { event Approval( address indexed owner, address indexed spender, uint256 amount ); event Transfer(address indexed from, address indexed to, uint256 amount); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transfer(address to, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); function mint( address account, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; function mint(address account, uint256 amount) external; } // File: contracts/interface/IWormhole.sol pragma solidity >=0.8.0 <0.9.0; interface IWormhole { function freeze( uint256 amount, uint256 toChainId, address toWormhole ) external; function claim( uint256 amount, uint256 fromChainId, address fromWormhole, uint256 fromNonce, uint8 v, bytes32 r, bytes32 s ) external; } // File: contracts/interface/IZksyncL1ERC20Bridge.sol pragma solidity >=0.8.0 <0.9.0; /// @author Matter Labs interface IZksyncL1ERC20Bridge { function deposit( address _l2Receiver, address _l1Token, uint256 _amount, uint256 _l2TxGasLimit, uint256 _l2TxGasPerPubdataByte ) external payable returns (bytes32 txHash); function deposit( address _l2Receiver, address _l1Token, uint256 _amount, uint256 _l2TxGasLimit, uint256 _l2TxGasPerPubdataByte, address _refundRecipient ) external payable returns (bytes32 txHash); } // File: contracts/interface/IArbitrumTokenGateway.sol /* * Copyright 2020, Offchain Labs, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // solhint-disable-next-line compiler-version pragma solidity >=0.6.9 <0.9.0; interface IArbitrumTokenGateway { /// @notice event deprecated in favor of DepositInitiated and WithdrawalInitiated // event OutboundTransferInitiated( // address token, // address indexed _from, // address indexed _to, // uint256 indexed _transferId, // uint256 _amount, // bytes _data // ); /// @notice event deprecated in favor of DepositFinalized and WithdrawalFinalized // event InboundTransferFinalized( // address token, // address indexed _from, // address indexed _to, // uint256 indexed _transferId, // uint256 _amount, // bytes _data // ); function outboundTransfer( address _token, address _to, uint256 _amount, uint256 _maxGas, uint256 _gasPriceBid, bytes calldata _data ) external payable returns (bytes memory); function finalizeInboundTransfer( address _token, address _from, address _to, uint256 _amount, bytes calldata _data ) external payable; /** * @notice Calculate the address used when bridging an ERC20 token * @dev the L1 and L2 address oracles may not always be in sync. * For example, a custom token may have been registered but not deploy or the contract self destructed. * @param l1ERC20 address of L1 token * @return L2 address of a bridged ERC20 token */ function calculateL2TokenAddress( address l1ERC20 ) external view returns (address); function getOutboundCalldata( address _token, address _from, address _to, uint256 _amount, bytes memory _data ) external view returns (bytes memory); } // File: contracts/DeriTokenManagerMainnet.sol pragma solidity >=0.8.0 <0.9.0; contract DeriTokenManager is Admin { struct Signature { uint256 amount; uint256 deadline; uint8 v; bytes32 r; bytes32 s; } struct CrossChainDetails { bool isArbitrum; uint256 poolId; address _token; address _to; uint256 _maxGas; uint256 _gasPriceBid; uint256 _value; bytes _data; address _l2Receiver; address _l1Token; uint256 _l2TxGasLimit; uint256 _l2TxGasPerPubdataByte; address _refundRecipient; } // poolId => rewardPerSeconds // 0 -> Arbitrum RewardVault V2 // 1 -> Arbitrum Uniswap // 2 -> Zksync RewardVault V2 // 3 -> BNB RewardVault V2 mapping(uint256 => uint256) public rewardPerWeeks; address constant DeriAddress = 0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9; address constant ArbitrumGatewayRouter = 0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef; address constant ArbitrumGateway = 0xa3A7B6F88361F48403514059F1F16C8E78d60EeC; address constant ZksyncL1Bridge = 0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063; address constant WormholeEthereum = 0x6874640cC849153Cb3402D193C33c416972159Ce; address constant WormholeBNB = 0x15a5969060228031266c64274a54e02Fbd924AbF; function approveGateway() public { IERC20(DeriAddress).approve(ArbitrumGateway, type(uint256).max); } function approveGatewayRouter() public { IERC20(DeriAddress).approve(ArbitrumGatewayRouter, type(uint256).max); } function approveZkBridge() public { IERC20(DeriAddress).approve(ZksyncL1Bridge, type(uint256).max); } function approveWormholeEthereum() public { IERC20(DeriAddress).approve(WormholeEthereum, type(uint256).max); } function approveAll() external { approveGateway(); approveZkBridge(); approveWormholeEthereum(); } function callZksyncL2TransactionBaseCost( address contractAddress, uint256 _gasPrice, uint256 _gasLimit, uint256 _l2GasPerPubdataByteLimit ) public view returns (uint256) { bytes memory data = abi.encodeWithSelector( bytes4( keccak256( bytes("l2TransactionBaseCost(uint256,uint256,uint256)") ) ), _gasPrice, _gasLimit, _l2GasPerPubdataByteLimit ); (bool success, bytes memory returnData) = contractAddress.staticcall( data ); require(success, "The static call was not successful."); uint256 returnValue = abi.decode(returnData, (uint256)); return returnValue; } function withdraw(address token) external _onlyAdmin_ { uint256 amount = IERC20(token).balanceOf(address(this)); IERC20(token).transfer(msg.sender, amount); } function setRewardPerWeek( uint256 poolId, uint256 _rewardPerWeek ) external _onlyAdmin_ { rewardPerWeeks[poolId] = _rewardPerWeek; } function setRewardPerWeek( uint256[] calldata _rewardPerWeek ) external _onlyAdmin_ { for (uint256 i = 0; i < _rewardPerWeek.length; i++) { rewardPerWeeks[i] = _rewardPerWeek[i]; } } function bridgeAll(CrossChainDetails[] calldata details) public payable { // Bridge to each cross chain address for (uint256 i = 0; i < details.length; i++) { if (details[i].isArbitrum) { IArbitrumTokenGateway(ArbitrumGatewayRouter).outboundTransfer{ value: details[i]._value }( details[i]._token, details[i]._to, rewardPerWeeks[details[i].poolId], details[i]._maxGas, details[i]._gasPriceBid, details[i]._data ); } else { IZksyncL1ERC20Bridge(ZksyncL1Bridge).deposit{ value: details[i]._value }( details[i]._l2Receiver, details[i]._l1Token, rewardPerWeeks[details[i].poolId], details[i]._l2TxGasLimit, details[i]._l2TxGasPerPubdataByte, details[i]._refundRecipient ); } } // Bridge to BNB if (rewardPerWeeks[3] > 0) { IWormhole(WormholeEthereum).freeze( rewardPerWeeks[3], 56, WormholeBNB ); } } function mintAndBridgeAll( Signature calldata signature, CrossChainDetails[] calldata details ) external payable { // Calculate the total amount for all transfers uint256 totalAmount = rewardPerWeeks[3]; for (uint256 i = 0; i < details.length; i++) { totalAmount += rewardPerWeeks[details[i].poolId]; } require( totalAmount == signature.amount, "DeriTokenManager: invalid total mint amount" ); // Mint the tokens first IERC20(DeriAddress).mint( address(this), totalAmount, signature.deadline, signature.v, signature.r, signature.s ); // IERC20(DeriAddress).mint(address(this), totalAmount); // Bridge to each cross chain address this.bridgeAll{value: msg.value}(details); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approveAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveGatewayRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveWormholeEthereum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveZkBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"isArbitrum","type":"bool"},{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_maxGas","type":"uint256"},{"internalType":"uint256","name":"_gasPriceBid","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_l2Receiver","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"uint256","name":"_l2TxGasLimit","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasPerPubdataByte","type":"uint256"},{"internalType":"address","name":"_refundRecipient","type":"address"}],"internalType":"struct DeriTokenManager.CrossChainDetails[]","name":"details","type":"tuple[]"}],"name":"bridgeAll","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"_gasPrice","type":"uint256"},{"internalType":"uint256","name":"_gasLimit","type":"uint256"},{"internalType":"uint256","name":"_l2GasPerPubdataByteLimit","type":"uint256"}],"name":"callZksyncL2TransactionBaseCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct DeriTokenManager.Signature","name":"signature","type":"tuple"},{"components":[{"internalType":"bool","name":"isArbitrum","type":"bool"},{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_maxGas","type":"uint256"},{"internalType":"uint256","name":"_gasPriceBid","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_l2Receiver","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"uint256","name":"_l2TxGasLimit","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasPerPubdataByte","type":"uint256"},{"internalType":"address","name":"_refundRecipient","type":"address"}],"internalType":"struct DeriTokenManager.CrossChainDetails[]","name":"details","type":"tuple[]"}],"name":"mintAndBridgeAll","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewardPerWeeks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_rewardPerWeek","type":"uint256[]"}],"name":"setRewardPerWeek","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"uint256","name":"_rewardPerWeek","type":"uint256"}],"name":"setRewardPerWeek","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a2612408806100c36000396000f3fe6080604052600436106100dd5760003560e01c80639c2601df1161007f578063d42af0ff11610059578063d42af0ff1461024f578063db0afb891461026b578063f2c432b814610294578063f851a440146102ab576100dd565b80639c2601df146101d2578063aa968ece1461020f578063caedc06514610238576100dd565b8063704b6c02116100bb578063704b6c021461013957806370a6941414610162578063789bfc021461019f5780637dcdd0cc146101b6576100dd565b8063380d0c08146100e257806351cff8d9146100f95780635225089214610122575b600080fd5b3480156100ee57600080fd5b506100f76102d6565b005b34801561010557600080fd5b50610120600480360381019061011b9190611360565b6102f0565b005b34801561012e57600080fd5b5061013761047f565b005b34801561014557600080fd5b50610160600480360381019061015b9190611360565b610548565b005b34801561016e57600080fd5b50610189600480360381019061018491906113c3565b61065c565b60405161019691906113ff565b60405180910390f35b3480156101ab57600080fd5b506101b4610674565b005b6101d060048036038101906101cb91906114a3565b61073d565b005b3480156101de57600080fd5b506101f960048036038101906101f49190611503565b610922565b60405161020691906113ff565b60405180910390f35b34801561021b57600080fd5b50610236600480360381019061023191906115c0565b610a8d565b005b34801561024457600080fd5b5061024d610b72565b005b6102696004803603810190610264919061160d565b610c3b565b005b34801561027757600080fd5b50610292600480360381019061028d919061165a565b611157565b005b3480156102a057600080fd5b506102a9611201565b005b3480156102b757600080fd5b506102c06112ca565b6040516102cd91906116a9565b60405180910390f35b6102de611201565b6102e6610b72565b6102ee610674565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037590611721565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103b991906116a9565b602060405180830381865afa1580156103d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fa9190611756565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610437929190611783565b6020604051808303816000875af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906117e4565b505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b37372ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610502929190611783565b6020604051808303816000875af1158015610521573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054591906117e4565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cd90611721565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a250565b60016020528060005260406000206000915090505481565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b3736874640cc849153cb3402d193c33c416972159ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016106f7929190611783565b6020604051808303816000875af1158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073a91906117e4565b50565b6000600160006003815260200190815260200160002054905060005b838390508110156107c0576001600085858481811061077b5761077a611811565b5b905060200281019061078d919061184f565b60200135815260200190815260200160002054826107ab91906118a7565b915080806107b8906118db565b915050610759565b5083600001358114610807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fe90611995565b60405180910390fd5b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff16630d0eff893083876020013588604001602081019061085191906119ee565b89606001358a608001356040518763ffffffff1660e01b815260040161087c96959493929190611a43565b600060405180830381600087803b15801561089657600080fd5b505af11580156108aa573d6000803e3d6000fd5b505050503073ffffffffffffffffffffffffffffffffffffffff1663d42af0ff3485856040518463ffffffff1660e01b81526004016108ea929190611e57565b6000604051808303818588803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050505050505050565b6000806040518060600160405280602e81526020016123a5602e91398051906020012085858560405160240161095a93929190611e7b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808773ffffffffffffffffffffffffffffffffffffffff16836040516109e19190611f23565b600060405180830381855afa9150503d8060008114610a1c576040519150601f19603f3d011682016040523d82523d6000602084013e610a21565b606091505b509150915081610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d90611fac565b60405180910390fd5b600081806020019051810190610a7c9190611756565b905080945050505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290611721565b60405180910390fd5b60005b82829050811015610b6d57828282818110610b3c57610b3b611811565b5b9050602002013560016000838152602001908152602001600020819055508080610b65906118db565b915050610b1e565b505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b37357891966931eb4bb6fb81430e6ce0a03aabde0637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf5929190611783565b6020604051808303816000875af1158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3891906117e4565b50565b60005b8282905081101561108857828282818110610c5c57610c5b611811565b5b9050602002810190610c6e919061184f565b6000016020810190610c809190611fcc565b15610e7e577372ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef73ffffffffffffffffffffffffffffffffffffffff1663d2ce7d65848484818110610cc857610cc7611811565b5b9050602002810190610cda919061184f565b60c00135858585818110610cf157610cf0611811565b5b9050602002810190610d03919061184f565b6040016020810190610d159190611360565b868686818110610d2857610d27611811565b5b9050602002810190610d3a919061184f565b6060016020810190610d4c9190611360565b60016000898989818110610d6357610d62611811565b5b9050602002810190610d75919061184f565b60200135815260200190815260200160002054888888818110610d9b57610d9a611811565b5b9050602002810190610dad919061184f565b60800135898989818110610dc457610dc3611811565b5b9050602002810190610dd6919061184f565b60a001358a8a8a818110610ded57610dec611811565b5b9050602002810190610dff919061184f565b8060e00190610e0e9190611ff9565b6040518963ffffffff1660e01b8152600401610e30979695949392919061209a565b60006040518083038185885af1158015610e4e573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f82011682018060405250810190610e789190612225565b50611075565b7357891966931eb4bb6fb81430e6ce0a03aabde06373ffffffffffffffffffffffffffffffffffffffff1663e8b99b1b848484818110610ec157610ec0611811565b5b9050602002810190610ed3919061184f565b60c00135858585818110610eea57610ee9611811565b5b9050602002810190610efc919061184f565b610100016020810190610f0f9190611360565b868686818110610f2257610f21611811565b5b9050602002810190610f34919061184f565b610120016020810190610f479190611360565b60016000898989818110610f5e57610f5d611811565b5b9050602002810190610f70919061184f565b60200135815260200190815260200160002054888888818110610f9657610f95611811565b5b9050602002810190610fa8919061184f565b6101400135898989818110610fc057610fbf611811565b5b9050602002810190610fd2919061184f565b61016001358a8a8a818110610fea57610fe9611811565b5b9050602002810190610ffc919061184f565b61018001602081019061100f9190611360565b6040518863ffffffff1660e01b81526004016110309695949392919061226e565b60206040518083038185885af115801561104e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061107391906122fb565b505b8080611080906118db565b915050610c3e565b506000600160006003815260200190815260200160002054111561115357736874640cc849153cb3402d193c33c416972159ce73ffffffffffffffffffffffffffffffffffffffff166332fe988560016000600381526020019081526020016000205460387315a5969060228031266c64274a54e02fbd924abf6040518463ffffffff1660e01b81526004016111209392919061236d565b600060405180830381600087803b15801561113a57600080fd5b505af115801561114e573d6000803e3d6000fd5b505050505b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90611721565b60405180910390fd5b8060016000848152602001908152602001600020819055505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b373a3a7b6f88361f48403514059f1f16c8e78d60eec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611284929190611783565b6020604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c791906117e4565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061132d82611302565b9050919050565b61133d81611322565b811461134857600080fd5b50565b60008135905061135a81611334565b92915050565b600060208284031215611376576113756112f8565b5b60006113848482850161134b565b91505092915050565b6000819050919050565b6113a08161138d565b81146113ab57600080fd5b50565b6000813590506113bd81611397565b92915050565b6000602082840312156113d9576113d86112f8565b5b60006113e7848285016113ae565b91505092915050565b6113f98161138d565b82525050565b600060208201905061141460008301846113f0565b92915050565b600080fd5b600060a082840312156114355761143461141a565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126114635761146261143e565b5b8235905067ffffffffffffffff8111156114805761147f611443565b5b60208301915083602082028301111561149c5761149b611448565b5b9250929050565b600080600060c084860312156114bc576114bb6112f8565b5b60006114ca8682870161141f565b93505060a084013567ffffffffffffffff8111156114eb576114ea6112fd565b5b6114f78682870161144d565b92509250509250925092565b6000806000806080858703121561151d5761151c6112f8565b5b600061152b8782880161134b565b945050602061153c878288016113ae565b935050604061154d878288016113ae565b925050606061155e878288016113ae565b91505092959194509250565b60008083601f8401126115805761157f61143e565b5b8235905067ffffffffffffffff81111561159d5761159c611443565b5b6020830191508360208202830111156115b9576115b8611448565b5b9250929050565b600080602083850312156115d7576115d66112f8565b5b600083013567ffffffffffffffff8111156115f5576115f46112fd565b5b6116018582860161156a565b92509250509250929050565b60008060208385031215611624576116236112f8565b5b600083013567ffffffffffffffff811115611642576116416112fd565b5b61164e8582860161144d565b92509250509250929050565b60008060408385031215611671576116706112f8565b5b600061167f858286016113ae565b9250506020611690858286016113ae565b9150509250929050565b6116a381611322565b82525050565b60006020820190506116be600083018461169a565b92915050565b600082825260208201905092915050565b7f41646d696e3a206f6e6c792061646d696e000000000000000000000000000000600082015250565b600061170b6011836116c4565b9150611716826116d5565b602082019050919050565b6000602082019050818103600083015261173a816116fe565b9050919050565b60008151905061175081611397565b92915050565b60006020828403121561176c5761176b6112f8565b5b600061177a84828501611741565b91505092915050565b6000604082019050611798600083018561169a565b6117a560208301846113f0565b9392505050565b60008115159050919050565b6117c1816117ac565b81146117cc57600080fd5b50565b6000815190506117de816117b8565b92915050565b6000602082840312156117fa576117f96112f8565b5b6000611808848285016117cf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016101a00383360303811261186c5761186b611840565b5b80830191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b28261138d565b91506118bd8361138d565b92508282019050808211156118d5576118d4611878565b5b92915050565b60006118e68261138d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361191857611917611878565b5b600182019050919050565b7f44657269546f6b656e4d616e616765723a20696e76616c696420746f74616c2060008201527f6d696e7420616d6f756e74000000000000000000000000000000000000000000602082015250565b600061197f602b836116c4565b915061198a82611923565b604082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b600060ff82169050919050565b6119cb816119b5565b81146119d657600080fd5b50565b6000813590506119e8816119c2565b92915050565b600060208284031215611a0457611a036112f8565b5b6000611a12848285016119d9565b91505092915050565b611a24816119b5565b82525050565b6000819050919050565b611a3d81611a2a565b82525050565b600060c082019050611a58600083018961169a565b611a6560208301886113f0565b611a7260408301876113f0565b611a7f6060830186611a1b565b611a8c6080830185611a34565b611a9960a0830184611a34565b979650505050505050565b600082825260208201905092915050565b6000819050919050565b600081359050611ace816117b8565b92915050565b6000611ae36020840184611abf565b905092915050565b611af4816117ac565b82525050565b6000611b0960208401846113ae565b905092915050565b611b1a8161138d565b82525050565b6000611b2f602084018461134b565b905092915050565b611b4081611322565b82525050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611b7257611b71611b50565b5b83810192508235915060208301925067ffffffffffffffff821115611b9a57611b99611b46565b5b600182023603831315611bb057611baf611b4b565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000611bf58385611bb8565b9350611c02838584611bc9565b611c0b83611bd8565b840190509392505050565b60006101a08301611c2a6000840184611ad4565b611c376000860182611aeb565b50611c456020840184611afa565b611c526020860182611b11565b50611c606040840184611b20565b611c6d6040860182611b37565b50611c7b6060840184611b20565b611c886060860182611b37565b50611c966080840184611afa565b611ca36080860182611b11565b50611cb160a0840184611afa565b611cbe60a0860182611b11565b50611ccc60c0840184611afa565b611cd960c0860182611b11565b50611ce760e0840184611b55565b85830360e0870152611cfa838284611be9565b92505050611d0c610100840184611b20565b611d1a610100860182611b37565b50611d29610120840184611b20565b611d37610120860182611b37565b50611d46610140840184611afa565b611d54610140860182611b11565b50611d63610160840184611afa565b611d71610160860182611b11565b50611d80610180840184611b20565b611d8e610180860182611b37565b508091505092915050565b6000611da58383611c16565b905092915050565b6000823560016101a003833603038112611dca57611dc9611b50565b5b82810191505092915050565b6000602082019050919050565b6000611def8385611aa4565b935083602084028501611e0184611ab5565b8060005b87811015611e45578484038952611e1c8284611dad565b611e268582611d99565b9450611e3183611dd6565b925060208a01995050600181019050611e05565b50829750879450505050509392505050565b60006020820190508181036000830152611e72818486611de3565b90509392505050565b6000606082019050611e9060008301866113f0565b611e9d60208301856113f0565b611eaa60408301846113f0565b949350505050565b600081519050919050565b600081905092915050565b60005b83811015611ee6578082015181840152602081019050611ecb565b60008484015250505050565b6000611efd82611eb2565b611f078185611ebd565b9350611f17818560208601611ec8565b80840191505092915050565b6000611f2f8284611ef2565b915081905092915050565b7f546865207374617469632063616c6c20776173206e6f7420737563636573736660008201527f756c2e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611f966023836116c4565b9150611fa182611f3a565b604082019050919050565b60006020820190508181036000830152611fc581611f89565b9050919050565b600060208284031215611fe257611fe16112f8565b5b6000611ff084828501611abf565b91505092915050565b6000808335600160200384360303811261201657612015611840565b5b80840192508235915067ffffffffffffffff82111561203857612037611845565b5b6020830192506001820236038313156120545761205361184a565b5b509250929050565b600082825260208201905092915050565b6000612079838561205c565b9350612086838584611bc9565b61208f83611bd8565b840190509392505050565b600060c0820190506120af600083018a61169a565b6120bc602083018961169a565b6120c960408301886113f0565b6120d660608301876113f0565b6120e360808301866113f0565b81810360a08301526120f681848661206d565b905098975050505050505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61214182611bd8565b810181811067ffffffffffffffff821117156121605761215f612109565b5b80604052505050565b60006121736112ee565b905061217f8282612138565b919050565b600067ffffffffffffffff82111561219f5761219e612109565b5b6121a882611bd8565b9050602081019050919050565b60006121c86121c384612184565b612169565b9050828152602081018484840111156121e4576121e3612104565b5b6121ef848285611ec8565b509392505050565b600082601f83011261220c5761220b61143e565b5b815161221c8482602086016121b5565b91505092915050565b60006020828403121561223b5761223a6112f8565b5b600082015167ffffffffffffffff811115612259576122586112fd565b5b612265848285016121f7565b91505092915050565b600060c082019050612283600083018961169a565b612290602083018861169a565b61229d60408301876113f0565b6122aa60608301866113f0565b6122b760808301856113f0565b6122c460a083018461169a565b979650505050505050565b6122d881611a2a565b81146122e357600080fd5b50565b6000815190506122f5816122cf565b92915050565b600060208284031215612311576123106112f8565b5b600061231f848285016122e6565b91505092915050565b6000819050919050565b6000819050919050565b600061235761235261234d84612328565b612332565b61138d565b9050919050565b6123678161233c565b82525050565b600060608201905061238260008301866113f0565b61238f602083018561235e565b61239c604083018461169a565b94935050505056fe6c325472616e73616374696f6e42617365436f73742875696e743235362c75696e743235362c75696e7432353629a2646970667358221220fad3c6656405f75863c72f5e84375e874c659707dc2c3c746567fb6407730cdf64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c80639c2601df1161007f578063d42af0ff11610059578063d42af0ff1461024f578063db0afb891461026b578063f2c432b814610294578063f851a440146102ab576100dd565b80639c2601df146101d2578063aa968ece1461020f578063caedc06514610238576100dd565b8063704b6c02116100bb578063704b6c021461013957806370a6941414610162578063789bfc021461019f5780637dcdd0cc146101b6576100dd565b8063380d0c08146100e257806351cff8d9146100f95780635225089214610122575b600080fd5b3480156100ee57600080fd5b506100f76102d6565b005b34801561010557600080fd5b50610120600480360381019061011b9190611360565b6102f0565b005b34801561012e57600080fd5b5061013761047f565b005b34801561014557600080fd5b50610160600480360381019061015b9190611360565b610548565b005b34801561016e57600080fd5b50610189600480360381019061018491906113c3565b61065c565b60405161019691906113ff565b60405180910390f35b3480156101ab57600080fd5b506101b4610674565b005b6101d060048036038101906101cb91906114a3565b61073d565b005b3480156101de57600080fd5b506101f960048036038101906101f49190611503565b610922565b60405161020691906113ff565b60405180910390f35b34801561021b57600080fd5b50610236600480360381019061023191906115c0565b610a8d565b005b34801561024457600080fd5b5061024d610b72565b005b6102696004803603810190610264919061160d565b610c3b565b005b34801561027757600080fd5b50610292600480360381019061028d919061165a565b611157565b005b3480156102a057600080fd5b506102a9611201565b005b3480156102b757600080fd5b506102c06112ca565b6040516102cd91906116a9565b60405180910390f35b6102de611201565b6102e6610b72565b6102ee610674565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037590611721565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103b991906116a9565b602060405180830381865afa1580156103d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fa9190611756565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610437929190611783565b6020604051808303816000875af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906117e4565b505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b37372ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610502929190611783565b6020604051808303816000875af1158015610521573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054591906117e4565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cd90611721565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a250565b60016020528060005260406000206000915090505481565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b3736874640cc849153cb3402d193c33c416972159ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016106f7929190611783565b6020604051808303816000875af1158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073a91906117e4565b50565b6000600160006003815260200190815260200160002054905060005b838390508110156107c0576001600085858481811061077b5761077a611811565b5b905060200281019061078d919061184f565b60200135815260200190815260200160002054826107ab91906118a7565b915080806107b8906118db565b915050610759565b5083600001358114610807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fe90611995565b60405180910390fd5b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff16630d0eff893083876020013588604001602081019061085191906119ee565b89606001358a608001356040518763ffffffff1660e01b815260040161087c96959493929190611a43565b600060405180830381600087803b15801561089657600080fd5b505af11580156108aa573d6000803e3d6000fd5b505050503073ffffffffffffffffffffffffffffffffffffffff1663d42af0ff3485856040518463ffffffff1660e01b81526004016108ea929190611e57565b6000604051808303818588803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050505050505050565b6000806040518060600160405280602e81526020016123a5602e91398051906020012085858560405160240161095a93929190611e7b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808773ffffffffffffffffffffffffffffffffffffffff16836040516109e19190611f23565b600060405180830381855afa9150503d8060008114610a1c576040519150601f19603f3d011682016040523d82523d6000602084013e610a21565b606091505b509150915081610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d90611fac565b60405180910390fd5b600081806020019051810190610a7c9190611756565b905080945050505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290611721565b60405180910390fd5b60005b82829050811015610b6d57828282818110610b3c57610b3b611811565b5b9050602002013560016000838152602001908152602001600020819055508080610b65906118db565b915050610b1e565b505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b37357891966931eb4bb6fb81430e6ce0a03aabde0637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf5929190611783565b6020604051808303816000875af1158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3891906117e4565b50565b60005b8282905081101561108857828282818110610c5c57610c5b611811565b5b9050602002810190610c6e919061184f565b6000016020810190610c809190611fcc565b15610e7e577372ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef73ffffffffffffffffffffffffffffffffffffffff1663d2ce7d65848484818110610cc857610cc7611811565b5b9050602002810190610cda919061184f565b60c00135858585818110610cf157610cf0611811565b5b9050602002810190610d03919061184f565b6040016020810190610d159190611360565b868686818110610d2857610d27611811565b5b9050602002810190610d3a919061184f565b6060016020810190610d4c9190611360565b60016000898989818110610d6357610d62611811565b5b9050602002810190610d75919061184f565b60200135815260200190815260200160002054888888818110610d9b57610d9a611811565b5b9050602002810190610dad919061184f565b60800135898989818110610dc457610dc3611811565b5b9050602002810190610dd6919061184f565b60a001358a8a8a818110610ded57610dec611811565b5b9050602002810190610dff919061184f565b8060e00190610e0e9190611ff9565b6040518963ffffffff1660e01b8152600401610e30979695949392919061209a565b60006040518083038185885af1158015610e4e573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f82011682018060405250810190610e789190612225565b50611075565b7357891966931eb4bb6fb81430e6ce0a03aabde06373ffffffffffffffffffffffffffffffffffffffff1663e8b99b1b848484818110610ec157610ec0611811565b5b9050602002810190610ed3919061184f565b60c00135858585818110610eea57610ee9611811565b5b9050602002810190610efc919061184f565b610100016020810190610f0f9190611360565b868686818110610f2257610f21611811565b5b9050602002810190610f34919061184f565b610120016020810190610f479190611360565b60016000898989818110610f5e57610f5d611811565b5b9050602002810190610f70919061184f565b60200135815260200190815260200160002054888888818110610f9657610f95611811565b5b9050602002810190610fa8919061184f565b6101400135898989818110610fc057610fbf611811565b5b9050602002810190610fd2919061184f565b61016001358a8a8a818110610fea57610fe9611811565b5b9050602002810190610ffc919061184f565b61018001602081019061100f9190611360565b6040518863ffffffff1660e01b81526004016110309695949392919061226e565b60206040518083038185885af115801561104e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061107391906122fb565b505b8080611080906118db565b915050610c3e565b506000600160006003815260200190815260200160002054111561115357736874640cc849153cb3402d193c33c416972159ce73ffffffffffffffffffffffffffffffffffffffff166332fe988560016000600381526020019081526020016000205460387315a5969060228031266c64274a54e02fbd924abf6040518463ffffffff1660e01b81526004016111209392919061236d565b600060405180830381600087803b15801561113a57600080fd5b505af115801561114e573d6000803e3d6000fd5b505050505b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90611721565b60405180910390fd5b8060016000848152602001908152602001600020819055505050565b73a487bf43cf3b10dffc97a9a744cbb7036965d3b973ffffffffffffffffffffffffffffffffffffffff1663095ea7b373a3a7b6f88361f48403514059f1f16c8e78d60eec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611284929190611783565b6020604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c791906117e4565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061132d82611302565b9050919050565b61133d81611322565b811461134857600080fd5b50565b60008135905061135a81611334565b92915050565b600060208284031215611376576113756112f8565b5b60006113848482850161134b565b91505092915050565b6000819050919050565b6113a08161138d565b81146113ab57600080fd5b50565b6000813590506113bd81611397565b92915050565b6000602082840312156113d9576113d86112f8565b5b60006113e7848285016113ae565b91505092915050565b6113f98161138d565b82525050565b600060208201905061141460008301846113f0565b92915050565b600080fd5b600060a082840312156114355761143461141a565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126114635761146261143e565b5b8235905067ffffffffffffffff8111156114805761147f611443565b5b60208301915083602082028301111561149c5761149b611448565b5b9250929050565b600080600060c084860312156114bc576114bb6112f8565b5b60006114ca8682870161141f565b93505060a084013567ffffffffffffffff8111156114eb576114ea6112fd565b5b6114f78682870161144d565b92509250509250925092565b6000806000806080858703121561151d5761151c6112f8565b5b600061152b8782880161134b565b945050602061153c878288016113ae565b935050604061154d878288016113ae565b925050606061155e878288016113ae565b91505092959194509250565b60008083601f8401126115805761157f61143e565b5b8235905067ffffffffffffffff81111561159d5761159c611443565b5b6020830191508360208202830111156115b9576115b8611448565b5b9250929050565b600080602083850312156115d7576115d66112f8565b5b600083013567ffffffffffffffff8111156115f5576115f46112fd565b5b6116018582860161156a565b92509250509250929050565b60008060208385031215611624576116236112f8565b5b600083013567ffffffffffffffff811115611642576116416112fd565b5b61164e8582860161144d565b92509250509250929050565b60008060408385031215611671576116706112f8565b5b600061167f858286016113ae565b9250506020611690858286016113ae565b9150509250929050565b6116a381611322565b82525050565b60006020820190506116be600083018461169a565b92915050565b600082825260208201905092915050565b7f41646d696e3a206f6e6c792061646d696e000000000000000000000000000000600082015250565b600061170b6011836116c4565b9150611716826116d5565b602082019050919050565b6000602082019050818103600083015261173a816116fe565b9050919050565b60008151905061175081611397565b92915050565b60006020828403121561176c5761176b6112f8565b5b600061177a84828501611741565b91505092915050565b6000604082019050611798600083018561169a565b6117a560208301846113f0565b9392505050565b60008115159050919050565b6117c1816117ac565b81146117cc57600080fd5b50565b6000815190506117de816117b8565b92915050565b6000602082840312156117fa576117f96112f8565b5b6000611808848285016117cf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016101a00383360303811261186c5761186b611840565b5b80830191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b28261138d565b91506118bd8361138d565b92508282019050808211156118d5576118d4611878565b5b92915050565b60006118e68261138d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361191857611917611878565b5b600182019050919050565b7f44657269546f6b656e4d616e616765723a20696e76616c696420746f74616c2060008201527f6d696e7420616d6f756e74000000000000000000000000000000000000000000602082015250565b600061197f602b836116c4565b915061198a82611923565b604082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b600060ff82169050919050565b6119cb816119b5565b81146119d657600080fd5b50565b6000813590506119e8816119c2565b92915050565b600060208284031215611a0457611a036112f8565b5b6000611a12848285016119d9565b91505092915050565b611a24816119b5565b82525050565b6000819050919050565b611a3d81611a2a565b82525050565b600060c082019050611a58600083018961169a565b611a6560208301886113f0565b611a7260408301876113f0565b611a7f6060830186611a1b565b611a8c6080830185611a34565b611a9960a0830184611a34565b979650505050505050565b600082825260208201905092915050565b6000819050919050565b600081359050611ace816117b8565b92915050565b6000611ae36020840184611abf565b905092915050565b611af4816117ac565b82525050565b6000611b0960208401846113ae565b905092915050565b611b1a8161138d565b82525050565b6000611b2f602084018461134b565b905092915050565b611b4081611322565b82525050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611b7257611b71611b50565b5b83810192508235915060208301925067ffffffffffffffff821115611b9a57611b99611b46565b5b600182023603831315611bb057611baf611b4b565b5b509250929050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000611bf58385611bb8565b9350611c02838584611bc9565b611c0b83611bd8565b840190509392505050565b60006101a08301611c2a6000840184611ad4565b611c376000860182611aeb565b50611c456020840184611afa565b611c526020860182611b11565b50611c606040840184611b20565b611c6d6040860182611b37565b50611c7b6060840184611b20565b611c886060860182611b37565b50611c966080840184611afa565b611ca36080860182611b11565b50611cb160a0840184611afa565b611cbe60a0860182611b11565b50611ccc60c0840184611afa565b611cd960c0860182611b11565b50611ce760e0840184611b55565b85830360e0870152611cfa838284611be9565b92505050611d0c610100840184611b20565b611d1a610100860182611b37565b50611d29610120840184611b20565b611d37610120860182611b37565b50611d46610140840184611afa565b611d54610140860182611b11565b50611d63610160840184611afa565b611d71610160860182611b11565b50611d80610180840184611b20565b611d8e610180860182611b37565b508091505092915050565b6000611da58383611c16565b905092915050565b6000823560016101a003833603038112611dca57611dc9611b50565b5b82810191505092915050565b6000602082019050919050565b6000611def8385611aa4565b935083602084028501611e0184611ab5565b8060005b87811015611e45578484038952611e1c8284611dad565b611e268582611d99565b9450611e3183611dd6565b925060208a01995050600181019050611e05565b50829750879450505050509392505050565b60006020820190508181036000830152611e72818486611de3565b90509392505050565b6000606082019050611e9060008301866113f0565b611e9d60208301856113f0565b611eaa60408301846113f0565b949350505050565b600081519050919050565b600081905092915050565b60005b83811015611ee6578082015181840152602081019050611ecb565b60008484015250505050565b6000611efd82611eb2565b611f078185611ebd565b9350611f17818560208601611ec8565b80840191505092915050565b6000611f2f8284611ef2565b915081905092915050565b7f546865207374617469632063616c6c20776173206e6f7420737563636573736660008201527f756c2e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611f966023836116c4565b9150611fa182611f3a565b604082019050919050565b60006020820190508181036000830152611fc581611f89565b9050919050565b600060208284031215611fe257611fe16112f8565b5b6000611ff084828501611abf565b91505092915050565b6000808335600160200384360303811261201657612015611840565b5b80840192508235915067ffffffffffffffff82111561203857612037611845565b5b6020830192506001820236038313156120545761205361184a565b5b509250929050565b600082825260208201905092915050565b6000612079838561205c565b9350612086838584611bc9565b61208f83611bd8565b840190509392505050565b600060c0820190506120af600083018a61169a565b6120bc602083018961169a565b6120c960408301886113f0565b6120d660608301876113f0565b6120e360808301866113f0565b81810360a08301526120f681848661206d565b905098975050505050505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61214182611bd8565b810181811067ffffffffffffffff821117156121605761215f612109565b5b80604052505050565b60006121736112ee565b905061217f8282612138565b919050565b600067ffffffffffffffff82111561219f5761219e612109565b5b6121a882611bd8565b9050602081019050919050565b60006121c86121c384612184565b612169565b9050828152602081018484840111156121e4576121e3612104565b5b6121ef848285611ec8565b509392505050565b600082601f83011261220c5761220b61143e565b5b815161221c8482602086016121b5565b91505092915050565b60006020828403121561223b5761223a6112f8565b5b600082015167ffffffffffffffff811115612259576122586112fd565b5b612265848285016121f7565b91505092915050565b600060c082019050612283600083018961169a565b612290602083018861169a565b61229d60408301876113f0565b6122aa60608301866113f0565b6122b760808301856113f0565b6122c460a083018461169a565b979650505050505050565b6122d881611a2a565b81146122e357600080fd5b50565b6000815190506122f5816122cf565b92915050565b600060208284031215612311576123106112f8565b5b600061231f848285016122e6565b91505092915050565b6000819050919050565b6000819050919050565b600061235761235261234d84612328565b612332565b61138d565b9050919050565b6123678161233c565b82525050565b600060608201905061238260008301866113f0565b61238f602083018561235e565b61239c604083018461169a565b94935050505056fe6c325472616e73616374696f6e42617365436f73742875696e743235362c75696e743235362c75696e7432353629a2646970667358221220fad3c6656405f75863c72f5e84375e874c659707dc2c3c746567fb6407730cdf64736f6c63430008120033
Deployed Bytecode Sourcemap
5785:5734:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7659:130;;;;;;;;;;;;;:::i;:::-;;8608:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7268:127;;;;;;;;;;;;;:::i;:::-;;617:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6547:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7526:125;;;;;;;;;;;;;:::i;:::-;;10590:926;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7797:803;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8975:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7403:115;;;;;;;;;;;;;:::i;:::-;;9215:1367;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8797:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7145:115;;;;;;;;;;;;;:::i;:::-;;386:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7659:130;7701:16;:14;:16::i;:::-;7728:17;:15;:17::i;:::-;7756:25;:23;:25::i;:::-;7659:130::o;8608:181::-;471:5;;;;;;;;;;457:19;;:10;:19;;;449:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8673:14:::1;8697:5;8690:23;;;8722:4;8690:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8673:55;;8746:5;8739:22;;;8762:10;8774:6;8739:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8662:127;8608:181:::0;:::o;7268:127::-;6636:42;7318:27;;;6735:42;7369:17;7318:69;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7268:127::o;617:126::-;471:5;;;;;;;;;;457:19;;:10;:19;;;449:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;693:8:::1;685:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;726:8;717:18;;;;;;;;;;;;617:126:::0;:::o;6547:49::-;;;;;;;;;;;;;;;;;:::o;7526:125::-;6636:42;7579:27;;;7014:42;7625:17;7579:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7526:125::o;10590:926::-;10794:19;10816:14;:17;10831:1;10816:17;;;;;;;;;;;;10794:39;;10849:9;10844:120;10868:7;;:14;;10864:1;:18;10844:120;;;10919:14;:33;10934:7;;10942:1;10934:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;10919:33;;;;;;;;;;;;10904:48;;;;;:::i;:::-;;;10884:3;;;;;:::i;:::-;;;;10844:120;;;;11011:9;:16;;;10996:11;:31;10974:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;6636:42;11143:24;;;11190:4;11210:11;11236:9;:18;;;11269:9;:11;;;;;;;;;;:::i;:::-;11295:9;:11;;;11321:9;:11;;;11143:200;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11467:4;:14;;;11489:9;11500:7;;11467:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:790;10590:926;;;:::o;7797:803::-;8000:7;8020:17;8134:55;;;;;;;;;;;;;;;;;8102:106;;;;;;8238:9;8262;8286:25;8040:282;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:302;;8334:12;8348:23;8375:15;:26;;8416:4;8375:56;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8333:98;;;;8450:7;8442:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;8508:19;8541:10;8530:33;;;;;;;;;;;;:::i;:::-;8508:55;;8581:11;8574:18;;;;;;7797:803;;;;;;:::o;8975:232::-;471:5;;;;;;;;;;457:19;;:10;:19;;;449:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9089:9:::1;9084:116;9108:14;;:21;;9104:1;:25;9084:116;;;9171:14;;9186:1;9171:17;;;;;;;:::i;:::-;;;;;;;;9151:14;:17;9166:1;9151:17;;;;;;;;;;;:37;;;;9131:3;;;;;:::i;:::-;;;;9084:116;;;;8975:232:::0;;:::o;7403:115::-;6636:42;7448:27;;;6920:42;7492:17;7448:62;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7403:115::o;9215:1367::-;9350:9;9345:1004;9369:7;;:14;;9365:1;:18;9345:1004;;;9409:7;;9417:1;9409:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:21;;;;;;;;;;:::i;:::-;9405:933;;;6735:42;9451:61;;;9542:7;;9550:1;9542:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;9601:7;;9609:1;9601:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;;;;;;;;:::i;:::-;9641:7;;9649:1;9641:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:14;;;;;;;;;;:::i;:::-;9678;:33;9693:7;;9701:1;9693:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;9678:33;;;;;;;;;;;;9734:7;;9742:1;9734:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:18;;;9775:7;;9783:1;9775:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:23;;;9821:7;;9829:1;9821:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:16;;;;;;;;:::i;:::-;9451:405;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9405:933;;;6920:42;9897:44;;;9971:7;;9979:1;9971:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;10030:7;;10038:1;10030:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:22;;;;;;;;;;:::i;:::-;10075:7;;10083:1;10075:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:19;;;;;;;;;;:::i;:::-;10117:14;:33;10132:7;;10140:1;10132:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:17;;;10117:33;;;;;;;;;;;;10173:7;;10181:1;10173:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:24;;;10220:7;;10228:1;10220:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:33;;;10276:7;;10284:1;10276:10;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:27;;;;;;;;;;:::i;:::-;9897:425;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9405:933;9385:3;;;;;:::i;:::-;;;;9345:1004;;;;10409:1;10389:14;:17;10404:1;10389:17;;;;;;;;;;;;:21;10385:190;;;7014:42;10427:34;;;10480:14;:17;10495:1;10480:17;;;;;;;;;;;;10516:2;7094:42;10427:136;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10385:190;9215:1367;;:::o;8797:170::-;471:5;;;;;;;;;;457:19;;:10;:19;;;449:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8945:14:::1;8920;:22;8935:6;8920:22;;;;;;;;;;;:39;;;;8797:170:::0;;:::o;7145:115::-;6636:42;7189:27;;;6828:42;7234:17;7189:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7145:115::o;386:20::-;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:122::-;1332:24;1350:5;1332:24;:::i;:::-;1325:5;1322:35;1312:63;;1371:1;1368;1361:12;1312:63;1259:122;:::o;1387:139::-;1433:5;1471:6;1458:20;1449:29;;1487:33;1514:5;1487:33;:::i;:::-;1387:139;;;;:::o;1532:329::-;1591:6;1640:2;1628:9;1619:7;1615:23;1611:32;1608:119;;;1646:79;;:::i;:::-;1608:119;1766:1;1791:53;1836:7;1827:6;1816:9;1812:22;1791:53;:::i;:::-;1781:63;;1737:117;1532:329;;;;:::o;1867:118::-;1954:24;1972:5;1954:24;:::i;:::-;1949:3;1942:37;1867:118;;:::o;1991:222::-;2084:4;2122:2;2111:9;2107:18;2099:26;;2135:71;2203:1;2192:9;2188:17;2179:6;2135:71;:::i;:::-;1991:222;;;;:::o;2219:117::-;2328:1;2325;2318:12;2383:233;2457:5;2498:3;2489:6;2484:3;2480:16;2476:26;2473:113;;;2505:79;;:::i;:::-;2473:113;2604:6;2595:15;;2383:233;;;;:::o;2622:117::-;2731:1;2728;2721:12;2745:117;2854:1;2851;2844:12;2868:117;2977:1;2974;2967:12;3042:604;3151:8;3161:6;3211:3;3204:4;3196:6;3192:17;3188:27;3178:122;;3219:79;;:::i;:::-;3178:122;3332:6;3319:20;3309:30;;3362:18;3354:6;3351:30;3348:117;;;3384:79;;:::i;:::-;3348:117;3498:4;3490:6;3486:17;3474:29;;3552:3;3544:4;3536:6;3532:17;3522:8;3518:32;3515:41;3512:128;;;3559:79;;:::i;:::-;3512:128;3042:604;;;;;:::o;3652:834::-;3811:6;3819;3827;3876:3;3864:9;3855:7;3851:23;3847:33;3844:120;;;3883:79;;:::i;:::-;3844:120;4003:1;4028:81;4101:7;4092:6;4081:9;4077:22;4028:81;:::i;:::-;4018:91;;3974:145;4186:3;4175:9;4171:19;4158:33;4218:18;4210:6;4207:30;4204:117;;;4240:79;;:::i;:::-;4204:117;4353:116;4461:7;4452:6;4441:9;4437:22;4353:116;:::i;:::-;4335:134;;;;4129:350;3652:834;;;;;:::o;4492:765::-;4578:6;4586;4594;4602;4651:3;4639:9;4630:7;4626:23;4622:33;4619:120;;;4658:79;;:::i;:::-;4619:120;4778:1;4803:53;4848:7;4839:6;4828:9;4824:22;4803:53;:::i;:::-;4793:63;;4749:117;4905:2;4931:53;4976:7;4967:6;4956:9;4952:22;4931:53;:::i;:::-;4921:63;;4876:118;5033:2;5059:53;5104:7;5095:6;5084:9;5080:22;5059:53;:::i;:::-;5049:63;;5004:118;5161:2;5187:53;5232:7;5223:6;5212:9;5208:22;5187:53;:::i;:::-;5177:63;;5132:118;4492:765;;;;;;;:::o;5280:568::-;5353:8;5363:6;5413:3;5406:4;5398:6;5394:17;5390:27;5380:122;;5421:79;;:::i;:::-;5380:122;5534:6;5521:20;5511:30;;5564:18;5556:6;5553:30;5550:117;;;5586:79;;:::i;:::-;5550:117;5700:4;5692:6;5688:17;5676:29;;5754:3;5746:4;5738:6;5734:17;5724:8;5720:32;5717:41;5714:128;;;5761:79;;:::i;:::-;5714:128;5280:568;;;;;:::o;5854:559::-;5940:6;5948;5997:2;5985:9;5976:7;5972:23;5968:32;5965:119;;;6003:79;;:::i;:::-;5965:119;6151:1;6140:9;6136:17;6123:31;6181:18;6173:6;6170:30;6167:117;;;6203:79;;:::i;:::-;6167:117;6316:80;6388:7;6379:6;6368:9;6364:22;6316:80;:::i;:::-;6298:98;;;;6094:312;5854:559;;;;;:::o;6419:631::-;6541:6;6549;6598:2;6586:9;6577:7;6573:23;6569:32;6566:119;;;6604:79;;:::i;:::-;6566:119;6752:1;6741:9;6737:17;6724:31;6782:18;6774:6;6771:30;6768:117;;;6804:79;;:::i;:::-;6768:117;6917:116;7025:7;7016:6;7005:9;7001:22;6917:116;:::i;:::-;6899:134;;;;6695:348;6419:631;;;;;:::o;7056:474::-;7124:6;7132;7181:2;7169:9;7160:7;7156:23;7152:32;7149:119;;;7187:79;;:::i;:::-;7149:119;7307:1;7332:53;7377:7;7368:6;7357:9;7353:22;7332:53;:::i;:::-;7322:63;;7278:117;7434:2;7460:53;7505:7;7496:6;7485:9;7481:22;7460:53;:::i;:::-;7450:63;;7405:118;7056:474;;;;;:::o;7536:118::-;7623:24;7641:5;7623:24;:::i;:::-;7618:3;7611:37;7536:118;;:::o;7660:222::-;7753:4;7791:2;7780:9;7776:18;7768:26;;7804:71;7872:1;7861:9;7857:17;7848:6;7804:71;:::i;:::-;7660:222;;;;:::o;7888:169::-;7972:11;8006:6;8001:3;7994:19;8046:4;8041:3;8037:14;8022:29;;7888:169;;;;:::o;8063:167::-;8203:19;8199:1;8191:6;8187:14;8180:43;8063:167;:::o;8236:366::-;8378:3;8399:67;8463:2;8458:3;8399:67;:::i;:::-;8392:74;;8475:93;8564:3;8475:93;:::i;:::-;8593:2;8588:3;8584:12;8577:19;;8236:366;;;:::o;8608:419::-;8774:4;8812:2;8801:9;8797:18;8789:26;;8861:9;8855:4;8851:20;8847:1;8836:9;8832:17;8825:47;8889:131;9015:4;8889:131;:::i;:::-;8881:139;;8608:419;;;:::o;9033:143::-;9090:5;9121:6;9115:13;9106:22;;9137:33;9164:5;9137:33;:::i;:::-;9033:143;;;;:::o;9182:351::-;9252:6;9301:2;9289:9;9280:7;9276:23;9272:32;9269:119;;;9307:79;;:::i;:::-;9269:119;9427:1;9452:64;9508:7;9499:6;9488:9;9484:22;9452:64;:::i;:::-;9442:74;;9398:128;9182:351;;;;:::o;9539:332::-;9660:4;9698:2;9687:9;9683:18;9675:26;;9711:71;9779:1;9768:9;9764:17;9755:6;9711:71;:::i;:::-;9792:72;9860:2;9849:9;9845:18;9836:6;9792:72;:::i;:::-;9539:332;;;;;:::o;9877:90::-;9911:7;9954:5;9947:13;9940:21;9929:32;;9877:90;;;:::o;9973:116::-;10043:21;10058:5;10043:21;:::i;:::-;10036:5;10033:32;10023:60;;10079:1;10076;10069:12;10023:60;9973:116;:::o;10095:137::-;10149:5;10180:6;10174:13;10165:22;;10196:30;10220:5;10196:30;:::i;:::-;10095:137;;;;:::o;10238:345::-;10305:6;10354:2;10342:9;10333:7;10329:23;10325:32;10322:119;;;10360:79;;:::i;:::-;10322:119;10480:1;10505:61;10558:7;10549:6;10538:9;10534:22;10505:61;:::i;:::-;10495:71;;10451:125;10238:345;;;;:::o;10589:180::-;10637:77;10634:1;10627:88;10734:4;10731:1;10724:15;10758:4;10755:1;10748:15;10775:117;10884:1;10881;10874:12;10898:117;11007:1;11004;10997:12;11021:117;11130:1;11127;11120:12;11144:404;11246:4;11300:11;11287:25;11402:1;11394:6;11390:14;11379:8;11363:14;11359:29;11355:50;11335:18;11331:75;11321:170;;11410:79;;:::i;:::-;11321:170;11522:18;11512:8;11508:33;11500:41;;11251:297;11144:404;;;;:::o;11554:180::-;11602:77;11599:1;11592:88;11699:4;11696:1;11689:15;11723:4;11720:1;11713:15;11740:191;11780:3;11799:20;11817:1;11799:20;:::i;:::-;11794:25;;11833:20;11851:1;11833:20;:::i;:::-;11828:25;;11876:1;11873;11869:9;11862:16;;11897:3;11894:1;11891:10;11888:36;;;11904:18;;:::i;:::-;11888:36;11740:191;;;;:::o;11937:233::-;11976:3;11999:24;12017:5;11999:24;:::i;:::-;11990:33;;12045:66;12038:5;12035:77;12032:103;;12115:18;;:::i;:::-;12032:103;12162:1;12155:5;12151:13;12144:20;;11937:233;;;:::o;12176:230::-;12316:34;12312:1;12304:6;12300:14;12293:58;12385:13;12380:2;12372:6;12368:15;12361:38;12176:230;:::o;12412:366::-;12554:3;12575:67;12639:2;12634:3;12575:67;:::i;:::-;12568:74;;12651:93;12740:3;12651:93;:::i;:::-;12769:2;12764:3;12760:12;12753:19;;12412:366;;;:::o;12784:419::-;12950:4;12988:2;12977:9;12973:18;12965:26;;13037:9;13031:4;13027:20;13023:1;13012:9;13008:17;13001:47;13065:131;13191:4;13065:131;:::i;:::-;13057:139;;12784:419;;;:::o;13209:86::-;13244:7;13284:4;13277:5;13273:16;13262:27;;13209:86;;;:::o;13301:118::-;13372:22;13388:5;13372:22;:::i;:::-;13365:5;13362:33;13352:61;;13409:1;13406;13399:12;13352:61;13301:118;:::o;13425:135::-;13469:5;13507:6;13494:20;13485:29;;13523:31;13548:5;13523:31;:::i;:::-;13425:135;;;;:::o;13566:325::-;13623:6;13672:2;13660:9;13651:7;13647:23;13643:32;13640:119;;;13678:79;;:::i;:::-;13640:119;13798:1;13823:51;13866:7;13857:6;13846:9;13842:22;13823:51;:::i;:::-;13813:61;;13769:115;13566:325;;;;:::o;13897:112::-;13980:22;13996:5;13980:22;:::i;:::-;13975:3;13968:35;13897:112;;:::o;14015:77::-;14052:7;14081:5;14070:16;;14015:77;;;:::o;14098:118::-;14185:24;14203:5;14185:24;:::i;:::-;14180:3;14173:37;14098:118;;:::o;14222:767::-;14451:4;14489:3;14478:9;14474:19;14466:27;;14503:71;14571:1;14560:9;14556:17;14547:6;14503:71;:::i;:::-;14584:72;14652:2;14641:9;14637:18;14628:6;14584:72;:::i;:::-;14666;14734:2;14723:9;14719:18;14710:6;14666:72;:::i;:::-;14748:68;14812:2;14801:9;14797:18;14788:6;14748:68;:::i;:::-;14826:73;14894:3;14883:9;14879:19;14870:6;14826:73;:::i;:::-;14909;14977:3;14966:9;14962:19;14953:6;14909:73;:::i;:::-;14222:767;;;;;;;;;:::o;14995:218::-;15128:11;15162:6;15157:3;15150:19;15202:4;15197:3;15193:14;15178:29;;14995:218;;;;:::o;15219:138::-;15324:4;15347:3;15339:11;;15219:138;;;:::o;15363:133::-;15406:5;15444:6;15431:20;15422:29;;15460:30;15484:5;15460:30;:::i;:::-;15363:133;;;;:::o;15502:116::-;15551:5;15576:36;15608:2;15603:3;15599:12;15594:3;15576:36;:::i;:::-;15567:45;;15502:116;;;;:::o;15624:99::-;15695:21;15710:5;15695:21;:::i;:::-;15690:3;15683:34;15624:99;;:::o;15729:122::-;15781:5;15806:39;15841:2;15836:3;15832:12;15827:3;15806:39;:::i;:::-;15797:48;;15729:122;;;;:::o;15857:108::-;15934:24;15952:5;15934:24;:::i;:::-;15929:3;15922:37;15857:108;;:::o;15971:122::-;16023:5;16048:39;16083:2;16078:3;16074:12;16069:3;16048:39;:::i;:::-;16039:48;;15971:122;;;;:::o;16099:108::-;16176:24;16194:5;16176:24;:::i;:::-;16171:3;16164:37;16099:108;;:::o;16213:117::-;16322:1;16319;16312:12;16336:117;16445:1;16442;16435:12;16459:117;16568:1;16565;16558:12;16582:711;16646:5;16653:6;16709:3;16696:17;16801:1;16795:4;16791:12;16780:8;16764:14;16760:29;16756:48;16736:18;16732:73;16722:168;;16809:79;;:::i;:::-;16722:168;16932:8;16912:18;16908:33;16899:42;;16974:5;16961:19;16951:29;;17009:4;17002:5;16998:16;16989:25;;17037:18;17029:6;17026:30;17023:117;;;17059:79;;:::i;:::-;17023:117;17195:4;17187:6;17183:17;17167:14;17163:38;17156:5;17152:50;17149:137;;;17205:79;;:::i;:::-;17149:137;16660:633;16582:711;;;;;:::o;17299:158::-;17372:11;17406:6;17401:3;17394:19;17446:4;17441:3;17437:14;17422:29;;17299:158;;;;:::o;17463:146::-;17560:6;17555:3;17550;17537:30;17601:1;17592:6;17587:3;17583:16;17576:27;17463:146;;;:::o;17615:102::-;17656:6;17707:2;17703:7;17698:2;17691:5;17687:14;17683:28;17673:38;;17615:102;;;:::o;17745:294::-;17831:3;17852:60;17905:6;17900:3;17852:60;:::i;:::-;17845:67;;17922:56;17971:6;17966:3;17959:5;17922:56;:::i;:::-;18003:29;18025:6;18003:29;:::i;:::-;17998:3;17994:39;17987:46;;17745:294;;;;;:::o;18139:3006::-;18268:3;18304:6;18299:3;18295:16;18382:47;18423:4;18416:5;18412:16;18405:5;18382:47;:::i;:::-;18442:57;18493:4;18488:3;18484:14;18470:12;18442:57;:::i;:::-;18321:188;18576:50;18620:4;18613:5;18609:16;18602:5;18576:50;:::i;:::-;18639:63;18696:4;18691:3;18687:14;18673:12;18639:63;:::i;:::-;18519:193;18779:50;18823:4;18816:5;18812:16;18805:5;18779:50;:::i;:::-;18842:63;18899:4;18894:3;18890:14;18876:12;18842:63;:::i;:::-;18722:193;18979:50;19023:4;19016:5;19012:16;19005:5;18979:50;:::i;:::-;19042:63;19099:4;19094:3;19090:14;19076:12;19042:63;:::i;:::-;18925:190;19183:50;19227:4;19220:5;19216:16;19209:5;19183:50;:::i;:::-;19246:63;19303:4;19298:3;19294:14;19280:12;19246:63;:::i;:::-;19125:194;19392:50;19436:4;19429:5;19425:16;19418:5;19392:50;:::i;:::-;19455:63;19512:4;19507:3;19503:14;19489:12;19455:63;:::i;:::-;19329:199;19595:50;19639:4;19632:5;19628:16;19621:5;19595:50;:::i;:::-;19658:63;19715:4;19710:3;19706:14;19692:12;19658:63;:::i;:::-;19538:193;19811:61;19866:4;19859:5;19855:16;19848:5;19811:61;:::i;:::-;19919:3;19913:4;19909:14;19902:4;19897:3;19893:14;19886:38;19945:87;20027:4;20013:12;19999;19945:87;:::i;:::-;19937:95;;19741:302;;20115:52;20159:6;20152:5;20148:18;20141:5;20115:52;:::i;:::-;20180:65;20237:6;20232:3;20228:16;20214:12;20180:65;:::i;:::-;20053:202;20324:52;20368:6;20361:5;20357:18;20350:5;20324:52;:::i;:::-;20389:65;20446:6;20441:3;20437:16;20423:12;20389:65;:::i;:::-;20265:199;20538:52;20582:6;20575:5;20571:18;20564:5;20538:52;:::i;:::-;20603:65;20660:6;20655:3;20651:16;20637:12;20603:65;:::i;:::-;20474:204;20761:52;20805:6;20798:5;20794:18;20787:5;20761:52;:::i;:::-;20826:65;20883:6;20878:3;20874:16;20860:12;20826:65;:::i;:::-;20688:213;20978:52;21022:6;21015:5;21011:18;21004:5;20978:52;:::i;:::-;21043:65;21100:6;21095:3;21091:16;21077:12;21043:65;:::i;:::-;20911:207;21135:4;21128:11;;18273:2872;18139:3006;;;;:::o;21151:296::-;21290:10;21325:116;21437:3;21429:6;21325:116;:::i;:::-;21311:130;;21151:296;;;;:::o;21453:385::-;21542:5;21597:3;21584:17;21691:1;21683:6;21679:14;21668:8;21652:14;21648:29;21644:50;21624:18;21620:75;21610:170;;21699:79;;:::i;:::-;21610:170;21822:8;21802:18;21798:33;21789:42;;21548:290;21453:385;;;;:::o;21844:151::-;21952:4;21984;21979:3;21975:14;21967:22;;21844:151;;;:::o;22099:1160::-;22298:3;22321:120;22434:6;22429:3;22321:120;:::i;:::-;22314:127;;22467:3;22512:4;22504:6;22500:17;22495:3;22491:27;22542:94;22630:5;22542:94;:::i;:::-;22659:7;22690:1;22675:539;22700:6;22697:1;22694:13;22675:539;;;22771:9;22765:4;22761:20;22756:3;22749:33;22816:78;22887:6;22878:7;22816:78;:::i;:::-;22915:134;23044:4;23029:13;22915:134;:::i;:::-;22907:142;;23072:98;23163:6;23072:98;:::i;:::-;23062:108;;23199:4;23194:3;23190:14;23183:21;;22735:479;22722:1;22719;22715:9;22710:14;;22675:539;;;22679:14;23230:4;23223:11;;23250:3;23243:10;;22303:956;;;;22099:1160;;;;;:::o;23265:533::-;23488:4;23526:2;23515:9;23511:18;23503:26;;23575:9;23569:4;23565:20;23561:1;23550:9;23546:17;23539:47;23603:188;23786:4;23777:6;23769;23603:188;:::i;:::-;23595:196;;23265:533;;;;;:::o;23804:442::-;23953:4;23991:2;23980:9;23976:18;23968:26;;24004:71;24072:1;24061:9;24057:17;24048:6;24004:71;:::i;:::-;24085:72;24153:2;24142:9;24138:18;24129:6;24085:72;:::i;:::-;24167;24235:2;24224:9;24220:18;24211:6;24167:72;:::i;:::-;23804:442;;;;;;:::o;24252:98::-;24303:6;24337:5;24331:12;24321:22;;24252:98;;;:::o;24356:147::-;24457:11;24494:3;24479:18;;24356:147;;;;:::o;24509:246::-;24590:1;24600:113;24614:6;24611:1;24608:13;24600:113;;;24699:1;24694:3;24690:11;24684:18;24680:1;24675:3;24671:11;24664:39;24636:2;24633:1;24629:10;24624:15;;24600:113;;;24747:1;24738:6;24733:3;24729:16;24722:27;24571:184;24509:246;;;:::o;24761:386::-;24865:3;24893:38;24925:5;24893:38;:::i;:::-;24947:88;25028:6;25023:3;24947:88;:::i;:::-;24940:95;;25044:65;25102:6;25097:3;25090:4;25083:5;25079:16;25044:65;:::i;:::-;25134:6;25129:3;25125:16;25118:23;;24869:278;24761:386;;;;:::o;25153:271::-;25283:3;25305:93;25394:3;25385:6;25305:93;:::i;:::-;25298:100;;25415:3;25408:10;;25153:271;;;;:::o;25430:222::-;25570:34;25566:1;25558:6;25554:14;25547:58;25639:5;25634:2;25626:6;25622:15;25615:30;25430:222;:::o;25658:366::-;25800:3;25821:67;25885:2;25880:3;25821:67;:::i;:::-;25814:74;;25897:93;25986:3;25897:93;:::i;:::-;26015:2;26010:3;26006:12;25999:19;;25658:366;;;:::o;26030:419::-;26196:4;26234:2;26223:9;26219:18;26211:26;;26283:9;26277:4;26273:20;26269:1;26258:9;26254:17;26247:47;26311:131;26437:4;26311:131;:::i;:::-;26303:139;;26030:419;;;:::o;26455:323::-;26511:6;26560:2;26548:9;26539:7;26535:23;26531:32;26528:119;;;26566:79;;:::i;:::-;26528:119;26686:1;26711:50;26753:7;26744:6;26733:9;26729:22;26711:50;:::i;:::-;26701:60;;26657:114;26455:323;;;;:::o;26784:724::-;26861:4;26867:6;26923:11;26910:25;27023:1;27017:4;27013:12;27002:8;26986:14;26982:29;26978:48;26958:18;26954:73;26944:168;;27031:79;;:::i;:::-;26944:168;27143:18;27133:8;27129:33;27121:41;;27195:4;27182:18;27172:28;;27223:18;27215:6;27212:30;27209:117;;;27245:79;;:::i;:::-;27209:117;27353:2;27347:4;27343:13;27335:21;;27410:4;27402:6;27398:17;27382:14;27378:38;27372:4;27368:49;27365:136;;;27420:79;;:::i;:::-;27365:136;26874:634;26784:724;;;;;:::o;27514:168::-;27597:11;27631:6;27626:3;27619:19;27671:4;27666:3;27662:14;27647:29;;27514:168;;;;:::o;27710:314::-;27806:3;27827:70;27890:6;27885:3;27827:70;:::i;:::-;27820:77;;27907:56;27956:6;27951:3;27944:5;27907:56;:::i;:::-;27988:29;28010:6;27988:29;:::i;:::-;27983:3;27979:39;27972:46;;27710:314;;;;;:::o;28030:882::-;28291:4;28329:3;28318:9;28314:19;28306:27;;28343:71;28411:1;28400:9;28396:17;28387:6;28343:71;:::i;:::-;28424:72;28492:2;28481:9;28477:18;28468:6;28424:72;:::i;:::-;28506;28574:2;28563:9;28559:18;28550:6;28506:72;:::i;:::-;28588;28656:2;28645:9;28641:18;28632:6;28588:72;:::i;:::-;28670:73;28738:3;28727:9;28723:19;28714:6;28670:73;:::i;:::-;28791:9;28785:4;28781:20;28775:3;28764:9;28760:19;28753:49;28819:86;28900:4;28891:6;28883;28819:86;:::i;:::-;28811:94;;28030:882;;;;;;;;;;:::o;28918:117::-;29027:1;29024;29017:12;29041:180;29089:77;29086:1;29079:88;29186:4;29183:1;29176:15;29210:4;29207:1;29200:15;29227:281;29310:27;29332:4;29310:27;:::i;:::-;29302:6;29298:40;29440:6;29428:10;29425:22;29404:18;29392:10;29389:34;29386:62;29383:88;;;29451:18;;:::i;:::-;29383:88;29491:10;29487:2;29480:22;29270:238;29227:281;;:::o;29514:129::-;29548:6;29575:20;;:::i;:::-;29565:30;;29604:33;29632:4;29624:6;29604:33;:::i;:::-;29514:129;;;:::o;29649:307::-;29710:4;29800:18;29792:6;29789:30;29786:56;;;29822:18;;:::i;:::-;29786:56;29860:29;29882:6;29860:29;:::i;:::-;29852:37;;29944:4;29938;29934:15;29926:23;;29649:307;;;:::o;29962:432::-;30050:5;30075:65;30091:48;30132:6;30091:48;:::i;:::-;30075:65;:::i;:::-;30066:74;;30163:6;30156:5;30149:21;30201:4;30194:5;30190:16;30239:3;30230:6;30225:3;30221:16;30218:25;30215:112;;;30246:79;;:::i;:::-;30215:112;30336:52;30381:6;30376:3;30371;30336:52;:::i;:::-;30056:338;29962:432;;;;;:::o;30413:353::-;30479:5;30528:3;30521:4;30513:6;30509:17;30505:27;30495:122;;30536:79;;:::i;:::-;30495:122;30646:6;30640:13;30671:89;30756:3;30748:6;30741:4;30733:6;30729:17;30671:89;:::i;:::-;30662:98;;30485:281;30413:353;;;;:::o;30772:522::-;30851:6;30900:2;30888:9;30879:7;30875:23;30871:32;30868:119;;;30906:79;;:::i;:::-;30868:119;31047:1;31036:9;31032:17;31026:24;31077:18;31069:6;31066:30;31063:117;;;31099:79;;:::i;:::-;31063:117;31204:73;31269:7;31260:6;31249:9;31245:22;31204:73;:::i;:::-;31194:83;;30997:290;30772:522;;;;:::o;31300:775::-;31533:4;31571:3;31560:9;31556:19;31548:27;;31585:71;31653:1;31642:9;31638:17;31629:6;31585:71;:::i;:::-;31666:72;31734:2;31723:9;31719:18;31710:6;31666:72;:::i;:::-;31748;31816:2;31805:9;31801:18;31792:6;31748:72;:::i;:::-;31830;31898:2;31887:9;31883:18;31874:6;31830:72;:::i;:::-;31912:73;31980:3;31969:9;31965:19;31956:6;31912:73;:::i;:::-;31995;32063:3;32052:9;32048:19;32039:6;31995:73;:::i;:::-;31300:775;;;;;;;;;:::o;32081:122::-;32154:24;32172:5;32154:24;:::i;:::-;32147:5;32144:35;32134:63;;32193:1;32190;32183:12;32134:63;32081:122;:::o;32209:143::-;32266:5;32297:6;32291:13;32282:22;;32313:33;32340:5;32313:33;:::i;:::-;32209:143;;;;:::o;32358:351::-;32428:6;32477:2;32465:9;32456:7;32452:23;32448:32;32445:119;;;32483:79;;:::i;:::-;32445:119;32603:1;32628:64;32684:7;32675:6;32664:9;32660:22;32628:64;:::i;:::-;32618:74;;32574:128;32358:351;;;;:::o;32715:86::-;32761:7;32790:5;32779:16;;32715:86;;;:::o;32807:60::-;32835:3;32856:5;32849:12;;32807:60;;;:::o;32873:160::-;32932:9;32965:62;32983:43;32992:33;33019:5;32992:33;:::i;:::-;32983:43;:::i;:::-;32965:62;:::i;:::-;32952:75;;32873:160;;;:::o;33039:149::-;33135:46;33175:5;33135:46;:::i;:::-;33130:3;33123:59;33039:149;;:::o;33194:460::-;33352:4;33390:2;33379:9;33375:18;33367:26;;33403:71;33471:1;33460:9;33456:17;33447:6;33403:71;:::i;:::-;33484:81;33561:2;33550:9;33546:18;33537:6;33484:81;:::i;:::-;33575:72;33643:2;33632:9;33628:18;33619:6;33575:72;:::i;:::-;33194:460;;;;;;:::o
Swarm Source
ipfs://fad3c6656405f75863c72f5e84375e874c659707dc2c3c746567fb6407730cdf
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.023067 | 10 | $0.2306 |
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.