More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x3cf1de883f8733cedbc40b26e6f30331254cd5d0af29039f6592de5cab92426e | Buy Token | (pending) | 4 days ago | IN | 0.003 ETH | (Pending) | |||
Claim Tokens | 21963640 | 10 days ago | IN | 0 ETH | 0.00010857 | ||||
Claim Tokens | 21940931 | 13 days ago | IN | 0 ETH | 0.00009426 | ||||
Claim Tokens | 21938653 | 13 days ago | IN | 0 ETH | 0.00016763 | ||||
Claim Tokens | 21837952 | 27 days ago | IN | 0 ETH | 0.00016748 | ||||
Claim Tokens | 21778585 | 35 days ago | IN | 0 ETH | 0.00018275 | ||||
Claim Tokens | 21770208 | 37 days ago | IN | 0 ETH | 0.00032395 | ||||
Claim Tokens | 21715688 | 44 days ago | IN | 0 ETH | 0.00043934 | ||||
Claim Tokens | 21709680 | 45 days ago | IN | 0 ETH | 0.00071023 | ||||
Claim Tokens | 21695833 | 47 days ago | IN | 0 ETH | 0.00124655 | ||||
Claim Tokens | 21655168 | 53 days ago | IN | 0 ETH | 0.00141658 | ||||
Claim Tokens | 21654525 | 53 days ago | IN | 0 ETH | 0.00082752 | ||||
Claim Tokens | 21647179 | 54 days ago | IN | 0 ETH | 0.00087722 | ||||
Claim Tokens | 21625897 | 57 days ago | IN | 0 ETH | 0.00033831 | ||||
Claim Tokens | 21622689 | 57 days ago | IN | 0 ETH | 0.0007445 | ||||
Claim Tokens | 21580113 | 63 days ago | IN | 0 ETH | 0.00102528 | ||||
Claim Tokens | 21574337 | 64 days ago | IN | 0 ETH | 0.00093159 | ||||
Claim Tokens | 21538306 | 69 days ago | IN | 0 ETH | 0.00126014 | ||||
Claim Tokens | 21465903 | 79 days ago | IN | 0 ETH | 0.00220558 | ||||
Claim Tokens | 21446427 | 82 days ago | IN | 0 ETH | 0.00109372 | ||||
Claim Tokens | 21415851 | 86 days ago | IN | 0 ETH | 0.00215565 | ||||
Claim Tokens | 21371806 | 92 days ago | IN | 0 ETH | 0.00128924 | ||||
Claim Tokens | 21342092 | 96 days ago | IN | 0 ETH | 0.00118797 | ||||
Claim Tokens | 21322071 | 99 days ago | IN | 0 ETH | 0.00184165 | ||||
Claim Tokens | 21315777 | 100 days ago | IN | 0 ETH | 0.00294642 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|---|
Transfer* | 21963640 | 10 days ago | 0 ETH | |||||
Transfer* | 21940931 | 13 days ago | 0 ETH | |||||
Transfer* | 21938653 | 13 days ago | 0 ETH | |||||
Transfer* | 21837952 | 27 days ago | 0 ETH | |||||
Transfer* | 21778585 | 35 days ago | 0 ETH | |||||
Transfer* | 21770208 | 37 days ago | 0 ETH | |||||
Transfer* | 21715688 | 44 days ago | 0 ETH | |||||
Transfer* | 21709680 | 45 days ago | 0 ETH | |||||
Transfer* | 21695833 | 47 days ago | 0 ETH | |||||
Transfer* | 21655168 | 53 days ago | 0 ETH | |||||
Transfer* | 21654525 | 53 days ago | 0 ETH | |||||
Transfer* | 21647179 | 54 days ago | 0 ETH | |||||
Transfer* | 21625897 | 57 days ago | 0 ETH | |||||
Transfer* | 21622689 | 57 days ago | 0 ETH | |||||
Transfer* | 21580113 | 63 days ago | 0 ETH | |||||
Transfer* | 21574337 | 64 days ago | 0 ETH | |||||
Transfer* | 21538306 | 69 days ago | 0 ETH | |||||
Transfer* | 21465903 | 79 days ago | 0 ETH | |||||
Transfer* | 21446427 | 82 days ago | 0 ETH | |||||
Transfer* | 21415851 | 86 days ago | 0 ETH | |||||
Transfer* | 21371806 | 92 days ago | 0 ETH | |||||
Transfer* | 21342092 | 96 days ago | 0 ETH | |||||
Transfer* | 21322071 | 99 days ago | 0 ETH | |||||
Transfer* | 21315777 | 100 days ago | 0 ETH | |||||
Transfer* | 21314215 | 100 days ago | 0 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x04A2C10E...Ae3Edb3c5 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Presale
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-27 */ /** *Submitted for verification at Etherscan.io on 2024-02-24 */ //SPDX-License-Identifier: MIT Licensed pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor(address _newOwner) { _transferOwnership(_newOwner); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { 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 owner) external view returns (uint256); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 value) external; function transfer(address to, uint256 value) external; function transferFrom(address from, address to, uint256 value) external; event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); } interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); function getRoundData( uint80 _roundId ) external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); function latestRoundData() external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); } contract Presale is Ownable { IERC20 public mainToken; IERC20 public USDT = IERC20(0xdAC17F958D2ee523a2206206994597C13D831ec7); AggregatorV3Interface public priceFeed; struct Phase { uint256 tokensToSell; uint256 totalSoldTokens; uint256 tokenPerUsdPrice; } mapping(uint256 => Phase) public phases; uint256 public totalStages; uint256 public currentStage; uint256 public totalUsers; uint256 public soldToken; uint256 public amountRaised; uint256 public amountRaisedUSDT; address payable public fundReceiver; uint256 tokenDecimals; uint256[] tokensToSell; uint256[] tokenPerUsdPrice; bool public presaleStatus; bool public isPresaleEnded; address[] public UsersAddresses; mapping(address => bool) public oldBuyer; struct User { uint256 native_balance; uint256 usdt_balance; uint256 token_balance; uint256 claimed_tokens; } mapping(address => User) public users; struct Transaction { uint256 trxAt; uint256 presaleId; uint256 buyAmount; uint256 tokenAmount; bool isEther; } struct TopBuyer { address userAddress; uint256 tokenAmount; } TopBuyer[3] public topBuyersData; Transaction[] public transactionsHistory; event BuyToken(address indexed _user, uint256 indexed _amount); event ClaimToken(address indexed _user, uint256 indexed _amount); event UpdatePrice(uint256 _oldPrice, uint256 _newPrice); constructor(IERC20 _token, address _fundReceiver) Ownable(msg.sender) { mainToken = _token; fundReceiver = payable(_fundReceiver); priceFeed = AggregatorV3Interface( 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 ); tokenDecimals = mainToken.decimals(); tokensToSell = [ 250_000_000 * 10 ** tokenDecimals, 250_000_000 * 10 ** tokenDecimals, 250_000_000 * 10 ** tokenDecimals, 250_000_000 * 10 ** tokenDecimals, 250_000_000 * 10 ** tokenDecimals, 250_000_000 * 10 ** tokenDecimals ]; tokenPerUsdPrice = [ 2500 * (10 ** tokenDecimals), 2000 * (10 ** tokenDecimals), 1666 * (10 ** tokenDecimals), 1428 * (10 ** tokenDecimals), 1250 * (10 ** tokenDecimals), 1111 * (10 ** tokenDecimals) ]; for (uint256 i = 0; i < tokensToSell.length; i++) { phases[i].tokensToSell = tokensToSell[i]; phases[i].tokenPerUsdPrice = tokenPerUsdPrice[i]; } totalStages = tokensToSell.length; } // to get real time price of BNB function getLatestPrice() public view returns (uint256) { (, int256 price, , , ) = priceFeed.latestRoundData(); return uint256(price); } // to buy token during preSale time with BNB => for web3 use function buyToken() public payable { require(!isPresaleEnded, "Presale ended!"); require(presaleStatus, " Presale is Paused, check back later"); if (!oldBuyer[msg.sender]) { totalUsers += 1; UsersAddresses.push(msg.sender); } fundReceiver.transfer(msg.value); uint256 numberOfTokens; numberOfTokens = nativeToToken(msg.value, currentStage); require( phases[currentStage].totalSoldTokens + numberOfTokens <= phases[currentStage].tokensToSell, "Phase Limit Reached" ); soldToken = soldToken + (numberOfTokens); amountRaised = amountRaised + BnbToUsd(msg.value); users[msg.sender].native_balance = users[msg.sender].native_balance + (msg.value); users[msg.sender].token_balance = users[msg.sender].token_balance + (numberOfTokens); phases[currentStage].totalSoldTokens += numberOfTokens; oldBuyer[msg.sender] = true; updateTopBuyerData(msg.sender, users[msg.sender].token_balance); updateTransactionHistory(currentStage, msg.value, numberOfTokens, true); } // to buy token during preSale time with USDT => for web3 use function buyTokenUSDT(uint256 amount) public { require(!isPresaleEnded, "Presale ended!"); require(presaleStatus, " Presale is Paused, check back later"); if (!oldBuyer[msg.sender]) { totalUsers += 1; UsersAddresses.push(msg.sender); } USDT.transferFrom(msg.sender, fundReceiver, amount); uint256 numberOfTokens; numberOfTokens = usdtToToken(amount, currentStage); require( phases[currentStage].totalSoldTokens + numberOfTokens <= phases[currentStage].tokensToSell, "Phase Limit Reached" ); soldToken = soldToken + numberOfTokens; amountRaisedUSDT = amountRaisedUSDT + amount; users[msg.sender].usdt_balance += amount; users[msg.sender].token_balance = users[msg.sender].token_balance + numberOfTokens; phases[currentStage].totalSoldTokens += numberOfTokens; oldBuyer[msg.sender] = true; updateTopBuyerData(msg.sender, users[msg.sender].token_balance); updateTransactionHistory(currentStage, amount, numberOfTokens, false); } function updateTopBuyerData(address _user, uint256 _tokenAmount) internal { // Check if the user is already in the top buyers for (uint256 i = 0; i < topBuyersData.length; i++) { if (_user == topBuyersData[i].userAddress) { topBuyersData[i].tokenAmount = _tokenAmount; return; } } for (uint256 i = 0; i < topBuyersData.length; i++) { if (_tokenAmount > topBuyersData[i].tokenAmount) { for (uint256 j = topBuyersData.length - 1; j > i; j--) { topBuyersData[j] = topBuyersData[j - 1]; } topBuyersData[i] = TopBuyer(_user, _tokenAmount); break; } } } function updateTransactionHistory( uint256 _presaleId, uint256 _buyAmount, uint256 _noOfTokens, bool _isEthTrx ) internal { Transaction memory newTransaction = Transaction( block.timestamp, _presaleId, _buyAmount, _noOfTokens, _isEthTrx ); transactionsHistory.push(newTransaction); if (transactionsHistory.length > 20) { for (uint256 i = 0; i < transactionsHistory.length - 1; i++) { transactionsHistory[i] = transactionsHistory[i + 1]; } transactionsHistory.pop(); } } function claimTokens() external { require(isPresaleEnded, "Presale has not ended yet"); User storage user = users[msg.sender]; require(user.token_balance > 0, "No tokens purchased"); uint256 claimableTokens = user.token_balance - user.claimed_tokens; require(claimableTokens > 0, "No tokens to claim"); user.claimed_tokens += claimableTokens; mainToken.transfer(msg.sender, claimableTokens); emit ClaimToken(msg.sender, claimableTokens); } function getPhaseDetail( uint256 phaseInd ) external view returns (uint256 tokenToSell, uint256 soldTokens, uint256 priceUsd) { Phase memory phase = phases[phaseInd]; return ( phase.tokensToSell, phase.totalSoldTokens, phase.tokenPerUsdPrice ); } function setPresaleStatus(bool _status) external onlyOwner { presaleStatus = _status; } function endPresale() external onlyOwner { isPresaleEnded = true; } // to check number of token for given BNB function nativeToToken( uint256 _amount, uint256 phaseId ) public view returns (uint256) { uint256 bnbToUsd = (_amount * (getLatestPrice())) / (1 ether); uint256 numberOfTokens = (bnbToUsd * phases[phaseId].tokenPerUsdPrice) / (1e8); return numberOfTokens; } // BNB to USD function BnbToUsd(uint256 _amount) public view returns (uint256) { uint256 bnbToUsd = (_amount * (getLatestPrice())) / (1e8); return bnbToUsd; } // to check number of token for given usdt function usdtToToken( uint256 _amount, uint256 phaseId ) public view returns (uint256) { uint256 numberOfTokens = (_amount * phases[phaseId].tokenPerUsdPrice) / (10 ** USDT.decimals()); return numberOfTokens; } function updateInfos( uint256 _sold, uint256 _raised, uint256 _raisedInUsdt ) external onlyOwner { soldToken = _sold; amountRaised = _raised; amountRaisedUSDT = _raisedInUsdt; } // change tokens function updateToken(address _token) external onlyOwner { mainToken = IERC20(_token); } function whitelistEthAddresses( address[] memory _addresses, uint256[] memory _tokenAmount ) external onlyOwner { require( _addresses.length == _tokenAmount.length, "Addresses and amounts must be equal" ); for (uint256 i = 0; i < _addresses.length; i++) { users[_addresses[i]].token_balance += _tokenAmount[i]; } } //change tokens for buy function updateStableTokens(IERC20 _USDT) external onlyOwner { USDT = IERC20(_USDT); } // to withdraw funds for liquidity function initiateTransfer(uint256 _value) external onlyOwner { fundReceiver.transfer(_value); } function totalUsersCount() external view returns (uint256) { return UsersAddresses.length; } // to withdraw funds for liquidity function changeFundReciever(address _addr) external onlyOwner { fundReceiver = payable(_addr); } // to withdraw funds for liquidity function updatePriceFeed( AggregatorV3Interface _priceFeed ) external onlyOwner { priceFeed = _priceFeed; } // funtion is used to change the stage of presale function setCurrentPhase(uint256 _stageNum) public onlyOwner { currentStage = _stageNum; } // to withdraw out tokens function transferStuckTokens( IERC20 token, uint256 _value ) external onlyOwner { token.transfer(msg.sender, _value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"_fundReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BuyToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ClaimToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_oldPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"UpdatePrice","type":"event"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BnbToUsd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDT","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"UsersAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountRaisedUSDT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyTokenUSDT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"changeFundReciever","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentStage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLatestPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"phaseInd","type":"uint256"}],"name":"getPhaseDetail","outputs":[{"internalType":"uint256","name":"tokenToSell","type":"uint256"},{"internalType":"uint256","name":"soldTokens","type":"uint256"},{"internalType":"uint256","name":"priceUsd","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"initiateTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPresaleEnded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"phaseId","type":"uint256"}],"name":"nativeToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oldBuyer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"phases","outputs":[{"internalType":"uint256","name":"tokensToSell","type":"uint256"},{"internalType":"uint256","name":"totalSoldTokens","type":"uint256"},{"internalType":"uint256","name":"tokenPerUsdPrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceFeed","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stageNum","type":"uint256"}],"name":"setCurrentPhase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setPresaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"soldToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"topBuyersData","outputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUsersCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"transactionsHistory","outputs":[{"internalType":"uint256","name":"trxAt","type":"uint256"},{"internalType":"uint256","name":"presaleId","type":"uint256"},{"internalType":"uint256","name":"buyAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"bool","name":"isEther","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sold","type":"uint256"},{"internalType":"uint256","name":"_raised","type":"uint256"},{"internalType":"uint256","name":"_raisedInUsdt","type":"uint256"}],"name":"updateInfos","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract AggregatorV3Interface","name":"_priceFeed","type":"address"}],"name":"updatePriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_USDT","type":"address"}],"name":"updateStableTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"updateToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"phaseId","type":"uint256"}],"name":"usdtToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"native_balance","type":"uint256"},{"internalType":"uint256","name":"usdt_balance","type":"uint256"},{"internalType":"uint256","name":"token_balance","type":"uint256"},{"internalType":"uint256","name":"claimed_tokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_tokenAmount","type":"uint256[]"}],"name":"whitelistEthAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x6080604052600436106102465760003560e01c80638895283f11610139578063c54e44eb116100b6578063dec11f6e1161007a578063dec11f6e14610843578063e00e061214610880578063e9238daf146108bd578063f2fde38b146108fa578063f86a352914610923578063fb4aa0a11461094e57610246565b8063c54e44eb1461074a578063c63368be14610775578063cb33365d1461079e578063d0e64b48146107db578063db203b7f1461081857610246565b8063a4821719116100fd578063a482171914610681578063a87430ba1461068b578063acfb2355146106cb578063b5e75e1c146106f6578063bff1f9e11461071f57610246565b80638895283f146105c25780638da5cb5b146105eb5780638e15f4731461061657806395877f7814610641578063a43be57b1461066a57610246565b80635bf5d54c116101c7578063741bef1a1161018b578063741bef1a146104ef5780637ad3def21461051a5780637b3e5e7b146105435780637d3e1ee41461056e5780637decf27f1461059757610246565b80635bf5d54c146104305780635cc8ca461461045b57806361a31e00146104845780636769d1f9146104ad578063715018a6146104d857610246565b80633fc15f151161020e5780633fc15f151461035c578063400e5fbf14610387578063405fb944146103c557806348c54b9d146103f057806353a29ad21461040757610246565b806322035d561461024b5780632d2fbfd4146102745780632e37eef6146102b357806330013a32146102f25780633cfb952014610333575b600080fd5b34801561025757600080fd5b50610272600480360381019061026d9190612bd8565b610979565b005b34801561028057600080fd5b5061029b60048036038101906102969190612c50565b610aea565b6040516102aa93929190612c8c565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612c50565b610b4b565b6040516102e993929190612c8c565b60405180910390f35b3480156102fe57600080fd5b5061031960048036038101906103149190612c50565b610b75565b60405161032a959493929190612cde565b60405180910390f35b34801561033f57600080fd5b5061035a60048036038101906103559190612d6f565b610bc8565b005b34801561036857600080fd5b50610371610cb5565b60405161037e9190612e0e565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190612c50565b610cdb565b6040516103bc929190612e38565b60405180910390f35b3480156103d157600080fd5b506103da610d25565b6040516103e79190612e61565b60405180910390f35b3480156103fc57600080fd5b50610405610d2b565b005b34801561041357600080fd5b5061042e60048036038101906104299190612e7c565b610f51565b005b34801561043c57600080fd5b50610445611011565b6040516104529190612e61565b60405180910390f35b34801561046757600080fd5b50610482600480360381019061047d9190612ea9565b611017565b005b34801561049057600080fd5b506104ab60048036038101906104a69190612c50565b6110ad565b005b3480156104b957600080fd5b506104c2611195565b6040516104cf9190612e61565b60405180910390f35b3480156104e457600080fd5b506104ed61119b565b005b3480156104fb57600080fd5b50610504611223565b6040516105119190612f1d565b60405180910390f35b34801561052657600080fd5b50610541600480360381019061053c9190612e7c565b611249565b005b34801561054f57600080fd5b50610558611309565b6040516105659190612e61565b60405180910390f35b34801561057a57600080fd5b5061059560048036038101906105909190612c50565b61130f565b005b3480156105a357600080fd5b506105ac611395565b6040516105b99190612f38565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190612f7f565b6113a8565b005b3480156105f757600080fd5b50610600611441565b60405161060d9190612fac565b60405180910390f35b34801561062257600080fd5b5061062b61146a565b6040516106389190612e61565b60405180910390f35b34801561064d57600080fd5b5061066860048036038101906106639190613005565b61150b565b005b34801561067657600080fd5b5061067f6115cb565b005b610689611664565b005b34801561069757600080fd5b506106b260048036038101906106ad9190612e7c565b611b06565b6040516106c29493929190613032565b60405180910390f35b3480156106d757600080fd5b506106e0611b36565b6040516106ed9190612f38565b60405180910390f35b34801561070257600080fd5b5061071d60048036038101906107189190612c50565b611b49565b005b34801561072b57600080fd5b50610734611ff3565b6040516107419190612e61565b60405180910390f35b34801561075657600080fd5b5061075f611ff9565b60405161076c9190612e0e565b60405180910390f35b34801561078157600080fd5b5061079c60048036038101906107979190613077565b61201f565b005b3480156107aa57600080fd5b506107c560048036038101906107c091906130a4565b6120df565b6040516107d29190612e61565b60405180910390f35b3480156107e757600080fd5b5061080260048036038101906107fd9190612c50565b61214a565b60405161080f9190612e61565b60405180910390f35b34801561082457600080fd5b5061082d61217a565b60405161083a9190612e61565b60405180910390f35b34801561084f57600080fd5b5061086a60048036038101906108659190612e7c565b612187565b6040516108779190612f38565b60405180910390f35b34801561088c57600080fd5b506108a760048036038101906108a29190612c50565b6121a7565b6040516108b49190612fac565b60405180910390f35b3480156108c957600080fd5b506108e460048036038101906108df91906130a4565b6121e6565b6040516108f19190612e61565b60405180910390f35b34801561090657600080fd5b50610921600480360381019061091c9190612e7c565b6122be565b005b34801561092f57600080fd5b506109386123b5565b6040516109459190612e61565b60405180910390f35b34801561095a57600080fd5b506109636123bb565b6040516109709190613105565b60405180910390f35b6109816123e1565b73ffffffffffffffffffffffffffffffffffffffff1661099f611441565b73ffffffffffffffffffffffffffffffffffffffff16146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec9061317d565b60405180910390fd5b8051825114610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a309061320f565b60405180910390fd5b60005b8251811015610ae557818181518110610a5857610a5761322f565b5b602002602001015160126000858481518110610a7757610a7661322f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002016000828254610acb919061328d565b925050819055508080610add906132c1565b915050610a3c565b505050565b6000806000806004600086815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250509050806000015181602001518260400151935093509350509193909250565b60046020528060005260406000206000915090508060000154908060010154908060020154905083565b60198181548110610b8557600080fd5b90600052602060002090600502016000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900460ff16905085565b610bd06123e1565b73ffffffffffffffffffffffffffffffffffffffff16610bee611441565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b9061317d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610c7f929190612e38565b600060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60138160038110610ceb57600080fd5b600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b600a5481565b600f60019054906101000a900460ff16610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7190613355565b60405180910390fd5b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816002015411610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906133c1565b60405180910390fd5b600081600301548260020154610e1a91906133e1565b905060008111610e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5690613461565b60405180910390fd5b80826003016000828254610e73919061328d565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610ed7929190612e38565b600060405180830381600087803b158015610ef157600080fd5b505af1158015610f05573d6000803e3d6000fd5b50505050803373ffffffffffffffffffffffffffffffffffffffff167f5d425a3a6a3d5a60fbf147dc6659ce3dfeb701fc44fe90058c32783b8807c57460405160405180910390a35050565b610f596123e1565b73ffffffffffffffffffffffffffffffffffffffff16610f77611441565b73ffffffffffffffffffffffffffffffffffffffff1614610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc49061317d565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b61101f6123e1565b73ffffffffffffffffffffffffffffffffffffffff1661103d611441565b73ffffffffffffffffffffffffffffffffffffffff1614611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108a9061317d565b60405180910390fd5b826008819055508160098190555080600a81905550505050565b6110b56123e1565b73ffffffffffffffffffffffffffffffffffffffff166110d3611441565b73ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111209061317d565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611191573d6000803e3d6000fd5b5050565b60085481565b6111a36123e1565b73ffffffffffffffffffffffffffffffffffffffff166111c1611441565b73ffffffffffffffffffffffffffffffffffffffff1614611217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120e9061317d565b60405180910390fd5b61122160006123e9565b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112516123e1565b73ffffffffffffffffffffffffffffffffffffffff1661126f611441565b73ffffffffffffffffffffffffffffffffffffffff16146112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc9061317d565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095481565b6113176123e1565b73ffffffffffffffffffffffffffffffffffffffff16611335611441565b73ffffffffffffffffffffffffffffffffffffffff161461138b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113829061317d565b60405180910390fd5b8060068190555050565b600f60019054906101000a900460ff1681565b6113b06123e1565b73ffffffffffffffffffffffffffffffffffffffff166113ce611441565b73ffffffffffffffffffffffffffffffffffffffff1614611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b9061317d565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156114da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe919061350e565b5050509150508091505090565b6115136123e1565b73ffffffffffffffffffffffffffffffffffffffff16611531611441565b73ffffffffffffffffffffffffffffffffffffffff1614611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157e9061317d565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6115d36123e1565b73ffffffffffffffffffffffffffffffffffffffff166115f1611441565b73ffffffffffffffffffffffffffffffffffffffff1614611647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163e9061317d565b60405180910390fd5b6001600f60016101000a81548160ff021916908315150217905550565b600f60019054906101000a900460ff16156116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab906135d5565b60405180910390fd5b600f60009054906101000a900460ff16611703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fa90613667565b60405180910390fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117d257600160076000828254611767919061328d565b925050819055506010339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561183a573d6000803e3d6000fd5b506000611849346006546120df565b9050600460006006548152602001908152602001600020600001548160046000600654815260200190815260200160002060010154611888919061328d565b11156118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c0906136d3565b60405180910390fd5b806008546118d7919061328d565b6008819055506118e63461214a565b6009546118f3919061328d565b60098190555034601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611947919061328d565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546119db919061328d565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550806004600060065481526020019081526020016000206001016000828254611a49919061328d565b925050819055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611af433601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ad565b611b0360065434836001612724565b50565b60126020528060005260406000206000915090508060000154908060010154908060020154908060030154905084565b600f60009054906101000a900460ff1681565b600f60019054906101000a900460ff1615611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b90906135d5565b60405180910390fd5b600f60009054906101000a900460ff16611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf90613667565b60405180910390fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb757600160076000828254611c4c919061328d565b925050819055506010339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401611d3893929190613714565b600060405180830381600087803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b505050506000611d78826006546121e6565b9050600460006006548152602001908152602001600020600001548160046000600654815260200190815260200160002060010154611db7919061328d565b1115611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906136d3565b60405180910390fd5b80600854611e06919061328d565b60088190555081600a54611e1a919061328d565b600a8190555081601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254611e72919061328d565b9250508190555080601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611ec7919061328d565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550806004600060065481526020019081526020016000206001016000828254611f35919061328d565b925050819055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fe033601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ad565b611fef60065483836000612724565b5050565b60075481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120276123e1565b73ffffffffffffffffffffffffffffffffffffffff16612045611441565b73ffffffffffffffffffffffffffffffffffffffff161461209b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120929061317d565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080670de0b6b3a76400006120f361146a565b856120fe919061374b565b61210891906137bc565b905060006305f5e100600460008681526020019081526020016000206002015483612133919061374b565b61213d91906137bc565b9050809250505092915050565b6000806305f5e10061215a61146a565b84612165919061374b565b61216f91906137bc565b905080915050919050565b6000601080549050905090565b60116020528060005260406000206000915054906101000a900460ff1681565b601081815481106121b757600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227a9190613826565b600a6122869190613986565b6004600085815260200190815260200160002060020154856122a8919061374b565b6122b291906137bc565b90508091505092915050565b6122c66123e1565b73ffffffffffffffffffffffffffffffffffffffff166122e4611441565b73ffffffffffffffffffffffffffffffffffffffff161461233a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123319061317d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a090613a43565b60405180910390fd5b6123b2816123e9565b50565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60005b600381101561256057601381600381106124cd576124cc61322f565b5b6002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361254d57816013826003811061253c5761253b61322f565b5b600202016001018190555050612720565b8080612558906132c1565b9150506124b0565b5060005b600381101561271e57601381600381106125815761258061322f565b5b600202016001015482111561270b576000600160036125a091906133e1565b90505b8181111561266e5760136001826125ba91906133e1565b600381106125cb576125ca61322f565b5b60020201601382600381106125e3576125e261322f565b5b600202016000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018201548160010155905050808061266690613a63565b9150506125a3565b5060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250601382600381106126ae576126ad61322f565b5b6002020160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505061271e565b8080612716906132c1565b915050612564565b505b5050565b60006040518060a00160405280428152602001868152602001858152602001848152602001831515815250905060198190806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555050506014601980549050111561290d5760005b60016019805490506127ea91906133e1565b8110156128ac576019600182612800919061328d565b815481106128115761281061322f565b5b9060005260206000209060050201601982815481106128335761283261322f565b5b9060005260206000209060050201600082015481600001556001820154816001015560028201548160020155600382015481600301556004820160009054906101000a900460ff168160040160006101000a81548160ff02191690831515021790555090505080806128a4906132c1565b9150506127d8565b5060198054806128bf576128be613a8c565b5b60019003818190600052602060002090600502016000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549060ff0219169055505090555b5050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129768261292d565b810181811067ffffffffffffffff821117156129955761299461293e565b5b80604052505050565b60006129a8612914565b90506129b4828261296d565b919050565b600067ffffffffffffffff8211156129d4576129d361293e565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a15826129ea565b9050919050565b612a2581612a0a565b8114612a3057600080fd5b50565b600081359050612a4281612a1c565b92915050565b6000612a5b612a56846129b9565b61299e565b90508083825260208201905060208402830185811115612a7e57612a7d6129e5565b5b835b81811015612aa75780612a938882612a33565b845260208401935050602081019050612a80565b5050509392505050565b600082601f830112612ac657612ac5612928565b5b8135612ad6848260208601612a48565b91505092915050565b600067ffffffffffffffff821115612afa57612af961293e565b5b602082029050602081019050919050565b6000819050919050565b612b1e81612b0b565b8114612b2957600080fd5b50565b600081359050612b3b81612b15565b92915050565b6000612b54612b4f84612adf565b61299e565b90508083825260208201905060208402830185811115612b7757612b766129e5565b5b835b81811015612ba05780612b8c8882612b2c565b845260208401935050602081019050612b79565b5050509392505050565b600082601f830112612bbf57612bbe612928565b5b8135612bcf848260208601612b41565b91505092915050565b60008060408385031215612bef57612bee61291e565b5b600083013567ffffffffffffffff811115612c0d57612c0c612923565b5b612c1985828601612ab1565b925050602083013567ffffffffffffffff811115612c3a57612c39612923565b5b612c4685828601612baa565b9150509250929050565b600060208284031215612c6657612c6561291e565b5b6000612c7484828501612b2c565b91505092915050565b612c8681612b0b565b82525050565b6000606082019050612ca16000830186612c7d565b612cae6020830185612c7d565b612cbb6040830184612c7d565b949350505050565b60008115159050919050565b612cd881612cc3565b82525050565b600060a082019050612cf36000830188612c7d565b612d006020830187612c7d565b612d0d6040830186612c7d565b612d1a6060830185612c7d565b612d276080830184612ccf565b9695505050505050565b6000612d3c82612a0a565b9050919050565b612d4c81612d31565b8114612d5757600080fd5b50565b600081359050612d6981612d43565b92915050565b60008060408385031215612d8657612d8561291e565b5b6000612d9485828601612d5a565b9250506020612da585828601612b2c565b9150509250929050565b6000819050919050565b6000612dd4612dcf612dca846129ea565b612daf565b6129ea565b9050919050565b6000612de682612db9565b9050919050565b6000612df882612ddb565b9050919050565b612e0881612ded565b82525050565b6000602082019050612e236000830184612dff565b92915050565b612e3281612a0a565b82525050565b6000604082019050612e4d6000830185612e29565b612e5a6020830184612c7d565b9392505050565b6000602082019050612e766000830184612c7d565b92915050565b600060208284031215612e9257612e9161291e565b5b6000612ea084828501612a33565b91505092915050565b600080600060608486031215612ec257612ec161291e565b5b6000612ed086828701612b2c565b9350506020612ee186828701612b2c565b9250506040612ef286828701612b2c565b9150509250925092565b6000612f0782612ddb565b9050919050565b612f1781612efc565b82525050565b6000602082019050612f326000830184612f0e565b92915050565b6000602082019050612f4d6000830184612ccf565b92915050565b612f5c81612cc3565b8114612f6757600080fd5b50565b600081359050612f7981612f53565b92915050565b600060208284031215612f9557612f9461291e565b5b6000612fa384828501612f6a565b91505092915050565b6000602082019050612fc16000830184612e29565b92915050565b6000612fd282612a0a565b9050919050565b612fe281612fc7565b8114612fed57600080fd5b50565b600081359050612fff81612fd9565b92915050565b60006020828403121561301b5761301a61291e565b5b600061302984828501612ff0565b91505092915050565b60006080820190506130476000830187612c7d565b6130546020830186612c7d565b6130616040830185612c7d565b61306e6060830184612c7d565b95945050505050565b60006020828403121561308d5761308c61291e565b5b600061309b84828501612d5a565b91505092915050565b600080604083850312156130bb576130ba61291e565b5b60006130c985828601612b2c565b92505060206130da85828601612b2c565b9150509250929050565b60006130ef826129ea565b9050919050565b6130ff816130e4565b82525050565b600060208201905061311a60008301846130f6565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613167602083613120565b915061317282613131565b602082019050919050565b600060208201905081810360008301526131968161315a565b9050919050565b7f41646472657373657320616e6420616d6f756e7473206d75737420626520657160008201527f75616c0000000000000000000000000000000000000000000000000000000000602082015250565b60006131f9602383613120565b91506132048261319d565b604082019050919050565b60006020820190508181036000830152613228816131ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061329882612b0b565b91506132a383612b0b565b92508282019050808211156132bb576132ba61325e565b5b92915050565b60006132cc82612b0b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132fe576132fd61325e565b5b600182019050919050565b7f50726573616c6520686173206e6f7420656e6465642079657400000000000000600082015250565b600061333f601983613120565b915061334a82613309565b602082019050919050565b6000602082019050818103600083015261336e81613332565b9050919050565b7f4e6f20746f6b656e732070757263686173656400000000000000000000000000600082015250565b60006133ab601383613120565b91506133b682613375565b602082019050919050565b600060208201905081810360008301526133da8161339e565b9050919050565b60006133ec82612b0b565b91506133f783612b0b565b925082820390508181111561340f5761340e61325e565b5b92915050565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b600061344b601283613120565b915061345682613415565b602082019050919050565b6000602082019050818103600083015261347a8161343e565b9050919050565b600069ffffffffffffffffffff82169050919050565b6134a081613481565b81146134ab57600080fd5b50565b6000815190506134bd81613497565b92915050565b6000819050919050565b6134d6816134c3565b81146134e157600080fd5b50565b6000815190506134f3816134cd565b92915050565b60008151905061350881612b15565b92915050565b600080600080600060a0868803121561352a5761352961291e565b5b6000613538888289016134ae565b9550506020613549888289016134e4565b945050604061355a888289016134f9565b935050606061356b888289016134f9565b925050608061357c888289016134ae565b9150509295509295909350565b7f50726573616c6520656e64656421000000000000000000000000000000000000600082015250565b60006135bf600e83613120565b91506135ca82613589565b602082019050919050565b600060208201905081810360008301526135ee816135b2565b9050919050565b7f2050726573616c65206973205061757365642c20636865636b206261636b206c60008201527f6174657200000000000000000000000000000000000000000000000000000000602082015250565b6000613651602483613120565b915061365c826135f5565b604082019050919050565b6000602082019050818103600083015261368081613644565b9050919050565b7f5068617365204c696d6974205265616368656400000000000000000000000000600082015250565b60006136bd601383613120565b91506136c882613687565b602082019050919050565b600060208201905081810360008301526136ec816136b0565b9050919050565b60006136fe82612ddb565b9050919050565b61370e816136f3565b82525050565b60006060820190506137296000830186612e29565b6137366020830185613705565b6137436040830184612c7d565b949350505050565b600061375682612b0b565b915061376183612b0b565b925082820261376f81612b0b565b915082820484148315176137865761378561325e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006137c782612b0b565b91506137d283612b0b565b9250826137e2576137e161378d565b5b828204905092915050565b600060ff82169050919050565b613803816137ed565b811461380e57600080fd5b50565b600081519050613820816137fa565b92915050565b60006020828403121561383c5761383b61291e565b5b600061384a84828501613811565b91505092915050565b60008160011c9050919050565b6000808291508390505b60018511156138aa578086048111156138865761388561325e565b5b60018516156138955780820291505b80810290506138a385613853565b945061386a565b94509492505050565b6000826138c3576001905061397f565b816138d1576000905061397f565b81600181146138e757600281146138f157613920565b600191505061397f565b60ff8411156139035761390261325e565b5b8360020a91508482111561391a5761391961325e565b5b5061397f565b5060208310610133831016604e8410600b84101617156139555782820a9050838111156139505761394f61325e565b5b61397f565b6139628484846001613860565b925090508184048111156139795761397861325e565b5b81810290505b9392505050565b600061399182612b0b565b915061399c836137ed565b92506139c97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846138b3565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a2d602683613120565b9150613a38826139d1565b604082019050919050565b60006020820190508181036000830152613a5c81613a20565b9050919050565b6000613a6e82612b0b565b915060008203613a8157613a8061325e565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122055d066d1554332a8be80b22038862eedaed8919174f6acbfd45387628e0cfb9b64736f6c63430008120033
Deployed Bytecode Sourcemap
3617:10949:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13033:419;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11184:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3936:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4974:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;14407:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3652:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4935:32;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;4148:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10660:516;;;;;;;;;;;;;:::i;:::-;;13908:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4017:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12653:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13637:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4083:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1137:103;;;;;;;;;;;;;:::i;:::-;;3762:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12924:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4114:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14264:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4352:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11555:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;829:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6445:159;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14066:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11664:81;;;;;;;;;;;;;:::i;:::-;;6680:1238;;;:::i;:::-;;4631:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;4320:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7993:1186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4051:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3682:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13489:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11800:326;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12153:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13754:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4427:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:31;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12376:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1395:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3984:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4186:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13033:419;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13222:12:::1;:19;13201:10;:17;:40;13179:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;13322:9;13317:128;13341:10;:17;13337:1;:21;13317:128;;;13418:12;13431:1;13418:15;;;;;;;;:::i;:::-;;;;;;;;13380:5;:20;13386:10;13397:1;13386:13;;;;;;;;:::i;:::-;;;;;;;;13380:20;;;;;;;;;;;;;;;:34;;;:53;;;;;;;:::i;:::-;;;;;;;;13360:3;;;;;:::i;:::-;;;;13317:128;;;;13033:419:::0;;:::o;11184:363::-;11292:19;11313:18;11333:16;11367:18;11388:6;:16;11395:8;11388:16;;;;;;;;;;;11367:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11437:5;:18;;;11470:5;:21;;;11506:5;:22;;;11415:124;;;;;;;11184:363;;;;;:::o;3936:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4974:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14407:156::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14521:5:::1;:14;;;14536:10;14548:6;14521:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14407:156:::0;;:::o;3652:23::-;;;;;;;;;;;;;:::o;4935:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4148:31::-;;;;:::o;10660:516::-;10711:14;;;;;;;;;;;10703:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10766:17;10786:5;:17;10792:10;10786:17;;;;;;;;;;;;;;;10766:37;;10843:1;10822:4;:18;;;:22;10814:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10879:23;10926:4;:19;;;10905:4;:18;;;:40;;;;:::i;:::-;10879:66;;10982:1;10964:15;:19;10956:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11040:15;11017:4;:19;;;:38;;;;;;;:::i;:::-;;;;;;;;11066:9;;;;;;;;;;;:18;;;11085:10;11097:15;11066:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11152:15;11140:10;11129:39;;;;;;;;;;;;10692:484;;10660:516::o;13908:110::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14004:5:::1;13981:12;;:29;;;;;;;;;;;;;;;;;;13908:110:::0;:::o;4017:27::-;;;;:::o;12653:241::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12805:5:::1;12793:9;:17;;;;12836:7;12821:12;:22;;;;12873:13;12854:16;:32;;;;12653:241:::0;;;:::o;13637:109::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13709:12:::1;;;;;;;;;;;:21;;:29;13731:6;13709:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13637:109:::0;:::o;4083:24::-;;;;:::o;1137:103::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1202:30:::1;1229:1;1202:18;:30::i;:::-;1137:103::o:0;3762:38::-;;;;;;;;;;;;;:::o;12924:101::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13010:6:::1;12991:9;;:26;;;;;;;;;;;;;;;;;;12924:101:::0;:::o;4114:27::-;;;;:::o;14264:104::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14351:9:::1;14336:12;:24;;;;14264:104:::0;:::o;4352:26::-;;;;;;;;;;;;;:::o;11555:101::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11641:7:::1;11625:13;;:23;;;;;;;;;;;;;;;;;;11555:101:::0;:::o;829:87::-;875:7;902:6;;;;;;;;;;;895:13;;829:87;:::o;6445:159::-;6492:7;6515:12;6537:9;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6512:52;;;;;;6590:5;6575:21;;;6445:159;:::o;14066:135::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14183:10:::1;14171:9;;:22;;;;;;;;;;;;;;;;;;14066:135:::0;:::o;11664:81::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11733:4:::1;11716:14;;:21;;;;;;;;;;;;;;;;;;11664:81::o:0;6680:1238::-;6735:14;;;;;;;;;;;6734:15;6726:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6787:13;;;;;;;;;;;6779:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6857:8;:20;6866:10;6857:20;;;;;;;;;;;;;;;;;;;;;;;;;6852:115;;6908:1;6894:10;;:15;;;;;;;:::i;:::-;;;;;;;;6924:14;6944:10;6924:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6852:115;6977:12;;;;;;;;;;;:21;;:32;6999:9;6977:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7022:22;7072:38;7086:9;7097:12;;7072:13;:38::i;:::-;7055:55;;7217:6;:20;7224:12;;7217:20;;;;;;;;;;;:33;;;7182:14;7143:6;:20;7150:12;;7143:20;;;;;;;;;;;:36;;;:53;;;;:::i;:::-;:107;;7121:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;7333:14;7320:9;;:28;;;;:::i;:::-;7308:9;:40;;;;7389:19;7398:9;7389:8;:19::i;:::-;7374:12;;:34;;;;:::i;:::-;7359:12;:49;;;;7518:9;7469:5;:17;7475:10;7469:17;;;;;;;;;;;;;;;:32;;;:59;;;;:::i;:::-;7421:5;:17;7427:10;7421:17;;;;;;;;;;;;;;;:32;;:107;;;;7634:14;7586:5;:17;7592:10;7586:17;;;;;;;;;;;;;;;:31;;;:63;;;;:::i;:::-;7539:5;:17;7545:10;7539:17;;;;;;;;;;;;;;;:31;;:110;;;;7700:14;7660:6;:20;7667:12;;7660:20;;;;;;;;;;;:36;;;:54;;;;;;;:::i;:::-;;;;;;;;7748:4;7725:8;:20;7734:10;7725:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;7765:63;7784:10;7796:5;:17;7802:10;7796:17;;;;;;;;;;;;;;;:31;;;7765:18;:63::i;:::-;7839:71;7864:12;;7878:9;7889:14;7905:4;7839:24;:71::i;:::-;6715:1203;6680:1238::o;4631:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4320:25::-;;;;;;;;;;;;;:::o;7993:1186::-;8058:14;;;;;;;;;;;8057:15;8049:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8110:13;;;;;;;;;;;8102:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;8180:8;:20;8189:10;8180:20;;;;;;;;;;;;;;;;;;;;;;;;;8175:115;;8231:1;8217:10;;:15;;;;;;;:::i;:::-;;;;;;;;8247:14;8267:10;8247:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8175:115;8300:4;;;;;;;;;;;:17;;;8318:10;8330:12;;;;;;;;;;;8344:6;8300:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8364:22;8414:33;8426:6;8434:12;;8414:11;:33::i;:::-;8397:50;;8554:6;:20;8561:12;;8554:20;;;;;;;;;;;:33;;;8519:14;8480:6;:20;8487:12;;8480:20;;;;;;;;;;;:36;;;:53;;;;:::i;:::-;:107;;8458:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;8669:14;8657:9;;:26;;;;:::i;:::-;8645:9;:38;;;;8732:6;8713:16;;:25;;;;:::i;:::-;8694:16;:44;;;;8785:6;8751:5;:17;8757:10;8751:17;;;;;;;;;;;;;;;:30;;;:40;;;;;;;:::i;:::-;;;;;;;;8898:14;8851:5;:17;8857:10;8851:17;;;;;;;;;;;;;;;:31;;;:61;;;;:::i;:::-;8804:5;:17;8810:10;8804:17;;;;;;;;;;;;;;;:31;;:108;;;;8963:14;8923:6;:20;8930:12;;8923:20;;;;;;;;;;;:36;;;:54;;;;;;;:::i;:::-;;;;;;;;9011:4;8988:8;:20;8997:10;8988:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;9028:63;9047:10;9059:5;:17;9065:10;9059:17;;;;;;;;;;;;;;;:31;;;9028:18;:63::i;:::-;9102:69;9127:12;;9141:6;9149:14;9165:5;9102:24;:69::i;:::-;8038:1141;7993:1186;:::o;4051:25::-;;;;:::o;3682:71::-;;;;;;;;;;;;;:::o;13489:100::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13575:5:::1;13561:4;;:20;;;;;;;;;;;;;;;;;;13489:100:::0;:::o;11800:326::-;11903:7;11923:16;11976:7;11954:16;:14;:16::i;:::-;11943:7;:28;;;;:::i;:::-;11942:42;;;;:::i;:::-;11923:61;;11995:22;12082:3;12032:6;:15;12039:7;12032:15;;;;;;;;;;;:32;;;12021:8;:43;;;;:::i;:::-;12020:66;;;;:::i;:::-;11995:91;;12104:14;12097:21;;;;11800:326;;;;:::o;12153:167::-;12209:7;12229:16;12282:3;12260:16;:14;:16::i;:::-;12249:7;:28;;;;:::i;:::-;12248:38;;;;:::i;:::-;12229:57;;12304:8;12297:15;;;12153:167;;;:::o;13754:106::-;13804:7;13831:14;:21;;;;13824:28;;13754:106;:::o;4427:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;4387:31::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12376:269::-;12477:7;12497:22;12589:4;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12583:2;:21;;;;:::i;:::-;12533:6;:15;12540:7;12533:15;;;;;;;;;;;:32;;;12523:7;:42;;;;:::i;:::-;12522:83;;;;:::i;:::-;12497:108;;12623:14;12616:21;;;12376:269;;;;:::o;1395:238::-;1060:12;:10;:12::i;:::-;1049:23;;:7;:5;:7::i;:::-;:23;;;1041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1518:1:::1;1498:22;;:8;:22;;::::0;1476:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1597:28;1616:8;1597:18;:28::i;:::-;1395:238:::0;:::o;3984:26::-;;;;:::o;4186:35::-;;;;;;;;;;;;;:::o;173:98::-;226:7;253:10;246:17;;173:98;:::o;1793:191::-;1867:16;1886:6;;;;;;;;;;;1867:25;;1912:8;1903:6;;:17;;;;;;;;;;;;;;;;;;1967:8;1936:40;;1957:8;1936:40;;;;;;;;;;;;1856:128;1793:191;:::o;9187:776::-;9336:9;9331:223;9355:20;9351:1;:24;9331:223;;;9410:13;9424:1;9410:16;;;;;;;:::i;:::-;;;;;:28;;;;;;;;;;;;9401:37;;:5;:37;;;9397:146;;9490:12;9459:13;9473:1;9459:16;;;;;;;:::i;:::-;;;;;:28;;:43;;;;9521:7;;;9397:146;9377:3;;;;;:::i;:::-;;;;9331:223;;;;9571:9;9566:390;9590:20;9586:1;:24;9566:390;;;9651:13;9665:1;9651:16;;;;;;;:::i;:::-;;;;;:28;;;9636:12;:43;9632:313;;;9705:9;9740:1;9717:20;:24;;;;:::i;:::-;9705:36;;9700:137;9747:1;9743;:5;9700:137;;;9797:13;9815:1;9811;:5;;;;:::i;:::-;9797:20;;;;;;;:::i;:::-;;;;;9778:13;9792:1;9778:16;;;;;;;:::i;:::-;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9750:3;;;;;:::i;:::-;;;;9700:137;;;;9876:29;;;;;;;;9885:5;9876:29;;;;;;9892:12;9876:29;;;9857:13;9871:1;9857:16;;;;;;;:::i;:::-;;;;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9924:5;;9632:313;9612:3;;;;;:::i;:::-;;;;9566:390;;;;9187:776;;;:::o;9971:681::-;10145:33;10181:152;;;;;;;;10207:15;10181:152;;;;10237:10;10181:152;;;;10262:10;10181:152;;;;10287:11;10181:152;;;;10313:9;10181:152;;;;;10145:188;;10344:19;10369:14;10344:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10428:2;10399:19;:26;;;;:31;10395:250;;;10452:9;10447:147;10500:1;10471:19;:26;;;;:30;;;;:::i;:::-;10467:1;:34;10447:147;;;10552:19;10576:1;10572;:5;;;;:::i;:::-;10552:26;;;;;;;;:::i;:::-;;;;;;;;;;;;10527:19;10547:1;10527:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10503:3;;;;;:::i;:::-;;;;10447:147;;;;10608:19;:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10395:250;10134:518;9971:681;;;;:::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:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:311::-;3323:4;3413:18;3405:6;3402:30;3399:56;;;3435:18;;:::i;:::-;3399:56;3485:4;3477:6;3473:17;3465:25;;3545:4;3539;3535:15;3527:23;;3246:311;;;:::o;3563:77::-;3600:7;3629:5;3618:16;;3563:77;;;:::o;3646:122::-;3719:24;3737:5;3719:24;:::i;:::-;3712:5;3709:35;3699:63;;3758:1;3755;3748:12;3699:63;3646:122;:::o;3774:139::-;3820:5;3858:6;3845:20;3836:29;;3874:33;3901:5;3874:33;:::i;:::-;3774:139;;;;:::o;3936:710::-;4032:5;4057:81;4073:64;4130:6;4073:64;:::i;:::-;4057:81;:::i;:::-;4048:90;;4158:5;4187:6;4180:5;4173:21;4221:4;4214:5;4210:16;4203:23;;4274:4;4266:6;4262:17;4254:6;4250:30;4303:3;4295:6;4292:15;4289:122;;;4322:79;;:::i;:::-;4289:122;4437:6;4420:220;4454:6;4449:3;4446:15;4420:220;;;4529:3;4558:37;4591:3;4579:10;4558:37;:::i;:::-;4553:3;4546:50;4625:4;4620:3;4616:14;4609:21;;4496:144;4480:4;4475:3;4471:14;4464:21;;4420:220;;;4424:21;4038:608;;3936:710;;;;;:::o;4669:370::-;4740:5;4789:3;4782:4;4774:6;4770:17;4766:27;4756:122;;4797:79;;:::i;:::-;4756:122;4914:6;4901:20;4939:94;5029:3;5021:6;5014:4;5006:6;5002:17;4939:94;:::i;:::-;4930:103;;4746:293;4669:370;;;;:::o;5045:894::-;5163:6;5171;5220:2;5208:9;5199:7;5195:23;5191:32;5188:119;;;5226:79;;:::i;:::-;5188:119;5374:1;5363:9;5359:17;5346:31;5404:18;5396:6;5393:30;5390:117;;;5426:79;;:::i;:::-;5390:117;5531:78;5601:7;5592:6;5581:9;5577:22;5531:78;:::i;:::-;5521:88;;5317:302;5686:2;5675:9;5671:18;5658:32;5717:18;5709:6;5706:30;5703:117;;;5739:79;;:::i;:::-;5703:117;5844:78;5914:7;5905:6;5894:9;5890:22;5844:78;:::i;:::-;5834:88;;5629:303;5045:894;;;;;:::o;5945:329::-;6004:6;6053:2;6041:9;6032:7;6028:23;6024:32;6021:119;;;6059:79;;:::i;:::-;6021:119;6179:1;6204:53;6249:7;6240:6;6229:9;6225:22;6204:53;:::i;:::-;6194:63;;6150:117;5945:329;;;;:::o;6280:118::-;6367:24;6385:5;6367:24;:::i;:::-;6362:3;6355:37;6280:118;;:::o;6404:442::-;6553:4;6591:2;6580:9;6576:18;6568:26;;6604:71;6672:1;6661:9;6657:17;6648:6;6604:71;:::i;:::-;6685:72;6753:2;6742:9;6738:18;6729:6;6685:72;:::i;:::-;6767;6835:2;6824:9;6820:18;6811:6;6767:72;:::i;:::-;6404:442;;;;;;:::o;6852:90::-;6886:7;6929:5;6922:13;6915:21;6904:32;;6852:90;;;:::o;6948:109::-;7029:21;7044:5;7029:21;:::i;:::-;7024:3;7017:34;6948:109;;:::o;7063:652::-;7262:4;7300:3;7289:9;7285:19;7277:27;;7314:71;7382:1;7371:9;7367:17;7358:6;7314:71;:::i;:::-;7395:72;7463:2;7452:9;7448:18;7439:6;7395:72;:::i;:::-;7477;7545:2;7534:9;7530:18;7521:6;7477:72;:::i;:::-;7559;7627:2;7616:9;7612:18;7603:6;7559:72;:::i;:::-;7641:67;7703:3;7692:9;7688:19;7679:6;7641:67;:::i;:::-;7063:652;;;;;;;;:::o;7721:110::-;7772:7;7801:24;7819:5;7801:24;:::i;:::-;7790:35;;7721:110;;;:::o;7837:150::-;7924:38;7956:5;7924:38;:::i;:::-;7917:5;7914:49;7904:77;;7977:1;7974;7967:12;7904:77;7837:150;:::o;7993:167::-;8053:5;8091:6;8078:20;8069:29;;8107:47;8148:5;8107:47;:::i;:::-;7993:167;;;;:::o;8166:502::-;8248:6;8256;8305:2;8293:9;8284:7;8280:23;8276:32;8273:119;;;8311:79;;:::i;:::-;8273:119;8431:1;8456:67;8515:7;8506:6;8495:9;8491:22;8456:67;:::i;:::-;8446:77;;8402:131;8572:2;8598:53;8643:7;8634:6;8623:9;8619:22;8598:53;:::i;:::-;8588:63;;8543:118;8166:502;;;;;:::o;8674:60::-;8702:3;8723:5;8716:12;;8674:60;;;:::o;8740:142::-;8790:9;8823:53;8841:34;8850:24;8868:5;8850:24;:::i;:::-;8841:34;:::i;:::-;8823:53;:::i;:::-;8810:66;;8740:142;;;:::o;8888:126::-;8938:9;8971:37;9002:5;8971:37;:::i;:::-;8958:50;;8888:126;;;:::o;9020:140::-;9084:9;9117:37;9148:5;9117:37;:::i;:::-;9104:50;;9020:140;;;:::o;9166:159::-;9267:51;9312:5;9267:51;:::i;:::-;9262:3;9255:64;9166:159;;:::o;9331:250::-;9438:4;9476:2;9465:9;9461:18;9453:26;;9489:85;9571:1;9560:9;9556:17;9547:6;9489:85;:::i;:::-;9331:250;;;;:::o;9587:118::-;9674:24;9692:5;9674:24;:::i;:::-;9669:3;9662:37;9587:118;;:::o;9711:332::-;9832:4;9870:2;9859:9;9855:18;9847:26;;9883:71;9951:1;9940:9;9936:17;9927:6;9883:71;:::i;:::-;9964:72;10032:2;10021:9;10017:18;10008:6;9964:72;:::i;:::-;9711:332;;;;;:::o;10049:222::-;10142:4;10180:2;10169:9;10165:18;10157:26;;10193:71;10261:1;10250:9;10246:17;10237:6;10193:71;:::i;:::-;10049:222;;;;:::o;10277:329::-;10336:6;10385:2;10373:9;10364:7;10360:23;10356:32;10353:119;;;10391:79;;:::i;:::-;10353:119;10511:1;10536:53;10581:7;10572:6;10561:9;10557:22;10536:53;:::i;:::-;10526:63;;10482:117;10277:329;;;;:::o;10612:619::-;10689:6;10697;10705;10754:2;10742:9;10733:7;10729:23;10725:32;10722:119;;;10760:79;;:::i;:::-;10722:119;10880:1;10905:53;10950:7;10941:6;10930:9;10926:22;10905:53;:::i;:::-;10895:63;;10851:117;11007:2;11033:53;11078:7;11069:6;11058:9;11054:22;11033:53;:::i;:::-;11023:63;;10978:118;11135:2;11161:53;11206:7;11197:6;11186:9;11182:22;11161:53;:::i;:::-;11151:63;;11106:118;10612:619;;;;;:::o;11237:155::-;11316:9;11349:37;11380:5;11349:37;:::i;:::-;11336:50;;11237:155;;;:::o;11398:189::-;11514:66;11574:5;11514:66;:::i;:::-;11509:3;11502:79;11398:189;;:::o;11593:280::-;11715:4;11753:2;11742:9;11738:18;11730:26;;11766:100;11863:1;11852:9;11848:17;11839:6;11766:100;:::i;:::-;11593:280;;;;:::o;11879:210::-;11966:4;12004:2;11993:9;11989:18;11981:26;;12017:65;12079:1;12068:9;12064:17;12055:6;12017:65;:::i;:::-;11879:210;;;;:::o;12095:116::-;12165:21;12180:5;12165:21;:::i;:::-;12158:5;12155:32;12145:60;;12201:1;12198;12191:12;12145:60;12095:116;:::o;12217:133::-;12260:5;12298:6;12285:20;12276:29;;12314:30;12338:5;12314:30;:::i;:::-;12217:133;;;;:::o;12356:323::-;12412:6;12461:2;12449:9;12440:7;12436:23;12432:32;12429:119;;;12467:79;;:::i;:::-;12429:119;12587:1;12612:50;12654:7;12645:6;12634:9;12630:22;12612:50;:::i;:::-;12602:60;;12558:114;12356:323;;;;:::o;12685:222::-;12778:4;12816:2;12805:9;12801:18;12793:26;;12829:71;12897:1;12886:9;12882:17;12873:6;12829:71;:::i;:::-;12685:222;;;;:::o;12913:125::-;12979:7;13008:24;13026:5;13008:24;:::i;:::-;12997:35;;12913:125;;;:::o;13044:180::-;13146:53;13193:5;13146:53;:::i;:::-;13139:5;13136:64;13126:92;;13214:1;13211;13204:12;13126:92;13044:180;:::o;13230:197::-;13305:5;13343:6;13330:20;13321:29;;13359:62;13415:5;13359:62;:::i;:::-;13230:197;;;;:::o;13433:387::-;13521:6;13570:2;13558:9;13549:7;13545:23;13541:32;13538:119;;;13576:79;;:::i;:::-;13538:119;13696:1;13721:82;13795:7;13786:6;13775:9;13771:22;13721:82;:::i;:::-;13711:92;;13667:146;13433:387;;;;:::o;13826:553::-;14003:4;14041:3;14030:9;14026:19;14018:27;;14055:71;14123:1;14112:9;14108:17;14099:6;14055:71;:::i;:::-;14136:72;14204:2;14193:9;14189:18;14180:6;14136:72;:::i;:::-;14218;14286:2;14275:9;14271:18;14262:6;14218:72;:::i;:::-;14300;14368:2;14357:9;14353:18;14344:6;14300:72;:::i;:::-;13826:553;;;;;;;:::o;14385:357::-;14458:6;14507:2;14495:9;14486:7;14482:23;14478:32;14475:119;;;14513:79;;:::i;:::-;14475:119;14633:1;14658:67;14717:7;14708:6;14697:9;14693:22;14658:67;:::i;:::-;14648:77;;14604:131;14385:357;;;;:::o;14748:474::-;14816:6;14824;14873:2;14861:9;14852:7;14848:23;14844:32;14841:119;;;14879:79;;:::i;:::-;14841:119;14999:1;15024:53;15069:7;15060:6;15049:9;15045:22;15024:53;:::i;:::-;15014:63;;14970:117;15126:2;15152:53;15197:7;15188:6;15177:9;15173:22;15152:53;:::i;:::-;15142:63;;15097:118;14748:474;;;;;:::o;15228:104::-;15273:7;15302:24;15320:5;15302:24;:::i;:::-;15291:35;;15228:104;;;:::o;15338:142::-;15441:32;15467:5;15441:32;:::i;:::-;15436:3;15429:45;15338:142;;:::o;15486:254::-;15595:4;15633:2;15622:9;15618:18;15610:26;;15646:87;15730:1;15719:9;15715:17;15706:6;15646:87;:::i;:::-;15486:254;;;;:::o;15746:169::-;15830:11;15864:6;15859:3;15852:19;15904:4;15899:3;15895:14;15880:29;;15746:169;;;;:::o;15921:182::-;16061:34;16057:1;16049:6;16045:14;16038:58;15921:182;:::o;16109:366::-;16251:3;16272:67;16336:2;16331:3;16272:67;:::i;:::-;16265:74;;16348:93;16437:3;16348:93;:::i;:::-;16466:2;16461:3;16457:12;16450:19;;16109:366;;;:::o;16481:419::-;16647:4;16685:2;16674:9;16670:18;16662:26;;16734:9;16728:4;16724:20;16720:1;16709:9;16705:17;16698:47;16762:131;16888:4;16762:131;:::i;:::-;16754:139;;16481:419;;;:::o;16906:222::-;17046:34;17042:1;17034:6;17030:14;17023:58;17115:5;17110:2;17102:6;17098:15;17091:30;16906:222;:::o;17134:366::-;17276:3;17297:67;17361:2;17356:3;17297:67;:::i;:::-;17290:74;;17373:93;17462:3;17373:93;:::i;:::-;17491:2;17486:3;17482:12;17475:19;;17134:366;;;:::o;17506:419::-;17672:4;17710:2;17699:9;17695:18;17687:26;;17759:9;17753:4;17749:20;17745:1;17734:9;17730:17;17723:47;17787:131;17913:4;17787:131;:::i;:::-;17779:139;;17506:419;;;:::o;17931:180::-;17979:77;17976:1;17969:88;18076:4;18073:1;18066:15;18100:4;18097:1;18090:15;18117:180;18165:77;18162:1;18155:88;18262:4;18259:1;18252:15;18286:4;18283:1;18276:15;18303:191;18343:3;18362:20;18380:1;18362:20;:::i;:::-;18357:25;;18396:20;18414:1;18396:20;:::i;:::-;18391:25;;18439:1;18436;18432:9;18425:16;;18460:3;18457:1;18454:10;18451:36;;;18467:18;;:::i;:::-;18451:36;18303:191;;;;:::o;18500:233::-;18539:3;18562:24;18580:5;18562:24;:::i;:::-;18553:33;;18608:66;18601:5;18598:77;18595:103;;18678:18;;:::i;:::-;18595:103;18725:1;18718:5;18714:13;18707:20;;18500:233;;;:::o;18739:175::-;18879:27;18875:1;18867:6;18863:14;18856:51;18739:175;:::o;18920:366::-;19062:3;19083:67;19147:2;19142:3;19083:67;:::i;:::-;19076:74;;19159:93;19248:3;19159:93;:::i;:::-;19277:2;19272:3;19268:12;19261:19;;18920:366;;;:::o;19292:419::-;19458:4;19496:2;19485:9;19481:18;19473:26;;19545:9;19539:4;19535:20;19531:1;19520:9;19516:17;19509:47;19573:131;19699:4;19573:131;:::i;:::-;19565:139;;19292:419;;;:::o;19717:169::-;19857:21;19853:1;19845:6;19841:14;19834:45;19717:169;:::o;19892:366::-;20034:3;20055:67;20119:2;20114:3;20055:67;:::i;:::-;20048:74;;20131:93;20220:3;20131:93;:::i;:::-;20249:2;20244:3;20240:12;20233:19;;19892:366;;;:::o;20264:419::-;20430:4;20468:2;20457:9;20453:18;20445:26;;20517:9;20511:4;20507:20;20503:1;20492:9;20488:17;20481:47;20545:131;20671:4;20545:131;:::i;:::-;20537:139;;20264:419;;;:::o;20689:194::-;20729:4;20749:20;20767:1;20749:20;:::i;:::-;20744:25;;20783:20;20801:1;20783:20;:::i;:::-;20778:25;;20827:1;20824;20820:9;20812:17;;20851:1;20845:4;20842:11;20839:37;;;20856:18;;:::i;:::-;20839:37;20689:194;;;;:::o;20889:168::-;21029:20;21025:1;21017:6;21013:14;21006:44;20889:168;:::o;21063:366::-;21205:3;21226:67;21290:2;21285:3;21226:67;:::i;:::-;21219:74;;21302:93;21391:3;21302:93;:::i;:::-;21420:2;21415:3;21411:12;21404:19;;21063:366;;;:::o;21435:419::-;21601:4;21639:2;21628:9;21624:18;21616:26;;21688:9;21682:4;21678:20;21674:1;21663:9;21659:17;21652:47;21716:131;21842:4;21716:131;:::i;:::-;21708:139;;21435:419;;;:::o;21860:105::-;21896:7;21936:22;21929:5;21925:34;21914:45;;21860:105;;;:::o;21971:120::-;22043:23;22060:5;22043:23;:::i;:::-;22036:5;22033:34;22023:62;;22081:1;22078;22071:12;22023:62;21971:120;:::o;22097:141::-;22153:5;22184:6;22178:13;22169:22;;22200:32;22226:5;22200:32;:::i;:::-;22097:141;;;;:::o;22244:76::-;22280:7;22309:5;22298:16;;22244:76;;;:::o;22326:120::-;22398:23;22415:5;22398:23;:::i;:::-;22391:5;22388:34;22378:62;;22436:1;22433;22426:12;22378:62;22326:120;:::o;22452:141::-;22508:5;22539:6;22533:13;22524:22;;22555:32;22581:5;22555:32;:::i;:::-;22452:141;;;;:::o;22599:143::-;22656:5;22687:6;22681:13;22672:22;;22703:33;22730:5;22703:33;:::i;:::-;22599:143;;;;:::o;22748:971::-;22851:6;22859;22867;22875;22883;22932:3;22920:9;22911:7;22907:23;22903:33;22900:120;;;22939:79;;:::i;:::-;22900:120;23059:1;23084:63;23139:7;23130:6;23119:9;23115:22;23084:63;:::i;:::-;23074:73;;23030:127;23196:2;23222:63;23277:7;23268:6;23257:9;23253:22;23222:63;:::i;:::-;23212:73;;23167:128;23334:2;23360:64;23416:7;23407:6;23396:9;23392:22;23360:64;:::i;:::-;23350:74;;23305:129;23473:2;23499:64;23555:7;23546:6;23535:9;23531:22;23499:64;:::i;:::-;23489:74;;23444:129;23612:3;23639:63;23694:7;23685:6;23674:9;23670:22;23639:63;:::i;:::-;23629:73;;23583:129;22748:971;;;;;;;;:::o;23725:164::-;23865:16;23861:1;23853:6;23849:14;23842:40;23725:164;:::o;23895:366::-;24037:3;24058:67;24122:2;24117:3;24058:67;:::i;:::-;24051:74;;24134:93;24223:3;24134:93;:::i;:::-;24252:2;24247:3;24243:12;24236:19;;23895:366;;;:::o;24267:419::-;24433:4;24471:2;24460:9;24456:18;24448:26;;24520:9;24514:4;24510:20;24506:1;24495:9;24491:17;24484:47;24548:131;24674:4;24548:131;:::i;:::-;24540:139;;24267:419;;;:::o;24692:223::-;24832:34;24828:1;24820:6;24816:14;24809:58;24901:6;24896:2;24888:6;24884:15;24877:31;24692:223;:::o;24921:366::-;25063:3;25084:67;25148:2;25143:3;25084:67;:::i;:::-;25077:74;;25160:93;25249:3;25160:93;:::i;:::-;25278:2;25273:3;25269:12;25262:19;;24921:366;;;:::o;25293:419::-;25459:4;25497:2;25486:9;25482:18;25474:26;;25546:9;25540:4;25536:20;25532:1;25521:9;25517:17;25510:47;25574:131;25700:4;25574:131;:::i;:::-;25566:139;;25293:419;;;:::o;25718:169::-;25858:21;25854:1;25846:6;25842:14;25835:45;25718:169;:::o;25893:366::-;26035:3;26056:67;26120:2;26115:3;26056:67;:::i;:::-;26049:74;;26132:93;26221:3;26132:93;:::i;:::-;26250:2;26245:3;26241:12;26234:19;;25893:366;;;:::o;26265:419::-;26431:4;26469:2;26458:9;26454:18;26446:26;;26518:9;26512:4;26508:20;26504:1;26493:9;26489:17;26482:47;26546:131;26672:4;26546:131;:::i;:::-;26538:139;;26265:419;;;:::o;26690:134::-;26748:9;26781:37;26812:5;26781:37;:::i;:::-;26768:50;;26690:134;;;:::o;26830:147::-;26925:45;26964:5;26925:45;:::i;:::-;26920:3;26913:58;26830:147;;:::o;26983:458::-;27140:4;27178:2;27167:9;27163:18;27155:26;;27191:71;27259:1;27248:9;27244:17;27235:6;27191:71;:::i;:::-;27272:80;27348:2;27337:9;27333:18;27324:6;27272:80;:::i;:::-;27362:72;27430:2;27419:9;27415:18;27406:6;27362:72;:::i;:::-;26983:458;;;;;;:::o;27447:410::-;27487:7;27510:20;27528:1;27510:20;:::i;:::-;27505:25;;27544:20;27562:1;27544:20;:::i;:::-;27539:25;;27599:1;27596;27592:9;27621:30;27639:11;27621:30;:::i;:::-;27610:41;;27800:1;27791:7;27787:15;27784:1;27781:22;27761:1;27754:9;27734:83;27711:139;;27830:18;;:::i;:::-;27711:139;27495:362;27447:410;;;;:::o;27863:180::-;27911:77;27908:1;27901:88;28008:4;28005:1;27998:15;28032:4;28029:1;28022:15;28049:185;28089:1;28106:20;28124:1;28106:20;:::i;:::-;28101:25;;28140:20;28158:1;28140:20;:::i;:::-;28135:25;;28179:1;28169:35;;28184:18;;:::i;:::-;28169:35;28226:1;28223;28219:9;28214:14;;28049:185;;;;:::o;28240:86::-;28275:7;28315:4;28308:5;28304:16;28293:27;;28240:86;;;:::o;28332:118::-;28403:22;28419:5;28403:22;:::i;:::-;28396:5;28393:33;28383:61;;28440:1;28437;28430:12;28383:61;28332:118;:::o;28456:139::-;28511:5;28542:6;28536:13;28527:22;;28558:31;28583:5;28558:31;:::i;:::-;28456:139;;;;:::o;28601:347::-;28669:6;28718:2;28706:9;28697:7;28693:23;28689:32;28686:119;;;28724:79;;:::i;:::-;28686:119;28844:1;28869:62;28923:7;28914:6;28903:9;28899:22;28869:62;:::i;:::-;28859:72;;28815:126;28601:347;;;;:::o;28954:102::-;28996:8;29043:5;29040:1;29036:13;29015:34;;28954:102;;;:::o;29062:848::-;29123:5;29130:4;29154:6;29145:15;;29178:5;29169:14;;29192:712;29213:1;29203:8;29200:15;29192:712;;;29308:4;29303:3;29299:14;29293:4;29290:24;29287:50;;;29317:18;;:::i;:::-;29287:50;29367:1;29357:8;29353:16;29350:451;;;29782:4;29775:5;29771:16;29762:25;;29350:451;29832:4;29826;29822:15;29814:23;;29862:32;29885:8;29862:32;:::i;:::-;29850:44;;29192:712;;;29062:848;;;;;;;:::o;29916:1073::-;29970:5;30161:8;30151:40;;30182:1;30173:10;;30184:5;;30151:40;30210:4;30200:36;;30227:1;30218:10;;30229:5;;30200:36;30296:4;30344:1;30339:27;;;;30380:1;30375:191;;;;30289:277;;30339:27;30357:1;30348:10;;30359:5;;;30375:191;30420:3;30410:8;30407:17;30404:43;;;30427:18;;:::i;:::-;30404:43;30476:8;30473:1;30469:16;30460:25;;30511:3;30504:5;30501:14;30498:40;;;30518:18;;:::i;:::-;30498:40;30551:5;;;30289:277;;30675:2;30665:8;30662:16;30656:3;30650:4;30647:13;30643:36;30625:2;30615:8;30612:16;30607:2;30601:4;30598:12;30594:35;30578:111;30575:246;;;30731:8;30725:4;30721:19;30712:28;;30766:3;30759:5;30756:14;30753:40;;;30773:18;;:::i;:::-;30753:40;30806:5;;30575:246;30846:42;30884:3;30874:8;30868:4;30865:1;30846:42;:::i;:::-;30831:57;;;;30920:4;30915:3;30911:14;30904:5;30901:25;30898:51;;;30929:18;;:::i;:::-;30898:51;30978:4;30971:5;30967:16;30958:25;;29916:1073;;;;;;:::o;30995:281::-;31053:5;31077:23;31095:4;31077:23;:::i;:::-;31069:31;;31121:25;31137:8;31121:25;:::i;:::-;31109:37;;31165:104;31202:66;31192:8;31186:4;31165:104;:::i;:::-;31156:113;;30995:281;;;;:::o;31282:225::-;31422:34;31418:1;31410:6;31406:14;31399:58;31491:8;31486:2;31478:6;31474:15;31467:33;31282:225;:::o;31513:366::-;31655:3;31676:67;31740:2;31735:3;31676:67;:::i;:::-;31669:74;;31752:93;31841:3;31752:93;:::i;:::-;31870:2;31865:3;31861:12;31854:19;;31513:366;;;:::o;31885:419::-;32051:4;32089:2;32078:9;32074:18;32066:26;;32138:9;32132:4;32128:20;32124:1;32113:9;32109:17;32102:47;32166:131;32292:4;32166:131;:::i;:::-;32158:139;;31885:419;;;:::o;32310:171::-;32349:3;32372:24;32390:5;32372:24;:::i;:::-;32363:33;;32418:4;32411:5;32408:15;32405:41;;32426:18;;:::i;:::-;32405:41;32473:1;32466:5;32462:13;32455:20;;32310:171;;;:::o;32487:180::-;32535:77;32532:1;32525:88;32632:4;32629:1;32622:15;32656:4;32653:1;32646:15
Swarm Source
ipfs://55d066d1554332a8be80b22038862eedaed8919174f6acbfd45387628e0cfb9b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.999816 | 10 | $10 |
Loading...
Loading
Loading...
Loading
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.