Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 331 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Receive All Inte... | 16934322 | 589 days ago | IN | 0 ETH | 0.00460575 | ||||
Withdraw | 16881489 | 596 days ago | IN | 0 ETH | 0.00251928 | ||||
Receive All Inte... | 16881477 | 596 days ago | IN | 0 ETH | 0.00161264 | ||||
Receive All Inte... | 16522900 | 646 days ago | IN | 0 ETH | 0.00178906 | ||||
Receive All Inte... | 16219073 | 689 days ago | IN | 0 ETH | 0.0003832 | ||||
Receive All Inte... | 16172594 | 695 days ago | IN | 0 ETH | 0.00190143 | ||||
Receive All Inte... | 16004883 | 719 days ago | IN | 0 ETH | 0.00188486 | ||||
Receive All Inte... | 15886640 | 735 days ago | IN | 0 ETH | 0.00192133 | ||||
Receive All Inte... | 15786846 | 749 days ago | IN | 0 ETH | 0.00223123 | ||||
Receive All Inte... | 15704555 | 761 days ago | IN | 0 ETH | 0.00141668 | ||||
Receive All Inte... | 15643292 | 769 days ago | IN | 0 ETH | 0.00126804 | ||||
Receive All Inte... | 15517302 | 787 days ago | IN | 0 ETH | 0.00197897 | ||||
Receive All Inte... | 15465360 | 796 days ago | IN | 0 ETH | 0.00067556 | ||||
Receive All Inte... | 15463303 | 796 days ago | IN | 0 ETH | 0.00200138 | ||||
Deposit | 15426871 | 802 days ago | IN | 0 ETH | 0.00115496 | ||||
Deposit | 15426869 | 802 days ago | IN | 0 ETH | 0.0010346 | ||||
Deposit | 15426864 | 802 days ago | IN | 0 ETH | 0.00092135 | ||||
Deposit | 15426859 | 802 days ago | IN | 0 ETH | 0.0012382 | ||||
Receive All Inte... | 15423919 | 802 days ago | IN | 0 ETH | 0.00134421 | ||||
Receive All Inte... | 15402081 | 806 days ago | IN | 0 ETH | 0.0009481 | ||||
Receive All Inte... | 15400517 | 806 days ago | IN | 0 ETH | 0.00122848 | ||||
Receive All Inte... | 15376489 | 810 days ago | IN | 0 ETH | 0.00113382 | ||||
Deposit | 15356550 | 813 days ago | IN | 0 ETH | 0.00053444 | ||||
Deposit | 15356550 | 813 days ago | IN | 0 ETH | 0.00013817 | ||||
Deposit | 15356550 | 813 days ago | IN | 0 ETH | 0.00012444 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DDFERC721Router
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-05-23 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; interface IERC20 { function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); } interface IDDFERC721Factory { function getPair(address token) external view returns (address pair); } interface IERC721 { function ownerOf(uint256 tokenId) external view returns (address owner); function balanceOf(address owner) external view returns (uint256 balance); function isApprovedForAll(address owner, address operator) external view returns (bool); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); function totalSupply() external view returns (uint256); function getApproved(uint256 tokenId) external view returns (address operator); function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function tokenURI(uint256 tokenId) external view returns (string memory); } interface IDDFERC721PoolPair is IERC721{ function mint(address owner, uint256 tokenId) external; function burn(address owner, uint256 lpTokenId) external; function updateTokenTime(address owner, uint256 lpTokenId) external; function tokenInfo(uint256 lpTokenId) external view returns (uint32, uint32, uint32); } interface IDDFERC721Router { function deposit(address token, uint256 tokenId) external; function withdraw(address token, uint256 lpTokenId) external; function withdrawAll(address token) external; function receiveInterest(address token,uint256 lpTokenId) external; function receiveAllInterest(address token) external; function findAllDeposit(address token) external view returns (uint256 amount); function findInterest(address token, uint256 lpTokenId) external view returns (uint256 amount); function findLPTokens(address token, address account) external view returns (uint256[] memory _lpTokens, string[] memory _URIs, uint256[] memory _amounts, bool[] memory approvals); function findTokens(address token, address account) external view returns (uint256[] memory tokens, string[] memory tokenURIs, bool[] memory approvals); } contract DDFERC721Router is IDDFERC721Router { address public factory; address public ddfAddress; address public ddfSender; uint private unlocked = 1; modifier lock() { require(unlocked == 1, 'DDF: LOCKED'); unlocked = 0; _; unlocked = 1; } constructor(address _factory, address _ddfAddress) { factory = _factory; ddfAddress = _ddfAddress; ddfSender = msg.sender; } function deposit(address token, uint256 tokenId) external lock override { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); require(IERC721(token).ownerOf(tokenId) == msg.sender, "DDFRouter: transfer of token that is not owner"); IERC721(token).transferFrom(msg.sender,address(this),tokenId); IERC721(token).approve(pair,tokenId); IDDFERC721PoolPair(pair).mint(msg.sender, tokenId); } function withdraw(address token, uint256 lpTokenId) external lock override { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); require(IDDFERC721PoolPair(pair).ownerOf(lpTokenId) == msg.sender, "DDFRouter: withdraw of lpTokenId that is not owner"); (, uint32 startTime, uint32 reward) = IDDFERC721PoolPair(pair).tokenInfo(lpTokenId); uint32 endTime = uint32(block.timestamp % 2 ** 32); uint256 ddfAmount = CalProfitMath.colProfitAmount(startTime,endTime,reward); if(ddfAmount > 0 ){ IERC20(ddfAddress).transferFrom(ddfSender, msg.sender,ddfAmount); } IDDFERC721PoolPair(pair).burn(msg.sender, lpTokenId); } function withdrawAll(address token) external lock override { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); require(IDDFERC721PoolPair(pair).isApprovedForAll(msg.sender,address(this)), "DDFRouter: approve caller is not owner nor approved for all"); uint len = IDDFERC721PoolPair(pair).balanceOf(msg.sender); if(len > 0){ uint256 lpTokenId; uint256 ddfAmount; uint32 endTime = uint32(block.timestamp % 2 ** 32); (uint32 blockStartTime, uint32 startTime, uint32 interestRate) = (0,0,0); for(uint i=0;i<len;i++){ lpTokenId = IDDFERC721PoolPair(pair).tokenOfOwnerByIndex(msg.sender, 0); (blockStartTime, startTime, interestRate) = IDDFERC721PoolPair(pair).tokenInfo(lpTokenId); ddfAmount = CalProfitMath.colProfitAmount(startTime,endTime,interestRate); if(ddfAmount > 0 ){ IERC20(ddfAddress).transferFrom(ddfSender, msg.sender,ddfAmount); } IDDFERC721PoolPair(pair).burn(msg.sender, lpTokenId); } } } function receiveInterest(address token,uint256 lpTokenId) external lock override { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); require(IDDFERC721PoolPair(pair).ownerOf(lpTokenId) == msg.sender, "DDFRouter: retrieve of token that is not owner"); (, uint32 startTime, uint32 interestRate) = IDDFERC721PoolPair(pair).tokenInfo(lpTokenId); uint32 endTime = uint32(block.timestamp % 2 ** 32); uint256 ddfAmount = CalProfitMath.colProfitAmount(startTime,endTime,interestRate); if(ddfAmount > 0 ){ IERC20(ddfAddress).transferFrom(ddfSender, msg.sender,ddfAmount); } IDDFERC721PoolPair(pair).updateTokenTime(msg.sender, lpTokenId); } function receiveAllInterest(address token) external lock override { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0),"DDFRouter: pair nonexistent"); require(IDDFERC721PoolPair(pair).isApprovedForAll(msg.sender,address(this)), "DDFRouter: approve caller is not owner nor approved for all"); uint len = IDDFERC721PoolPair(pair).balanceOf(msg.sender); if(len > 0){ uint256 lpTokenId; uint256 ddfAmount; uint32 endTime = uint32(block.timestamp % 2 ** 32); (uint32 startTime, uint32 interestRate) = (0,0); for(uint i=0;i<len;i++){ lpTokenId = IDDFERC721PoolPair(pair).tokenOfOwnerByIndex(msg.sender, i); (, startTime, interestRate) = IDDFERC721PoolPair(pair).tokenInfo(lpTokenId); ddfAmount = CalProfitMath.colProfitAmount(startTime,endTime,interestRate); if(ddfAmount > 0 ){ IERC20(ddfAddress).transferFrom(ddfSender, msg.sender,ddfAmount); } IDDFERC721PoolPair(pair).updateTokenTime(msg.sender, lpTokenId); } } } function findAllDeposit(address token) public view override returns (uint256 amount) { address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); amount = IDDFERC721PoolPair(pair).totalSupply(); } function findInterest(address token, uint256 lpTokenId) public view virtual override returns (uint256 amount){ address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); (, uint32 startTime, uint32 interestRate) = IDDFERC721PoolPair(pair).tokenInfo(lpTokenId); if(startTime > 0){ uint32 endTime = uint32(block.timestamp % 2 ** 32); amount = CalProfitMath.colProfitAmount(startTime,endTime,interestRate); } } function findLPTokens(address token, address account) public view virtual override returns (uint256[] memory _lpTokens, string[] memory _URIs, uint256[] memory _amounts, bool[] memory approvals){ address pair = IDDFERC721Factory(factory).getPair(token); require(pair != address(0), "DDFRouter: pair nonexistent"); uint256 len = IDDFERC721PoolPair(pair).balanceOf(account); if(len > 0){ _lpTokens = new uint256[](len); _URIs = new string[](len); _amounts = new uint256[](len); approvals = new bool[](len); uint32 startTime; uint32 interestRate; uint32 endTime = uint32(block.timestamp % 2 ** 32); uint256 _lpTokenId; for(uint32 i=0;i<len;i++){ _lpTokenId = IDDFERC721PoolPair(pair).tokenOfOwnerByIndex(account, i); (, startTime, interestRate) = IDDFERC721PoolPair(pair).tokenInfo(_lpTokenId); _lpTokens[i] = _lpTokenId; _URIs[i] = IDDFERC721PoolPair(pair).tokenURI(_lpTokenId); _amounts[i] = CalProfitMath.colProfitAmount(startTime, endTime, interestRate); if(IDDFERC721PoolPair(pair).getApproved(_lpTokenId) == address(this)){ approvals[i] = true; }else{ approvals[i] = false; } } } } function findTokens(address token, address account) public view virtual override returns (uint256[] memory tokens, string[] memory tokenURIs, bool[] memory approvals) { uint256 len = IERC721(token).balanceOf(account); if(len >0){ tokens = new uint256[](len); tokenURIs = new string[](len); approvals = new bool[](len); for(uint i=0;i<len;i++){ tokens[i] = IERC721(token).tokenOfOwnerByIndex(account, i); tokenURIs[i] = IERC721(token).tokenURI(tokens[i]); if(IERC721(token).getApproved(tokens[i]) == address(this)){ approvals[i] = true; }else{ approvals[i] = false; } } } } } library CalProfitMath { uint constant SECONDS_PER_DAY = 24 * 60 * 60; function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function calStepProfit(uint256 amount, uint8 p, uint8 d) internal pure returns (uint256 z) { z = mul(amount,p); z = div(z,d); } function calProfit(uint256 dayProfit, uint second) internal pure returns (uint256 z) { z = mul(dayProfit,second); z = div(z,SECONDS_PER_DAY); } function colProfitAmount(uint32 startime, uint32 endtime,uint32 DAY_PROFIT) internal pure returns (uint256 totalAmount) { totalAmount = calProfit(DAY_PROFIT,sub(endtime,startime)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_ddfAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ddfAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ddfSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"findAllDeposit","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"lpTokenId","type":"uint256"}],"name":"findInterest","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"findLPTokens","outputs":[{"internalType":"uint256[]","name":"_lpTokens","type":"uint256[]"},{"internalType":"string[]","name":"_URIs","type":"string[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"},{"internalType":"bool[]","name":"approvals","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"findTokens","outputs":[{"internalType":"uint256[]","name":"tokens","type":"uint256[]"},{"internalType":"string[]","name":"tokenURIs","type":"string[]"},{"internalType":"bool[]","name":"approvals","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"receiveAllInterest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"lpTokenId","type":"uint256"}],"name":"receiveInterest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"lpTokenId","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260016003553480156200001657600080fd5b506040516200266c3803806200266c833981016040819052620000399162000098565b600080546001600160a01b039384166001600160a01b0319918216179091556001805492909316918116919091179091556002805490911633179055620000d0565b80516001600160a01b03811681146200009357600080fd5b919050565b60008060408385031215620000ac57600080fd5b620000b7836200007b565b9150620000c7602084016200007b565b90509250929050565b61258c80620000e06000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c8063c45a015511610071578063c45a015514610176578063c9e17ed714610189578063cb6aef0c1461019c578063d47ffeef146101af578063f3fef3a3146101c2578063fa09e630146101d557600080fd5b8062015fdf146100b8578063359ff819146100e857806347e7ef24146100fb57806371d5231f146101105780638042bfcc14610133578063b5db233414610155575b600080fd5b6001546100cb906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6002546100cb906001600160a01b031681565b61010e61010936600461207e565b6101e8565b005b61012361011e366004612045565b6104d3565b6040516100df9493929190612313565b610146610141366004612045565b610a4c565b6040516100df939291906122d0565b61016861016336600461200b565b610e2b565b6040519081526020016100df565b6000546100cb906001600160a01b031681565b61010e61019736600461200b565b610f49565b61010e6101aa36600461207e565b611376565b6101686101bd36600461207e565b6116d2565b61010e6101d036600461207e565b611832565b61010e6101e336600461200b565b611b56565b6003546001146102135760405162461bcd60e51b815260040161020a90612397565b60405180910390fd5b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190612028565b90506001600160a01b0381166102be5760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b15801561030057600080fd5b505afa158015610314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103389190612028565b6001600160a01b0316146103a55760405162461bcd60e51b815260206004820152602e60248201527f444446526f757465723a207472616e73666572206f6620746f6b656e2074686160448201526d3a1034b9903737ba1037bbb732b960911b606482015260840161020a565b6040516323b872dd60e01b81526001600160a01b038416906323b872dd906103d5903390309087906004016122ac565b600060405180830381600087803b1580156103ef57600080fd5b505af1158015610403573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b038481166004830152602482018690528616925063095ea7b39150604401600060405180830381600087803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b50506040516340c10f1960e01b8152336004820152602481018590526001600160a01b03841692506340c10f199150604401600060405180830381600087803b1580156104b157600080fd5b505af11580156104c5573d6000803e3d6000fd5b505060016003555050505050565b60008054604051630d3c450160e11b81526001600160a01b03858116600483015260609384938493849390911690631a788a029060240160206040518083038186803b15801561052257600080fd5b505afa158015610536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055a9190612028565b90506001600160a01b0381166105825760405162461bcd60e51b815260040161020a90612360565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908316906370a082319060240160206040518083038186803b1580156105c757600080fd5b505afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff9190612179565b90508015610a41578067ffffffffffffffff81111561062057610620612528565b604051908082528060200260200182016040528015610649578160200160208202803683370190505b5095508067ffffffffffffffff81111561066557610665612528565b60405190808252806020026020018201604052801561069857816020015b60608152602001906001900390816106835790505b5094508067ffffffffffffffff8111156106b4576106b4612528565b6040519080825280602002602001820160405280156106dd578160200160208202803683370190505b5093508067ffffffffffffffff8111156106f9576106f9612528565b604051908082528060200260200182016040528015610722578160200160208202803683370190505b50925060008080610738640100000000426124d2565b90506000805b858163ffffffff161015610a3b57604051632f745c5960e01b81526001600160a01b038d8116600483015263ffffffff83166024830152881690632f745c599060440160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d19190612179565b60405163cc33c87560e01b8152600481018290529092506001600160a01b0388169063cc33c8759060240160606040518083038186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190612192565b8d5191975095508391508c9063ffffffff841690811061086e5761086e612512565b602090810291909101015260405163c87b56dd60e01b8152600481018390526001600160a01b0388169063c87b56dd9060240160006040518083038186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f591908101906120cc565b8a8263ffffffff168151811061090d5761090d612512565b6020026020010181905250610923858486611f84565b898263ffffffff168151811061093b5761093b612512565b602090810291909101015260405163020604bf60e21b81526004810183905230906001600160a01b0389169063081812fc9060240160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c09190612028565b6001600160a01b031614156109fe576001888263ffffffff16815181106109e9576109e9612512565b91151560209283029190910190910152610a29565b6000888263ffffffff1681518110610a1857610a18612512565b911515602092830291909101909101525b80610a33816124ae565b91505061073e565b50505050505b505092959194509250565b6040516370a0823160e01b81526001600160a01b038281166004830152606091829182916000918716906370a082319060240160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190612179565b90508015610e23578067ffffffffffffffff811115610af057610af0612528565b604051908082528060200260200182016040528015610b19578160200160208202803683370190505b5093508067ffffffffffffffff811115610b3557610b35612528565b604051908082528060200260200182016040528015610b6857816020015b6060815260200190600190039081610b535790505b5092508067ffffffffffffffff811115610b8457610b84612528565b604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50915060005b81811015610e2157604051632f745c5960e01b81526001600160a01b03878116600483015260248201839052881690632f745c599060440160206040518083038186803b158015610c0357600080fd5b505afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190612179565b858281518110610c4d57610c4d612512565b602002602001018181525050866001600160a01b031663c87b56dd868381518110610c7a57610c7a612512565b60200260200101516040518263ffffffff1660e01b8152600401610ca091815260200190565b60006040518083038186803b158015610cb857600080fd5b505afa158015610ccc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf491908101906120cc565b848281518110610d0657610d06612512565b6020026020010181905250306001600160a01b0316876001600160a01b031663081812fc878481518110610d3c57610d3c612512565b60200260200101516040518263ffffffff1660e01b8152600401610d6291815260200190565b60206040518083038186803b158015610d7a57600080fd5b505afa158015610d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db29190612028565b6001600160a01b03161415610dea576001838281518110610dd557610dd5612512565b91151560209283029190910190910152610e0f565b6000838281518110610dfe57610dfe612512565b911515602092830291909101909101525b80610e1981612493565b915050610bb3565b505b509250925092565b60008054604051630d3c450160e11b81526001600160a01b03848116600483015283921690631a788a029060240160206040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea99190612028565b90506001600160a01b038116610ed15760405162461bcd60e51b815260040161020a90612360565b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0a57600080fd5b505afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190612179565b9392505050565b600354600114610f6b5760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03848116600483015290911690631a788a029060240160206040518083038186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612028565b90506001600160a01b0381166110165760405162461bcd60e51b815260040161020a90612360565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0382169063e985e9c59060440160206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109391906120aa565b6110af5760405162461bcd60e51b815260040161020a906123bc565b6040516370a0823160e01b81523360048201526000906001600160a01b038316906370a082319060240160206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190612179565b9050801561136c5760008080611144640100000000426124d2565b9050600080805b8681101561136557604051632f745c5960e01b8152336004820152602481018290526001600160a01b03891690632f745c599060440160206040518083038186803b15801561119957600080fd5b505afa1580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d19190612179565b60405163cc33c87560e01b8152600481018290529096506001600160a01b0389169063cc33c8759060240160606040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190612192565b909450925061125e9050838584611f84565b945084156112f2576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261129e9291169033908a906004016122ac565b602060405180830381600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f091906120aa565b505b6040516379a21a4760e11b8152336004820152602481018790526001600160a01b0389169063f344348e90604401600060405180830381600087803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b50505050808061135d90612493565b91505061114b565b5050505050505b5050600160035550565b6003546001146113985760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b1580156113e357600080fd5b505afa1580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b9190612028565b90506001600160a01b0381166114435760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03831690636352211e9060240160206040518083038186803b15801561148557600080fd5b505afa158015611499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bd9190612028565b6001600160a01b03161461152b5760405162461bcd60e51b815260206004820152602f60248201527f444446526f757465723a20726574726965766520206f6620746f6b656e20746860448201526e30ba1034b9903737ba1037bbb732b960891b606482015260840161020a565b60405163cc33c87560e01b81526004810183905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b15801561157057600080fd5b505afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190612192565b92509250506000640100000000426115c091906124d2565b905060006115cf848385611f84565b90508015611663576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261160f92911690339086906004016122ac565b602060405180830381600087803b15801561162957600080fd5b505af115801561163d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166191906120aa565b505b6040516379a21a4760e11b8152336004820152602481018790526001600160a01b0386169063f344348e906044015b600060405180830381600087803b1580156116ac57600080fd5b505af11580156116c0573d6000803e3d6000fd5b50506001600355505050505050505050565b60008054604051630d3c450160e11b81526001600160a01b03858116600483015283921690631a788a029060240160206040518083038186803b15801561171857600080fd5b505afa15801561172c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117509190612028565b90506001600160a01b0381166117785760405162461bcd60e51b815260040161020a90612360565b60405163cc33c87560e01b81526004810184905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b1580156117bd57600080fd5b505afa1580156117d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f59190612192565b90935091505063ffffffff821615611829576000611818640100000000426124d2565b9050611825838284611f84565b9450505b50505092915050565b6003546001146118545760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b15801561189f57600080fd5b505afa1580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190612028565b90506001600160a01b0381166118ff5760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03831690636352211e9060240160206040518083038186803b15801561194157600080fd5b505afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190612028565b6001600160a01b0316146119eb5760405162461bcd60e51b815260206004820152603360248201527f444446526f757465723a20776974686472617720206f66206c70546f6b656e4960448201527232103a3430ba1034b9903737ba1037bbb732b960691b606482015260840161020a565b60405163cc33c87560e01b81526004810183905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b158015611a3057600080fd5b505afa158015611a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a689190612192565b9250925050600064010000000042611a8091906124d2565b90506000611a8f848385611f84565b90508015611b23576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611acf92911690339086906004016122ac565b602060405180830381600087803b158015611ae957600080fd5b505af1158015611afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2191906120aa565b505b604051632770a7eb60e21b8152336004820152602481018790526001600160a01b03861690639dc29fac90604401611692565b600354600114611b785760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03848116600483015290911690631a788a029060240160206040518083038186803b158015611bc357600080fd5b505afa158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190612028565b90506001600160a01b038116611c235760405162461bcd60e51b815260040161020a90612360565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0382169063e985e9c59060440160206040518083038186803b158015611c6857600080fd5b505afa158015611c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca091906120aa565b611cbc5760405162461bcd60e51b815260040161020a906123bc565b6040516370a0823160e01b81523360048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d369190612179565b9050801561136c5760008080611d51640100000000426124d2565b905060008080805b87811015611f7357604051632f745c5960e01b8152336004820152600060248201526001600160a01b038a1690632f745c599060440160206040518083038186803b158015611da757600080fd5b505afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf9190612179565b60405163cc33c87560e01b8152600481018290529097506001600160a01b038a169063cc33c8759060240160606040518083038186803b158015611e2257600080fd5b505afa158015611e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5a9190612192565b91955093509150611e6c838684611f84565b95508515611f00576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611eac9291169033908b906004016122ac565b602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe91906120aa565b505b604051632770a7eb60e21b8152336004820152602481018890526001600160a01b038a1690639dc29fac90604401600060405180830381600087803b158015611f4857600080fd5b505af1158015611f5c573d6000803e3d6000fd5b505050508080611f6b90612493565b915050611d59565b505050505050505050600160035550565b6000611fab8263ffffffff16611fa68563ffffffff168763ffffffff16611fb3565b611fbf565b949350505050565b6000610f42828461244c565b6000611fcb8383611fda565b9050610f428162015180611fe6565b6000610f42828461242d565b6000610f428284612419565b805163ffffffff8116811461200657600080fd5b919050565b60006020828403121561201d57600080fd5b8135610f428161253e565b60006020828403121561203a57600080fd5b8151610f428161253e565b6000806040838503121561205857600080fd5b82356120638161253e565b915060208301356120738161253e565b809150509250929050565b6000806040838503121561209157600080fd5b823561209c8161253e565b946020939093013593505050565b6000602082840312156120bc57600080fd5b81518015158114610f4257600080fd5b6000602082840312156120de57600080fd5b815167ffffffffffffffff808211156120f657600080fd5b818401915084601f83011261210a57600080fd5b81518181111561211c5761211c612528565b604051601f8201601f19908116603f0116810190838211818310171561214457612144612528565b8160405282815287602084870101111561215d57600080fd5b61216e836020830160208801612463565b979650505050505050565b60006020828403121561218b57600080fd5b5051919050565b6000806000606084860312156121a757600080fd5b6121b084611ff2565b92506121be60208501611ff2565b91506121cc60408501611ff2565b90509250925092565b600081518084526020808501945080840160005b838110156122075781511515875295820195908201906001016121e9565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101561226f5783830389528151805180855261225081888701898501612463565b99860199601f01601f191693909301850192509084019060010161222d565b5090979650505050505050565b600081518084526020808501945080840160005b8381101561220757815187529582019590820190600101612290565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6060815260006122e3606083018661227c565b82810360208401526122f58186612212565b9050828103604084015261230981856121d5565b9695505050505050565b608081526000612326608083018761227c565b82810360208401526123388187612212565b9050828103604084015261234c818661227c565b9050828103606084015261216e81856121d5565b6020808252601b908201527f444446526f757465723a2070616972206e6f6e6578697374656e740000000000604082015260600190565b6020808252600b908201526a1111118e881313d0d2d15160aa1b604082015260600190565b6020808252603b908201527f444446526f757465723a20617070726f76652063616c6c6572206973206e6f7460408201527f206f776e6572206e6f7220617070726f76656420666f7220616c6c0000000000606082015260800190565b600082612428576124286124fc565b500490565b6000816000190483118215151615612447576124476124e6565b500290565b60008282101561245e5761245e6124e6565b500390565b60005b8381101561247e578181015183820152602001612466565b8381111561248d576000848401525b50505050565b60006000198214156124a7576124a76124e6565b5060010190565b600063ffffffff808316818114156124c8576124c86124e6565b6001019392505050565b6000826124e1576124e16124fc565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461255357600080fd5b5056fea2646970667358221220f1ca3189c42f67084f83d5c20a71100da7269143b4b54c84ddc0e649957f0fa964736f6c6343000807003300000000000000000000000042b806932dbfb8cedd00b61efcef1d18b8db49b60000000000000000000000007227ef719eb6b0624c1c6202af169c5394a4557c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b35760003560e01c8063c45a015511610071578063c45a015514610176578063c9e17ed714610189578063cb6aef0c1461019c578063d47ffeef146101af578063f3fef3a3146101c2578063fa09e630146101d557600080fd5b8062015fdf146100b8578063359ff819146100e857806347e7ef24146100fb57806371d5231f146101105780638042bfcc14610133578063b5db233414610155575b600080fd5b6001546100cb906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6002546100cb906001600160a01b031681565b61010e61010936600461207e565b6101e8565b005b61012361011e366004612045565b6104d3565b6040516100df9493929190612313565b610146610141366004612045565b610a4c565b6040516100df939291906122d0565b61016861016336600461200b565b610e2b565b6040519081526020016100df565b6000546100cb906001600160a01b031681565b61010e61019736600461200b565b610f49565b61010e6101aa36600461207e565b611376565b6101686101bd36600461207e565b6116d2565b61010e6101d036600461207e565b611832565b61010e6101e336600461200b565b611b56565b6003546001146102135760405162461bcd60e51b815260040161020a90612397565b60405180910390fd5b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190612028565b90506001600160a01b0381166102be5760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b15801561030057600080fd5b505afa158015610314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103389190612028565b6001600160a01b0316146103a55760405162461bcd60e51b815260206004820152602e60248201527f444446526f757465723a207472616e73666572206f6620746f6b656e2074686160448201526d3a1034b9903737ba1037bbb732b960911b606482015260840161020a565b6040516323b872dd60e01b81526001600160a01b038416906323b872dd906103d5903390309087906004016122ac565b600060405180830381600087803b1580156103ef57600080fd5b505af1158015610403573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b038481166004830152602482018690528616925063095ea7b39150604401600060405180830381600087803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b50506040516340c10f1960e01b8152336004820152602481018590526001600160a01b03841692506340c10f199150604401600060405180830381600087803b1580156104b157600080fd5b505af11580156104c5573d6000803e3d6000fd5b505060016003555050505050565b60008054604051630d3c450160e11b81526001600160a01b03858116600483015260609384938493849390911690631a788a029060240160206040518083038186803b15801561052257600080fd5b505afa158015610536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055a9190612028565b90506001600160a01b0381166105825760405162461bcd60e51b815260040161020a90612360565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908316906370a082319060240160206040518083038186803b1580156105c757600080fd5b505afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff9190612179565b90508015610a41578067ffffffffffffffff81111561062057610620612528565b604051908082528060200260200182016040528015610649578160200160208202803683370190505b5095508067ffffffffffffffff81111561066557610665612528565b60405190808252806020026020018201604052801561069857816020015b60608152602001906001900390816106835790505b5094508067ffffffffffffffff8111156106b4576106b4612528565b6040519080825280602002602001820160405280156106dd578160200160208202803683370190505b5093508067ffffffffffffffff8111156106f9576106f9612528565b604051908082528060200260200182016040528015610722578160200160208202803683370190505b50925060008080610738640100000000426124d2565b90506000805b858163ffffffff161015610a3b57604051632f745c5960e01b81526001600160a01b038d8116600483015263ffffffff83166024830152881690632f745c599060440160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d19190612179565b60405163cc33c87560e01b8152600481018290529092506001600160a01b0388169063cc33c8759060240160606040518083038186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190612192565b8d5191975095508391508c9063ffffffff841690811061086e5761086e612512565b602090810291909101015260405163c87b56dd60e01b8152600481018390526001600160a01b0388169063c87b56dd9060240160006040518083038186803b1580156108b957600080fd5b505afa1580156108cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f591908101906120cc565b8a8263ffffffff168151811061090d5761090d612512565b6020026020010181905250610923858486611f84565b898263ffffffff168151811061093b5761093b612512565b602090810291909101015260405163020604bf60e21b81526004810183905230906001600160a01b0389169063081812fc9060240160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c09190612028565b6001600160a01b031614156109fe576001888263ffffffff16815181106109e9576109e9612512565b91151560209283029190910190910152610a29565b6000888263ffffffff1681518110610a1857610a18612512565b911515602092830291909101909101525b80610a33816124ae565b91505061073e565b50505050505b505092959194509250565b6040516370a0823160e01b81526001600160a01b038281166004830152606091829182916000918716906370a082319060240160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190612179565b90508015610e23578067ffffffffffffffff811115610af057610af0612528565b604051908082528060200260200182016040528015610b19578160200160208202803683370190505b5093508067ffffffffffffffff811115610b3557610b35612528565b604051908082528060200260200182016040528015610b6857816020015b6060815260200190600190039081610b535790505b5092508067ffffffffffffffff811115610b8457610b84612528565b604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50915060005b81811015610e2157604051632f745c5960e01b81526001600160a01b03878116600483015260248201839052881690632f745c599060440160206040518083038186803b158015610c0357600080fd5b505afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190612179565b858281518110610c4d57610c4d612512565b602002602001018181525050866001600160a01b031663c87b56dd868381518110610c7a57610c7a612512565b60200260200101516040518263ffffffff1660e01b8152600401610ca091815260200190565b60006040518083038186803b158015610cb857600080fd5b505afa158015610ccc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf491908101906120cc565b848281518110610d0657610d06612512565b6020026020010181905250306001600160a01b0316876001600160a01b031663081812fc878481518110610d3c57610d3c612512565b60200260200101516040518263ffffffff1660e01b8152600401610d6291815260200190565b60206040518083038186803b158015610d7a57600080fd5b505afa158015610d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db29190612028565b6001600160a01b03161415610dea576001838281518110610dd557610dd5612512565b91151560209283029190910190910152610e0f565b6000838281518110610dfe57610dfe612512565b911515602092830291909101909101525b80610e1981612493565b915050610bb3565b505b509250925092565b60008054604051630d3c450160e11b81526001600160a01b03848116600483015283921690631a788a029060240160206040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea99190612028565b90506001600160a01b038116610ed15760405162461bcd60e51b815260040161020a90612360565b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0a57600080fd5b505afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190612179565b9392505050565b600354600114610f6b5760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03848116600483015290911690631a788a029060240160206040518083038186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612028565b90506001600160a01b0381166110165760405162461bcd60e51b815260040161020a90612360565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0382169063e985e9c59060440160206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109391906120aa565b6110af5760405162461bcd60e51b815260040161020a906123bc565b6040516370a0823160e01b81523360048201526000906001600160a01b038316906370a082319060240160206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190612179565b9050801561136c5760008080611144640100000000426124d2565b9050600080805b8681101561136557604051632f745c5960e01b8152336004820152602481018290526001600160a01b03891690632f745c599060440160206040518083038186803b15801561119957600080fd5b505afa1580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d19190612179565b60405163cc33c87560e01b8152600481018290529096506001600160a01b0389169063cc33c8759060240160606040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190612192565b909450925061125e9050838584611f84565b945084156112f2576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261129e9291169033908a906004016122ac565b602060405180830381600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f091906120aa565b505b6040516379a21a4760e11b8152336004820152602481018790526001600160a01b0389169063f344348e90604401600060405180830381600087803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b50505050808061135d90612493565b91505061114b565b5050505050505b5050600160035550565b6003546001146113985760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b1580156113e357600080fd5b505afa1580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b9190612028565b90506001600160a01b0381166114435760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03831690636352211e9060240160206040518083038186803b15801561148557600080fd5b505afa158015611499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bd9190612028565b6001600160a01b03161461152b5760405162461bcd60e51b815260206004820152602f60248201527f444446526f757465723a20726574726965766520206f6620746f6b656e20746860448201526e30ba1034b9903737ba1037bbb732b960891b606482015260840161020a565b60405163cc33c87560e01b81526004810183905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b15801561157057600080fd5b505afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190612192565b92509250506000640100000000426115c091906124d2565b905060006115cf848385611f84565b90508015611663576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261160f92911690339086906004016122ac565b602060405180830381600087803b15801561162957600080fd5b505af115801561163d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166191906120aa565b505b6040516379a21a4760e11b8152336004820152602481018790526001600160a01b0386169063f344348e906044015b600060405180830381600087803b1580156116ac57600080fd5b505af11580156116c0573d6000803e3d6000fd5b50506001600355505050505050505050565b60008054604051630d3c450160e11b81526001600160a01b03858116600483015283921690631a788a029060240160206040518083038186803b15801561171857600080fd5b505afa15801561172c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117509190612028565b90506001600160a01b0381166117785760405162461bcd60e51b815260040161020a90612360565b60405163cc33c87560e01b81526004810184905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b1580156117bd57600080fd5b505afa1580156117d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f59190612192565b90935091505063ffffffff821615611829576000611818640100000000426124d2565b9050611825838284611f84565b9450505b50505092915050565b6003546001146118545760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03858116600483015290911690631a788a029060240160206040518083038186803b15801561189f57600080fd5b505afa1580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190612028565b90506001600160a01b0381166118ff5760405162461bcd60e51b815260040161020a90612360565b6040516331a9108f60e11b81526004810183905233906001600160a01b03831690636352211e9060240160206040518083038186803b15801561194157600080fd5b505afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190612028565b6001600160a01b0316146119eb5760405162461bcd60e51b815260206004820152603360248201527f444446526f757465723a20776974686472617720206f66206c70546f6b656e4960448201527232103a3430ba1034b9903737ba1037bbb732b960691b606482015260840161020a565b60405163cc33c87560e01b81526004810183905260009081906001600160a01b0384169063cc33c8759060240160606040518083038186803b158015611a3057600080fd5b505afa158015611a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a689190612192565b9250925050600064010000000042611a8091906124d2565b90506000611a8f848385611f84565b90508015611b23576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611acf92911690339086906004016122ac565b602060405180830381600087803b158015611ae957600080fd5b505af1158015611afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2191906120aa565b505b604051632770a7eb60e21b8152336004820152602481018790526001600160a01b03861690639dc29fac90604401611692565b600354600114611b785760405162461bcd60e51b815260040161020a90612397565b600060038190558054604051630d3c450160e11b81526001600160a01b03848116600483015290911690631a788a029060240160206040518083038186803b158015611bc357600080fd5b505afa158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190612028565b90506001600160a01b038116611c235760405162461bcd60e51b815260040161020a90612360565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0382169063e985e9c59060440160206040518083038186803b158015611c6857600080fd5b505afa158015611c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca091906120aa565b611cbc5760405162461bcd60e51b815260040161020a906123bc565b6040516370a0823160e01b81523360048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d369190612179565b9050801561136c5760008080611d51640100000000426124d2565b905060008080805b87811015611f7357604051632f745c5960e01b8152336004820152600060248201526001600160a01b038a1690632f745c599060440160206040518083038186803b158015611da757600080fd5b505afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf9190612179565b60405163cc33c87560e01b8152600481018290529097506001600160a01b038a169063cc33c8759060240160606040518083038186803b158015611e2257600080fd5b505afa158015611e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5a9190612192565b91955093509150611e6c838684611f84565b95508515611f00576001546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611eac9291169033908b906004016122ac565b602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efe91906120aa565b505b604051632770a7eb60e21b8152336004820152602481018890526001600160a01b038a1690639dc29fac90604401600060405180830381600087803b158015611f4857600080fd5b505af1158015611f5c573d6000803e3d6000fd5b505050508080611f6b90612493565b915050611d59565b505050505050505050600160035550565b6000611fab8263ffffffff16611fa68563ffffffff168763ffffffff16611fb3565b611fbf565b949350505050565b6000610f42828461244c565b6000611fcb8383611fda565b9050610f428162015180611fe6565b6000610f42828461242d565b6000610f428284612419565b805163ffffffff8116811461200657600080fd5b919050565b60006020828403121561201d57600080fd5b8135610f428161253e565b60006020828403121561203a57600080fd5b8151610f428161253e565b6000806040838503121561205857600080fd5b82356120638161253e565b915060208301356120738161253e565b809150509250929050565b6000806040838503121561209157600080fd5b823561209c8161253e565b946020939093013593505050565b6000602082840312156120bc57600080fd5b81518015158114610f4257600080fd5b6000602082840312156120de57600080fd5b815167ffffffffffffffff808211156120f657600080fd5b818401915084601f83011261210a57600080fd5b81518181111561211c5761211c612528565b604051601f8201601f19908116603f0116810190838211818310171561214457612144612528565b8160405282815287602084870101111561215d57600080fd5b61216e836020830160208801612463565b979650505050505050565b60006020828403121561218b57600080fd5b5051919050565b6000806000606084860312156121a757600080fd5b6121b084611ff2565b92506121be60208501611ff2565b91506121cc60408501611ff2565b90509250925092565b600081518084526020808501945080840160005b838110156122075781511515875295820195908201906001016121e9565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101561226f5783830389528151805180855261225081888701898501612463565b99860199601f01601f191693909301850192509084019060010161222d565b5090979650505050505050565b600081518084526020808501945080840160005b8381101561220757815187529582019590820190600101612290565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6060815260006122e3606083018661227c565b82810360208401526122f58186612212565b9050828103604084015261230981856121d5565b9695505050505050565b608081526000612326608083018761227c565b82810360208401526123388187612212565b9050828103604084015261234c818661227c565b9050828103606084015261216e81856121d5565b6020808252601b908201527f444446526f757465723a2070616972206e6f6e6578697374656e740000000000604082015260600190565b6020808252600b908201526a1111118e881313d0d2d15160aa1b604082015260600190565b6020808252603b908201527f444446526f757465723a20617070726f76652063616c6c6572206973206e6f7460408201527f206f776e6572206e6f7220617070726f76656420666f7220616c6c0000000000606082015260800190565b600082612428576124286124fc565b500490565b6000816000190483118215151615612447576124476124e6565b500290565b60008282101561245e5761245e6124e6565b500390565b60005b8381101561247e578181015183820152602001612466565b8381111561248d576000848401525b50505050565b60006000198214156124a7576124a76124e6565b5060010190565b600063ffffffff808316818114156124c8576124c86124e6565b6001019392505050565b6000826124e1576124e16124fc565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461255357600080fd5b5056fea2646970667358221220f1ca3189c42f67084f83d5c20a71100da7269143b4b54c84ddc0e649957f0fa964736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000042b806932dbfb8cedd00b61efcef1d18b8db49b60000000000000000000000007227ef719eb6b0624c1c6202af169c5394a4557c
-----Decoded View---------------
Arg [0] : _factory (address): 0x42B806932DbfB8CedD00b61eFcEF1d18b8Db49B6
Arg [1] : _ddfAddress (address): 0x7227ef719EB6B0624c1c6202Af169c5394a4557c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000042b806932dbfb8cedd00b61efcef1d18b8db49b6
Arg [1] : 0000000000000000000000007227ef719eb6b0624c1c6202af169c5394a4557c
Deployed Bytecode Sourcemap
2418:8509:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:25;;;;;-1:-1:-1;;;;;2499:25:0;;;;;;-1:-1:-1;;;;;4967:32:1;;;4949:51;;4937:2;4922:18;2499:25:0;;;;;;;;2531:24;;;;;-1:-1:-1;;;;;2531:24:0;;;2898:513;;;;;;:::i;:::-;;:::i;:::-;;8423:1583;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;10014:908::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7471:329::-;;;;;;:::i;:::-;;:::i;:::-;;;10656:25:1;;;10644:2;10629:18;7471:329:0;10510:177:1;2470:22:0;;;;;-1:-1:-1;;;;;2470:22:0;;;6255:1208;;;;;;:::i;:::-;;:::i;5445:802::-;;;;;;:::i;:::-;;:::i;7808:607::-;;;;;;:::i;:::-;;:::i;3419:779::-;;;;;;:::i;:::-;;:::i;4206:1231::-;;;;;;:::i;:::-;;:::i;2898:513::-;2631:8;;2643:1;2631:13;2623:37;;;;-1:-1:-1;;;2623:37:0;;;;;;;:::i;:::-;;;;;;;;;2682:1;2671:8;:12;;;3014:7;;2996:41:::1;::::0;-1:-1:-1;;;2996:41:0;;-1:-1:-1;;;;;4967:32:1;;;2996:41:0::1;::::0;::::1;4949:51:1::0;3014:7:0;;::::1;::::0;2996:34:::1;::::0;4922:18:1;;2996:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2981:56:::0;-1:-1:-1;;;;;;3056:18:0;::::1;3048:58;;;;-1:-1:-1::0;;;3048:58:0::1;;;;;;;:::i;:::-;3125:31;::::0;-1:-1:-1;;;3125:31:0;;::::1;::::0;::::1;10656:25:1::0;;;3160:10:0::1;::::0;-1:-1:-1;;;;;3125:22:0;::::1;::::0;::::1;::::0;10629:18:1;;3125:31:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3125:45:0::1;;3117:104;;;::::0;-1:-1:-1;;;3117:104:0;;8337:2:1;3117:104:0::1;::::0;::::1;8319:21:1::0;8376:2;8356:18;;;8349:30;8415:34;8395:18;;;8388:62;-1:-1:-1;;;8466:18:1;;;8459:44;8520:19;;3117:104:0::1;8135:410:1::0;3117:104:0::1;3234:61;::::0;-1:-1:-1;;;3234:61:0;;-1:-1:-1;;;;;3234:27:0;::::1;::::0;::::1;::::0;:61:::1;::::0;3262:10:::1;::::0;3281:4:::1;::::0;3287:7;;3234:61:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3306:36:0::1;::::0;-1:-1:-1;;;3306:36:0;;-1:-1:-1;;;;;5900:32:1;;;3306:36:0::1;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;3306:22:0;::::1;::::0;-1:-1:-1;3306:22:0::1;::::0;-1:-1:-1;5855:18:1;;3306:36:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3353:50:0::1;::::0;-1:-1:-1;;;3353:50:0;;3383:10:::1;3353:50;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;3353:29:0;::::1;::::0;-1:-1:-1;3353:29:0::1;::::0;-1:-1:-1;5855:18:1;;3353:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2717:1:0;2706:8;:12;-1:-1:-1;;;;;2898:513:0:o;8423:1583::-;8666:12;8699:7;;8681:41;;-1:-1:-1;;;8681:41:0;;-1:-1:-1;;;;;4967:32:1;;;8681:41:0;;;4949:51:1;8549:26:0;;;;;;;;8699:7;;;;8681:34;;4922:18:1;;8681:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8666:56;-1:-1:-1;;;;;;8745:18:0;;8737:58;;;;-1:-1:-1;;;8737:58:0;;;;;;;:::i;:::-;8826:43;;-1:-1:-1;;;8826:43:0;;-1:-1:-1;;;;;4967:32:1;;;8826:43:0;;;4949:51:1;8812:11:0;;8826:34;;;;;;4922:18:1;;8826:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8812:57;-1:-1:-1;8887:7:0;;8884:1115;;8940:3;8926:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8926:18:0;;8914:30;;8985:3;8972:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8964:25;;9033:3;9019:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9019:18:0;;9008:29;;9080:3;9069:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9069:15:0;-1:-1:-1;9057:27:0;-1:-1:-1;9105:16:0;;;9202:25;9220:7;9202:15;:25;:::i;:::-;9178:50;-1:-1:-1;9247:18:0;;9284:700;9301:3;9299:1;:5;;;9284:700;;;9345:56;;-1:-1:-1;;;9345:56:0;;-1:-1:-1;;;;;6457:32:1;;;9345:56:0;;;6439:51:1;6538:10;6526:23;;6506:18;;;6499:51;9345:44:0;;;;;6412:18:1;;9345:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9454:46;;-1:-1:-1;;;9454:46:0;;;;;10656:25:1;;;9332:69:0;;-1:-1:-1;;;;;;9454:34:0;;;;;10629:18:1;;9454:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9524:12;;9424:76;;-1:-1:-1;9424:76:0;-1:-1:-1;9539:10:0;;-1:-1:-1;9524:9:0;;:12;;;;;;;;;;:::i;:::-;;;;;;;;;;:25;9583:45;;-1:-1:-1;;;9583:45:0;;;;;10656:25:1;;;-1:-1:-1;;;;;9583:33:0;;;;;10629:18:1;;9583:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9583:45:0;;;;;;;;;;;;:::i;:::-;9572:5;9578:1;9572:8;;;;;;;;;;:::i;:::-;;;;;;:56;;;;9665:63;9695:9;9706:7;9715:12;9665:29;:63::i;:::-;9651:8;9660:1;9651:11;;;;;;;;;;:::i;:::-;;;;;;;;;;:77;9754:48;;-1:-1:-1;;;9754:48:0;;;;;10656:25:1;;;9814:4:0;;-1:-1:-1;;;;;9754:36:0;;;;;10629:18:1;;9754:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9754:65:0;;9751:214;;;9862:4;9847:9;9857:1;9847:12;;;;;;;;;;:::i;:::-;:19;;;:12;;;;;;;;;;;:19;9751:214;;;9936:5;9921:9;9931:1;9921:12;;;;;;;;;;:::i;:::-;:20;;;:12;;;;;;;;;;;:20;9751:214;9305:3;;;;:::i;:::-;;;;9284:700;;;;8895:1104;;;;8884:1115;8651:1355;;8423:1583;;;;;;;:::o;10014:908::-;10258:33;;-1:-1:-1;;;10258:33:0;;-1:-1:-1;;;;;4967:32:1;;;10258:33:0;;;4949:51:1;10152:23:0;;;;;;10244:11;;10258:24;;;;;4922:18:1;;10258:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10244:47;-1:-1:-1;10311:6:0;;10308:607;;10360:3;10346:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10346:18:0;;10337:27;;10410:3;10397:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10384:30;;10456:3;10445:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10445:15:0;;10433:27;;10483:6;10479:421;10494:3;10492:1;:5;10479:421;;;10537:46;;-1:-1:-1;;;10537:46:0;;-1:-1:-1;;;;;5900:32:1;;;10537:46:0;;;5882:51:1;5949:18;;;5942:34;;;10537::0;;;;;5855:18:1;;10537:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10525:6;10532:1;10525:9;;;;;;;;:::i;:::-;;;;;;:58;;;;;10629:5;-1:-1:-1;;;;;10621:23:0;;10645:6;10652:1;10645:9;;;;;;;;:::i;:::-;;;;;;;10621:34;;;;;;;;;;;;;10656:25:1;;10644:2;10629:18;;10510:177;10621:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10621:34:0;;;;;;;;;;;;:::i;:::-;10606:9;10616:1;10606:12;;;;;;;;:::i;:::-;;;;;;:49;;;;10730:4;-1:-1:-1;;;;;10681:54:0;10689:5;-1:-1:-1;;;;;10681:26:0;;10708:6;10715:1;10708:9;;;;;;;;:::i;:::-;;;;;;;10681:37;;;;;;;;;;;;;10656:25:1;;10644:2;10629:18;;10510:177;10681:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10681:54:0;;10678:203;;;10778:4;10763:9;10773:1;10763:12;;;;;;;;:::i;:::-;:19;;;:12;;;;;;;;;;;:19;10678:203;;;10852:5;10837:9;10847:1;10837:12;;;;;;;;:::i;:::-;:20;;;:12;;;;;;;;;;;:20;10678:203;10498:3;;;;:::i;:::-;;;;10479:421;;;;10308:607;10229:693;10014:908;;;;;:::o;7471:329::-;7570:14;7634:7;;7616:41;;-1:-1:-1;;;7616:41:0;;-1:-1:-1;;;;;4967:32:1;;;7616:41:0;;;4949:51:1;7570:14:0;;7634:7;;7616:34;;4922:18:1;;7616:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7601:56;-1:-1:-1;;;;;;7680:18:0;;7672:58;;;;-1:-1:-1;;;7672:58:0;;;;;;;:::i;:::-;7773:4;-1:-1:-1;;;;;7754:36:0;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7745:47;7471:329;-1:-1:-1;;;7471:329:0:o;6255:1208::-;2631:8;;2643:1;2631:13;2623:37;;;;-1:-1:-1;;;2623:37:0;;;;;;;:::i;:::-;2682:1;2671:8;:12;;;6365:7;;6347:41:::1;::::0;-1:-1:-1;;;6347:41:0;;-1:-1:-1;;;;;4967:32:1;;;6347:41:0::1;::::0;::::1;4949:51:1::0;6365:7:0;;::::1;::::0;6347:34:::1;::::0;4922:18:1;;6347:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6332:56:::0;-1:-1:-1;;;;;;6407:18:0;::::1;6399:57;;;;-1:-1:-1::0;;;6399:57:0::1;;;;;;;:::i;:::-;6475:67;::::0;-1:-1:-1;;;6475:67:0;;6517:10:::1;6475:67;::::0;::::1;5223:34:1::0;6536:4:0::1;5273:18:1::0;;;5266:43;-1:-1:-1;;;;;6475:41:0;::::1;::::0;::::1;::::0;5158:18:1;;6475:67:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6467:139;;;;-1:-1:-1::0;;;6467:139:0::1;;;;;;;:::i;:::-;6631:46;::::0;-1:-1:-1;;;6631:46:0;;6666:10:::1;6631:46;::::0;::::1;4949:51:1::0;6620:8:0::1;::::0;-1:-1:-1;;;;;6631:34:0;::::1;::::0;::::1;::::0;4922:18:1;;6631:46:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6620:57:::0;-1:-1:-1;6691:7:0;;6688:768:::1;;6714:17;::::0;;6802:25:::1;6820:7;6802:15;:25;:::i;:::-;6778:50:::0;-1:-1:-1;6844:16:0::1;::::0;;6905:540:::1;6920:3;6918:1;:5;6905:540;;;6959:59;::::0;-1:-1:-1;;;6959:59:0;;7004:10:::1;6959:59;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;6959:44:0;::::1;::::0;::::1;::::0;5855:18:1;;6959:59:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7067:45;::::0;-1:-1:-1;;;7067:45:0;;::::1;::::0;::::1;10656:25:1::0;;;6947:71:0;;-1:-1:-1;;;;;;7067:34:0;::::1;::::0;::::1;::::0;10629:18:1;;7067:45:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7037:75:::0;;-1:-1:-1;7037:75:0;-1:-1:-1;7143:61:0::1;::::0;-1:-1:-1;7037:75:0;7183:7;7037:75;7143:29:::1;:61::i;:::-;7131:73:::0;-1:-1:-1;7226:13:0;;7223:125:::1;;7271:10;::::0;7296:9:::1;::::0;7264:64:::1;::::0;-1:-1:-1;;;7264:64:0;;-1:-1:-1;;;;;7271:10:0;;::::1;::::0;7264:31:::1;::::0;:64:::1;::::0;7296:9;::::1;::::0;7307:10:::1;::::0;7318:9;;7264:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7223:125;7366:63;::::0;-1:-1:-1;;;7366:63:0;;7407:10:::1;7366:63;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;7366:40:0;::::1;::::0;::::1;::::0;5855:18:1;;7366:63:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6924:3;;;;;:::i;:::-;;;;6905:540;;;;6699:757;;;;;6688:768;-1:-1:-1::0;;2717:1:0;2706:8;:12;-1:-1:-1;6255:1208:0:o;5445:802::-;2631:8;;2643:1;2631:13;2623:37;;;;-1:-1:-1;;;2623:37:0;;;;;;;:::i;:::-;2682:1;2671:8;:12;;;5570:7;;5552:41:::1;::::0;-1:-1:-1;;;5552:41:0;;-1:-1:-1;;;;;4967:32:1;;;5552:41:0::1;::::0;::::1;4949:51:1::0;5570:7:0;;::::1;::::0;5552:34:::1;::::0;4922:18:1;;5552:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5537:56:::0;-1:-1:-1;;;;;;5612:18:0;::::1;5604:58;;;;-1:-1:-1::0;;;5604:58:0::1;;;;;;;:::i;:::-;5681:43;::::0;-1:-1:-1;;;5681:43:0;;::::1;::::0;::::1;10656:25:1::0;;;5728:10:0::1;::::0;-1:-1:-1;;;;;5681:32:0;::::1;::::0;::::1;::::0;10629:18:1;;5681:43:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5681:57:0::1;;5673:117;;;::::0;-1:-1:-1;;;5673:117:0;;10296:2:1;5673:117:0::1;::::0;::::1;10278:21:1::0;10335:2;10315:18;;;10308:30;10374:34;10354:18;;;10347:62;-1:-1:-1;;;10425:18:1;;;10418:45;10480:19;;5673:117:0::1;10094:411:1::0;5673:117:0::1;5848:45;::::0;-1:-1:-1;;;5848:45:0;;::::1;::::0;::::1;10656:25:1::0;;;5807:16:0::1;::::0;;;-1:-1:-1;;;;;5848:34:0;::::1;::::0;::::1;::::0;10629:18:1;;5848:45:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5804:89;;;;;5904:14;5946:7;5928:15;:25;;;;:::i;:::-;5904:50;;5965:17;5985:61;6015:9;6025:7;6033:12;5985:29;:61::i;:::-;5965:81:::0;-1:-1:-1;6060:13:0;;6057:109:::1;;6097:10;::::0;6122:9:::1;::::0;6090:64:::1;::::0;-1:-1:-1;;;6090:64:0;;-1:-1:-1;;;;;6097:10:0;;::::1;::::0;6090:31:::1;::::0;:64:::1;::::0;6122:9;::::1;::::0;6133:10:::1;::::0;6144:9;;6090:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6057:109;6176:63;::::0;-1:-1:-1;;;6176:63:0;;6217:10:::1;6176:63;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;6176:40:0;::::1;::::0;::::1;::::0;5855:18:1;;6176:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2717:1:0;2706:8;:12;-1:-1:-1;;;;;;;;;5445:802:0:o;7808:607::-;7935:14;7998:7;;7980:41;;-1:-1:-1;;;7980:41:0;;-1:-1:-1;;;;;4967:32:1;;;7980:41:0;;;4949:51:1;7935:14:0;;7998:7;;7980:34;;4922:18:1;;7980:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7965:56;-1:-1:-1;;;;;;8044:18:0;;8036:58;;;;-1:-1:-1;;;8036:58:0;;;;;;;:::i;:::-;8155:45;;-1:-1:-1;;;8155:45:0;;;;;10656:25:1;;;8114:16:0;;;;-1:-1:-1;;;;;8155:34:0;;;;;10629:18:1;;8155:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8111:89;;-1:-1:-1;8111:89:0;-1:-1:-1;;8220:13:0;;;;8217:191;;8253:14;8277:25;8295:7;8277:15;:25;:::i;:::-;8253:50;;8331:61;8361:9;8371:7;8379:12;8331:29;:61::i;:::-;8322:70;;8234:174;8217:191;7950:465;;;7808:607;;;;:::o;3419:779::-;2631:8;;2643:1;2631:13;2623:37;;;;-1:-1:-1;;;2623:37:0;;;;;;;:::i;:::-;2682:1;2671:8;:12;;;3538:7;;3520:41:::1;::::0;-1:-1:-1;;;3520:41:0;;-1:-1:-1;;;;;4967:32:1;;;3520:41:0::1;::::0;::::1;4949:51:1::0;3538:7:0;;::::1;::::0;3520:34:::1;::::0;4922:18:1;;3520:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3505:56:::0;-1:-1:-1;;;;;;3580:18:0;::::1;3572:58;;;;-1:-1:-1::0;;;3572:58:0::1;;;;;;;:::i;:::-;3649:43;::::0;-1:-1:-1;;;3649:43:0;;::::1;::::0;::::1;10656:25:1::0;;;3696:10:0::1;::::0;-1:-1:-1;;;;;3649:32:0;::::1;::::0;::::1;::::0;10629:18:1;;3649:43:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3649:57:0::1;;3641:121;;;::::0;-1:-1:-1;;;3641:121:0;;9448:2:1;3641:121:0::1;::::0;::::1;9430:21:1::0;9487:2;9467:18;;;9460:30;9526:34;9506:18;;;9499:62;-1:-1:-1;;;9577:18:1;;;9570:49;9636:19;;3641:121:0::1;9246:415:1::0;3641:121:0::1;3814:45;::::0;-1:-1:-1;;;3814:45:0;;::::1;::::0;::::1;10656:25:1::0;;;3779:16:0::1;::::0;;;-1:-1:-1;;;;;3814:34:0;::::1;::::0;::::1;::::0;10629:18:1;;3814:45:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3776:83;;;;;3870:14;3912:7;3894:15;:25;;;;:::i;:::-;3870:50;;3931:17;3951:55;3981:9;3991:7;3999:6;3951:29;:55::i;:::-;3931:75:::0;-1:-1:-1;4020:13:0;;4017:109:::1;;4057:10;::::0;4082:9:::1;::::0;4050:64:::1;::::0;-1:-1:-1;;;4050:64:0;;-1:-1:-1;;;;;4057:10:0;;::::1;::::0;4050:31:::1;::::0;:64:::1;::::0;4082:9;::::1;::::0;4093:10:::1;::::0;4104:9;;4050:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4017:109;4138:52;::::0;-1:-1:-1;;;4138:52:0;;4168:10:::1;4138:52;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;4138:29:0;::::1;::::0;::::1;::::0;5855:18:1;;4138:52:0::1;5700:282:1::0;4206:1231:0;2631:8;;2643:1;2631:13;2623:37;;;;-1:-1:-1;;;2623:37:0;;;;;;;:::i;:::-;2682:1;2671:8;:12;;;4309:7;;4291:41:::1;::::0;-1:-1:-1;;;4291:41:0;;-1:-1:-1;;;;;4967:32:1;;;4291:41:0::1;::::0;::::1;4949:51:1::0;4309:7:0;;::::1;::::0;4291:34:::1;::::0;4922:18:1;;4291:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4276:56:::0;-1:-1:-1;;;;;;4351:18:0;::::1;4343:58;;;;-1:-1:-1::0;;;4343:58:0::1;;;;;;;:::i;:::-;4420:67;::::0;-1:-1:-1;;;4420:67:0;;4462:10:::1;4420:67;::::0;::::1;5223:34:1::0;4481:4:0::1;5273:18:1::0;;;5266:43;-1:-1:-1;;;;;4420:41:0;::::1;::::0;::::1;::::0;5158:18:1;;4420:67:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4412:139;;;;-1:-1:-1::0;;;4412:139:0::1;;;;;;;:::i;:::-;4576:46;::::0;-1:-1:-1;;;4576:46:0;;4611:10:::1;4576:46;::::0;::::1;4949:51:1::0;4565:8:0::1;::::0;-1:-1:-1;;;;;4576:34:0;::::1;::::0;::::1;::::0;4922:18:1;;4576:46:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4565:57:::0;-1:-1:-1;4636:7:0;;4633:797:::1;;4659:17;::::0;;4747:25:::1;4765:7;4747:15;:25;:::i;:::-;4723:50:::0;-1:-1:-1;4789:21:0::1;::::0;;;4875:544:::1;4890:3;4888:1;:5;4875:544;;;4929:59;::::0;-1:-1:-1;;;4929:59:0;;4974:10:::1;4929:59;::::0;::::1;5882:51:1::0;4986:1:0::1;5949:18:1::0;;;5942:34;-1:-1:-1;;;;;4929:44:0;::::1;::::0;::::1;::::0;5855:18:1;;4929:59:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5052:45;::::0;-1:-1:-1;;;5052:45:0;;::::1;::::0;::::1;10656:25:1::0;;;4917:71:0;;-1:-1:-1;;;;;;5052:34:0;::::1;::::0;::::1;::::0;10629:18:1;;5052:45:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5008:89:::0;;-1:-1:-1;5008:89:0;-1:-1:-1;5008:89:0;-1:-1:-1;5128:61:0::1;5008:89:::0;5168:7;5008:89;5128:29:::1;:61::i;:::-;5116:73:::0;-1:-1:-1;5211:13:0;;5208:125:::1;;5256:10;::::0;5281:9:::1;::::0;5249:64:::1;::::0;-1:-1:-1;;;5249:64:0;;-1:-1:-1;;;;;5256:10:0;;::::1;::::0;5249:31:::1;::::0;:64:::1;::::0;5281:9;::::1;::::0;5292:10:::1;::::0;5303:9;;5249:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5208:125;5351:52;::::0;-1:-1:-1;;;5351:52:0;;5381:10:::1;5351:52;::::0;::::1;5882:51:1::0;5949:18;;;5942:34;;;-1:-1:-1;;;;;5351:29:0;::::1;::::0;::::1;::::0;5855:18:1;;5351:52:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4894:3;;;;;:::i;:::-;;;;4875:544;;;;4644:786;;;;;;-1:-1:-1::0;;2717:1:0;2706:8;:12;-1:-1:-1;4206:1231:0:o;11767:196::-;11866:19;11912:43;11922:10;11912:43;;11933:21;11937:7;11933:21;;11945:8;11933:21;;:3;:21::i;:::-;11912:9;:43::i;:::-;11898:57;11767:196;-1:-1:-1;;;;11767:196:0:o;11119:98::-;11177:7;11204:5;11208:1;11204;:5;:::i;11593:166::-;11667:9;11693:21;11697:9;11707:6;11693:3;:21::i;:::-;11689:25;;11729:22;11733:1;10992:12;11729:3;:22::i;11225:98::-;11283:7;11310:5;11314:1;11310;:5;:::i;11331:98::-;11389:7;11416:5;11420:1;11416;:5;:::i;14:167:1:-;92:13;;145:10;134:22;;124:33;;114:61;;171:1;168;161:12;114:61;14:167;;;:::o;186:247::-;245:6;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;353:9;340:23;372:31;397:5;372:31;:::i;438:251::-;508:6;561:2;549:9;540:7;536:23;532:32;529:52;;;577:1;574;567:12;529:52;609:9;603:16;628:31;653:5;628:31;:::i;694:388::-;762:6;770;823:2;811:9;802:7;798:23;794:32;791:52;;;839:1;836;829:12;791:52;878:9;865:23;897:31;922:5;897:31;:::i;:::-;947:5;-1:-1:-1;1004:2:1;989:18;;976:32;1017:33;976:32;1017:33;:::i;:::-;1069:7;1059:17;;;694:388;;;;;:::o;1087:315::-;1155:6;1163;1216:2;1204:9;1195:7;1191:23;1187:32;1184:52;;;1232:1;1229;1222:12;1184:52;1271:9;1258:23;1290:31;1315:5;1290:31;:::i;:::-;1340:5;1392:2;1377:18;;;;1364:32;;-1:-1:-1;;;1087:315:1:o;1407:277::-;1474:6;1527:2;1515:9;1506:7;1502:23;1498:32;1495:52;;;1543:1;1540;1533:12;1495:52;1575:9;1569:16;1628:5;1621:13;1614:21;1607:5;1604:32;1594:60;;1650:1;1647;1640:12;1689:884;1769:6;1822:2;1810:9;1801:7;1797:23;1793:32;1790:52;;;1838:1;1835;1828:12;1790:52;1871:9;1865:16;1900:18;1941:2;1933:6;1930:14;1927:34;;;1957:1;1954;1947:12;1927:34;1995:6;1984:9;1980:22;1970:32;;2040:7;2033:4;2029:2;2025:13;2021:27;2011:55;;2062:1;2059;2052:12;2011:55;2091:2;2085:9;2113:2;2109;2106:10;2103:36;;;2119:18;;:::i;:::-;2194:2;2188:9;2162:2;2248:13;;-1:-1:-1;;2244:22:1;;;2268:2;2240:31;2236:40;2224:53;;;2292:18;;;2312:22;;;2289:46;2286:72;;;2338:18;;:::i;:::-;2378:10;2374:2;2367:22;2413:2;2405:6;2398:18;2453:7;2448:2;2443;2439;2435:11;2431:20;2428:33;2425:53;;;2474:1;2471;2464:12;2425:53;2487:55;2539:2;2534;2526:6;2522:15;2517:2;2513;2509:11;2487:55;:::i;:::-;2561:6;1689:884;-1:-1:-1;;;;;;;1689:884:1:o;2578:184::-;2648:6;2701:2;2689:9;2680:7;2676:23;2672:32;2669:52;;;2717:1;2714;2707:12;2669:52;-1:-1:-1;2740:16:1;;2578:184;-1:-1:-1;2578:184:1:o;2767:372::-;2852:6;2860;2868;2921:2;2909:9;2900:7;2896:23;2892:32;2889:52;;;2937:1;2934;2927:12;2889:52;2960:39;2989:9;2960:39;:::i;:::-;2950:49;;3018:48;3062:2;3051:9;3047:18;3018:48;:::i;:::-;3008:58;;3085:48;3129:2;3118:9;3114:18;3085:48;:::i;:::-;3075:58;;2767:372;;;;;:::o;3144:448::-;3194:3;3232:5;3226:12;3259:6;3254:3;3247:19;3285:4;3314:2;3309:3;3305:12;3298:19;;3351:2;3344:5;3340:14;3372:1;3382:185;3396:6;3393:1;3390:13;3382:185;;;3471:13;;3464:21;3457:29;3445:42;;3507:12;;;;3542:15;;;;3418:1;3411:9;3382:185;;;-1:-1:-1;3583:3:1;;3144:448;-1:-1:-1;;;;;3144:448:1:o;3597:761::-;3649:3;3687:5;3681:12;3714:6;3709:3;3702:19;3740:4;3769:2;3764:3;3760:12;3753:19;;3794:3;3834:6;3831:1;3827:14;3822:3;3818:24;3876:2;3869:5;3865:14;3897:1;3907:425;3921:6;3918:1;3915:13;3907:425;;;3992:5;3986:4;3982:16;3977:3;3970:29;4028:6;4022:13;4070:2;4064:9;4099:8;4093:4;4086:22;4121:59;4171:8;4166:2;4160:4;4156:13;4151:2;4147;4143:11;4121:59;:::i;:::-;4310:12;;;;4242:2;4219:17;-1:-1:-1;;4215:31:1;4205:42;;;;4201:51;;;-1:-1:-1;4275:15:1;;;;3943:1;3936:9;3907:425;;;-1:-1:-1;4348:4:1;;3597:761;-1:-1:-1;;;;;;;3597:761:1:o;4363:435::-;4416:3;4454:5;4448:12;4481:6;4476:3;4469:19;4507:4;4536:2;4531:3;4527:12;4520:19;;4573:2;4566:5;4562:14;4594:1;4604:169;4618:6;4615:1;4612:13;4604:169;;;4679:13;;4667:26;;4713:12;;;;4748:15;;;;4640:1;4633:9;4604:169;;5320:375;-1:-1:-1;;;;;5578:15:1;;;5560:34;;5630:15;;;;5625:2;5610:18;;5603:43;5677:2;5662:18;;5655:34;;;;5510:2;5495:18;;5320:375::o;6561:679::-;6910:2;6899:9;6892:21;6873:4;6936:56;6988:2;6977:9;6973:18;6965:6;6936:56;:::i;:::-;7040:9;7032:6;7028:22;7023:2;7012:9;7008:18;7001:50;7074:43;7110:6;7102;7074:43;:::i;:::-;7060:57;;7165:9;7157:6;7153:22;7148:2;7137:9;7133:18;7126:50;7193:41;7227:6;7219;7193:41;:::i;:::-;7185:49;6561:679;-1:-1:-1;;;;;;6561:679:1:o;7245:885::-;7672:3;7661:9;7654:22;7635:4;7699:57;7751:3;7740:9;7736:19;7728:6;7699:57;:::i;:::-;7804:9;7796:6;7792:22;7787:2;7776:9;7772:18;7765:50;7838:43;7874:6;7866;7838:43;:::i;:::-;7824:57;;7929:9;7921:6;7917:22;7912:2;7901:9;7897:18;7890:50;7963:44;8000:6;7992;7963:44;:::i;:::-;7949:58;;8055:9;8047:6;8043:22;8038:2;8027:9;8023:18;8016:50;8083:41;8117:6;8109;8083:41;:::i;8550:351::-;8752:2;8734:21;;;8791:2;8771:18;;;8764:30;8830:29;8825:2;8810:18;;8803:57;8892:2;8877:18;;8550:351::o;8906:335::-;9108:2;9090:21;;;9147:2;9127:18;;;9120:30;-1:-1:-1;;;9181:2:1;9166:18;;9159:41;9232:2;9217:18;;8906:335::o;9666:423::-;9868:2;9850:21;;;9907:2;9887:18;;;9880:30;9946:34;9941:2;9926:18;;9919:62;10017:29;10012:2;9997:18;;9990:57;10079:3;10064:19;;9666:423::o;10692:120::-;10732:1;10758;10748:35;;10763:18;;:::i;:::-;-1:-1:-1;10797:9:1;;10692:120::o;10817:168::-;10857:7;10923:1;10919;10915:6;10911:14;10908:1;10905:21;10900:1;10893:9;10886:17;10882:45;10879:71;;;10930:18;;:::i;:::-;-1:-1:-1;10970:9:1;;10817:168::o;10990:125::-;11030:4;11058:1;11055;11052:8;11049:34;;;11063:18;;:::i;:::-;-1:-1:-1;11100:9:1;;10990:125::o;11120:258::-;11192:1;11202:113;11216:6;11213:1;11210:13;11202:113;;;11292:11;;;11286:18;11273:11;;;11266:39;11238:2;11231:10;11202:113;;;11333:6;11330:1;11327:13;11324:48;;;11368:1;11359:6;11354:3;11350:16;11343:27;11324:48;;11120:258;;;:::o;11383:135::-;11422:3;-1:-1:-1;;11443:17:1;;11440:43;;;11463:18;;:::i;:::-;-1:-1:-1;11510:1:1;11499:13;;11383:135::o;11523:201::-;11561:3;11589:10;11634:2;11627:5;11623:14;11661:2;11652:7;11649:15;11646:41;;;11667:18;;:::i;:::-;11716:1;11703:15;;11523:201;-1:-1:-1;;;11523:201:1:o;11729:112::-;11761:1;11787;11777:35;;11792:18;;:::i;:::-;-1:-1:-1;11826:9:1;;11729:112::o;11846:127::-;11907:10;11902:3;11898:20;11895:1;11888:31;11938:4;11935:1;11928:15;11962:4;11959:1;11952:15;11978:127;12039:10;12034:3;12030:20;12027:1;12020:31;12070:4;12067:1;12060:15;12094:4;12091:1;12084:15;12110:127;12171:10;12166:3;12162:20;12159:1;12152:31;12202:4;12199:1;12192:15;12226:4;12223:1;12216:15;12242:127;12303:10;12298:3;12294:20;12291:1;12284:31;12334:4;12331:1;12324:15;12358:4;12355:1;12348:15;12374:131;-1:-1:-1;;;;;12449:31:1;;12439:42;;12429:70;;12495:1;12492;12485:12;12429:70;12374:131;:::o
Swarm Source
ipfs://f1ca3189c42f67084f83d5c20a71100da7269143b4b54c84ddc0e649957f0fa9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.