Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 571 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy Tokens | 17337131 | 466 days ago | IN | 0 ETH | 0.00133951 | ||||
Buy Tokens | 17337131 | 466 days ago | IN | 0 ETH | 0.00133951 | ||||
Buy Tokens | 17337125 | 466 days ago | IN | 0 ETH | 0.00133366 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332479 | 467 days ago | IN | 0 ETH | 0.00241806 | ||||
Claim Tokens | 17332466 | 467 days ago | IN | 0 ETH | 0.00197426 | ||||
Claim Tokens | 17332444 | 467 days ago | IN | 0 ETH | 0.00133484 | ||||
Buy Tokens | 17332444 | 467 days ago | IN | 0 ETH | 0.0027329 | ||||
Buy Tokens | 17332444 | 467 days ago | IN | 0 ETH | 0.00282964 | ||||
Buy Tokens | 17332442 | 467 days ago | IN | 0 ETH | 0.0021315 | ||||
Buy Tokens | 17332442 | 467 days ago | IN | 0 ETH | 0.00240859 | ||||
Claim Tokens | 17332423 | 467 days ago | IN | 0 ETH | 0.00209137 | ||||
Claim Tokens | 17332405 | 467 days ago | IN | 0 ETH | 0.00189484 | ||||
Claim Tokens | 17332404 | 467 days ago | IN | 0 ETH | 0.00257788 | ||||
Claim Tokens | 17332394 | 467 days ago | IN | 0 ETH | 0.00171225 | ||||
Claim Tokens | 17332389 | 467 days ago | IN | 0 ETH | 0.00247923 | ||||
Claim Tokens | 17332381 | 467 days ago | IN | 0 ETH | 0.00212142 | ||||
Claim Tokens | 17332379 | 467 days ago | IN | 0 ETH | 0.00151257 | ||||
Claim Tokens | 17332371 | 467 days ago | IN | 0 ETH | 0.00203866 | ||||
Claim Tokens | 17332360 | 467 days ago | IN | 0 ETH | 0.00196919 | ||||
Claim Tokens | 17332360 | 467 days ago | IN | 0 ETH | 0.00290673 |
Loading...
Loading
Contract Name:
Presale
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-24 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to 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 totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Presale is Ownable { using SafeMath for uint256; bool public isInit; bool public isDeposit; bool public isRefund; bool public isFinish; bool public burnTokens = true; address public creatorWallet; address public teamWallet; address public weth; uint8 public tokenDecimals = 18; uint256 public ethRaised; uint256 public percentageRaised; uint256 public tokensSold; struct Pool { uint64 startTime; uint64 endTime; uint256 tokenDeposit; uint256 tokensForSale; uint256 tokensForLiquidity; uint8 liquidityPortion; uint256 hardCap; uint256 softCap; uint256 maxBuy; uint256 minBuy; } IERC20 public tokenInstance; IUniswapV2Factory public UniswapV2Factory; IUniswapV2Router02 public UniswapV2Router02; Pool public pool; mapping(address => uint256) public ethContribution; modifier onlyActive() { require(block.timestamp >= pool.startTime, "Sale must be active."); require(block.timestamp <= pool.endTime, "Sale must be active."); _; } modifier onlyInactive() { require( block.timestamp < pool.startTime || block.timestamp > pool.endTime || ethRaised >= pool.hardCap, "Sale must be inactive." ); _; } modifier onlyRefund() { require( isRefund == true || (block.timestamp > pool.endTime && ethRaised < pool.softCap), "Refund unavailable." ); _; } constructor( IERC20 _tokenInstance, address _uniswapv2Router, address _uniswapv2Factory, address _teamWallet, address _weth ) { require(_uniswapv2Router != address(0), "Invalid router address"); require(_uniswapv2Factory != address(0), "Invalid factory address"); isInit = false; isDeposit = false; isFinish = false; isRefund = false; ethRaised = 0; teamWallet = _teamWallet; weth = _weth; tokenInstance = _tokenInstance; creatorWallet = address(payable(msg.sender)); UniswapV2Router02 = IUniswapV2Router02(_uniswapv2Router); UniswapV2Factory = IUniswapV2Factory(_uniswapv2Factory); require( UniswapV2Factory.getPair(address(tokenInstance), weth) == address(0), "IUniswap: Pool exists." ); tokenInstance.approve(_uniswapv2Router, tokenInstance.totalSupply()); } event Liquified( address indexed _token, address indexed _router, address indexed _pair ); event Canceled( address indexed _inititator, address indexed _token, address indexed _presale ); event Bought(address indexed _buyer, uint256 _tokenAmount); event Refunded(address indexed _refunder, uint256 _tokenAmount); event Deposited(address indexed _initiator, uint256 _totalDeposit); event Claimed(address indexed _participent, uint256 _tokenAmount); event RefundedRemainder(address indexed _initiator, uint256 _amount); event BurntRemainder(address indexed _initiator, uint256 _amount); event Withdraw(address indexed _creator, uint256 _amount); /* * Reverts ethers sent to this address whenever requirements are not met */ receive() external payable { if ( block.timestamp >= pool.startTime && block.timestamp <= pool.endTime ) { buyTokens(_msgSender()); } else { revert("Presale is closed"); } } /* * Initiates the arguments of the sale @dev arguments must be pa ssed in wei (amount*10**18) */ function initSale( uint64 _startTime, uint64 _endTime, uint256 _tokenDeposit, uint256 _tokensForSale, uint256 _tokensForLiquidity, uint8 _liquidityPortion, uint256 _hardCap, uint256 _softCap, uint256 _maxBuy, uint256 _minBuy ) external onlyOwner onlyInactive { require(isInit == false, "Sale no initialized"); require(_startTime >= block.timestamp, "Invalid start time."); require(_endTime > block.timestamp, "Invalid end time."); require(_tokenDeposit > 0, "Invalid token deposit."); require(_tokensForSale < _tokenDeposit, "Invalid tokens for sale."); require( _tokensForLiquidity < _tokenDeposit, "Invalid tokens for liquidity." ); require(_softCap >= _hardCap / 2, "SC must be >= HC/2."); require(_liquidityPortion >= 50, "Liquidity must be >=50."); require(_liquidityPortion <= 100, "Invalid liquidity."); require(_minBuy < _maxBuy, "Min buy must greater than max."); require(_minBuy > 0, "Min buy must exceed 0."); Pool memory newPool = Pool( _startTime, _endTime, _tokenDeposit, _tokensForSale, _tokensForLiquidity, _liquidityPortion, _hardCap, _softCap, _maxBuy, _minBuy ); pool = newPool; isInit = true; } /* * Once called the owner deposits tokens into pool */ function deposit() external onlyOwner { require(!isDeposit, "Tokens already deposited."); require(isInit, "Not initialized yet."); uint256 totalDeposit = _getTokenDeposit(); isDeposit = true; require( tokenInstance.transferFrom(msg.sender, address(this), totalDeposit), "Deposit failed." ); emit Deposited(msg.sender, totalDeposit); } /* * Finish the sale - Create Uniswap v2 pair, add liquidity, take fees, withrdawal funds, burn/refund unused tokens */ function finishSale() external onlyOwner onlyInactive { require(ethRaised >= pool.softCap, "Soft Cap is not met."); require( block.timestamp > pool.startTime, "Can not finish before start" ); require(!isFinish, "Sale already launched."); require(!isRefund, "Refund process."); percentageRaised = _getPercentageFromValue(ethRaised, pool.hardCap); tokensSold = _getValueFromPercentage( percentageRaised, pool.tokensForSale ); uint256 tokensForLiquidity = _getValueFromPercentage( percentageRaised, pool.tokensForLiquidity ); isFinish = true; //add liquidity (uint256 amountToken, uint256 amountETH, ) = UniswapV2Router02 .addLiquidityETH{value: _getLiquidityEth()}( address(tokenInstance), tokensForLiquidity, tokensForLiquidity, _getLiquidityEth(), owner(), block.timestamp + 600 ); require( amountToken == tokensForLiquidity && amountETH == _getLiquidityEth(), "Providing liquidity failed." ); emit Liquified( address(tokenInstance), address(UniswapV2Router02), UniswapV2Factory.getPair(address(tokenInstance), weth) ); //withrawal eth uint256 ownerShareEth = _getOwnerEth(); if (ownerShareEth > 0) { payable(creatorWallet).transfer(ownerShareEth); } //If HC is not reached, burn or refund the remainder if (ethRaised < pool.hardCap) { uint256 remainder = _getUserTokens(pool.hardCap - ethRaised) + (pool.tokensForLiquidity - tokensForLiquidity); if (burnTokens == true) { require( tokenInstance.transfer( 0x000000000000000000000000000000000000dEaD, remainder ), "Unable to burn." ); emit BurntRemainder(msg.sender, remainder); } else { require( tokenInstance.transfer(creatorWallet, remainder), "Refund failed." ); emit RefundedRemainder(msg.sender, remainder); } } } /* * The owner can decide to close the sale if it is still active NOTE: Creator may call this function even if the Hard Cap is reached, to prevent it use: require(ethRaised < pool.hardCap) */ function cancelSale() external onlyOwner onlyActive { require(!isFinish, "Sale finished."); pool.endTime = 0; isRefund = true; if (tokenInstance.balanceOf(address(this)) > 0) { uint256 tokenDeposit = _getTokenDeposit(); tokenInstance.transfer(msg.sender, tokenDeposit); emit Withdraw(msg.sender, tokenDeposit); } emit Canceled(msg.sender, address(tokenInstance), address(this)); } /* * Allows participents to claim the tokens they purchased */ function claimTokens() external onlyInactive { require(isFinish, "Sale is still active."); require(!isRefund, "Refund process."); uint256 tokensAmount = _getUserTokens(ethContribution[msg.sender]); ethContribution[msg.sender] = 0; require( tokenInstance.transfer(msg.sender, tokensAmount), "Claim failed." ); emit Claimed(msg.sender, tokensAmount); } /* * Refunds the Eth to participents */ function refund() external onlyInactive onlyRefund { uint256 refundAmount = ethContribution[msg.sender]; require(refundAmount > 0, "No refund amount"); require(address(this).balance >= refundAmount, "No amount available"); ethContribution[msg.sender] = 0; address payable refunder = payable(msg.sender); refunder.transfer(refundAmount); emit Refunded(refunder, refundAmount); } /* * Withdrawal tokens on refund */ function withrawTokens() external onlyOwner onlyInactive onlyRefund { if (tokenInstance.balanceOf(address(this)) > 0) { uint256 tokenDeposit = _getTokenDeposit(); require( tokenInstance.transfer(msg.sender, tokenDeposit), "Withdraw failed." ); emit Withdraw(msg.sender, tokenDeposit); } } /* * If requirements are passed, updates user"s token balance based on their eth contribution */ function buyTokens(address _contributor) public payable onlyActive { require(isDeposit, "Tokens not deposited."); require(_contributor != address(0), "Transfer to 0 address."); require(msg.value != 0, "Wei Amount is 0"); require(msg.value >= pool.minBuy, "Min buy is not met."); require( msg.value + ethContribution[_contributor] <= pool.maxBuy, "Max buy limit exceeded." ); require(ethRaised + msg.value <= pool.hardCap, "HC Reached."); ethRaised += msg.value; ethContribution[msg.sender] += msg.value; } /* * Internal functions, called when calculating balances */ function _getUserTokens(uint256 _amount) internal view returns (uint256) { return _amount.mul(tokensSold).div(ethRaised); } function _getLiquidityEth() internal view returns (uint256) { return _getValueFromPercentage(pool.liquidityPortion, ethRaised); } function _getOwnerEth() internal view returns (uint256) { uint256 liquidityEthFee = _getLiquidityEth(); return ethRaised - liquidityEthFee; } function _getTokenDeposit() internal view returns (uint256) { return pool.tokenDeposit; } function _getPercentageFromValue(uint256 currentValue, uint256 maxValue) private pure returns (uint256) { require(currentValue <= maxValue, "Number too high"); return currentValue.mul(100).div(maxValue); } function _getValueFromPercentage( uint256 currentPercentage, uint256 maxValue ) private pure returns (uint256) { require(currentPercentage <= 100, "Number too high"); return maxValue.mul(currentPercentage).div(100); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"_tokenInstance","type":"address"},{"internalType":"address","name":"_uniswapv2Router","type":"address"},{"internalType":"address","name":"_uniswapv2Factory","type":"address"},{"internalType":"address","name":"_teamWallet","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_initiator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BurntRemainder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_inititator","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_presale","type":"address"}],"name":"Canceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_participent","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_initiator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_totalDeposit","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_router","type":"address"},{"indexed":true,"internalType":"address","name":"_pair","type":"address"}],"name":"Liquified","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":true,"internalType":"address","name":"_refunder","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_initiator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"RefundedRemainder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"UniswapV2Factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniswapV2Router02","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contributor","type":"address"}],"name":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cancelSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creatorWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ethContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finishSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_startTime","type":"uint64"},{"internalType":"uint64","name":"_endTime","type":"uint64"},{"internalType":"uint256","name":"_tokenDeposit","type":"uint256"},{"internalType":"uint256","name":"_tokensForSale","type":"uint256"},{"internalType":"uint256","name":"_tokensForLiquidity","type":"uint256"},{"internalType":"uint8","name":"_liquidityPortion","type":"uint8"},{"internalType":"uint256","name":"_hardCap","type":"uint256"},{"internalType":"uint256","name":"_softCap","type":"uint256"},{"internalType":"uint256","name":"_maxBuy","type":"uint256"},{"internalType":"uint256","name":"_minBuy","type":"uint256"}],"name":"initSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isDeposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFinish","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isInit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRefund","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentageRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"uint256","name":"tokenDeposit","type":"uint256"},{"internalType":"uint256","name":"tokensForSale","type":"uint256"},{"internalType":"uint256","name":"tokensForLiquidity","type":"uint256"},{"internalType":"uint8","name":"liquidityPortion","type":"uint8"},{"internalType":"uint256","name":"hardCap","type":"uint256"},{"internalType":"uint256","name":"softCap","type":"uint256"},{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"minBuy","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenInstance","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000805460ff60c01b1916600160c01b17905560038054600960a11b60ff60a01b199091161790553480156200003957600080fd5b506040516200276b3803806200276b8339810160408190526200005c91620003b4565b62000067336200034b565b6001600160a01b038416620000c35760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420726f7574657220616464726573730000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166200011b5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420666163746f727920616464726573730000000000000000006044820152606401620000ba565b6000805463ffffffff60a01b191681556004818155600280546001600160a01b038681166001600160a01b031992831617909255600380548684169083168117909155600780548b8516908416811790915560018054841633179055600980548b861690851617905560088054948a1694909316841790925560405163e6a4390560e01b81529384019190915260248301529063e6a4390590604401602060405180830381865afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb919062000434565b6001600160a01b031614620002535760405162461bcd60e51b815260206004820152601660248201527f49556e69737761703a20506f6f6c206578697374732e000000000000000000006044820152606401620000ba565b600754604080516318160ddd60e01b815290516001600160a01b039092169163095ea7b391879184916318160ddd9160048083019260209291908290030181865afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd91906200045b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f919062000475565b50505050505062000499565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620003b157600080fd5b50565b600080600080600060a08688031215620003cd57600080fd5b8551620003da816200039b565b6020870151909550620003ed816200039b565b604087015190945062000400816200039b565b606087015190935062000413816200039b565b608087015190925062000426816200039b565b809150509295509295909350565b6000602082840312156200044757600080fd5b815162000454816200039b565b9392505050565b6000602082840312156200046e57600080fd5b5051919050565b6000602082840312156200048857600080fd5b815180151581146200045457600080fd5b6122c280620004a96000396000f3fe6080604052600436106101bb5760003560e01c80637bc3b5ff116100ec578063d64428e31161008a578063ec8ac4d811610064578063ec8ac4d8146105dd578063f2fde38b146105eb578063fddf0fc01461060b578063ffa324dc1461062157600080fd5b8063d64428e314610591578063d921eb78146105a7578063e7e10490146105c857600080fd5b80638f86f5ea116100c65780638f86f5ea14610526578063b145a5b81461053b578063ca62089e1461055c578063d0e30db01461057c57600080fd5b80637bc3b5ff146104c75780637cdc65f2146104e85780638da5cb5b1461050857600080fd5b8063518ab2a81161015957806359927044116101335780635992704414610452578063658030b314610472578063715018a61461049257806378cc70b2146104a757600080fd5b8063518ab2a81461040757806355cb26661461041d578063590e1ae31461043d57600080fd5b80633b97e856116101955780633b97e8561461034c5780633fc8cef31461037f5780634034175e146103b757806348c54b9d146103f257600080fd5b806308003f781461024857806316f0115b1461027e5780632c8ca0ea1461032b57600080fd5b3661024357600a546001600160401b031642108015906101ed5750600a54600160401b90046001600160401b03164211155b156102025761020033610636565b610636565b005b60405162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a5cc818db1bdcd959607a1b60448201526064015b60405180910390fd5b600080fd5b34801561025457600080fd5b5060005461026990600160c01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561028a57600080fd5b50600a54600b54600c54600d54600e54600f546010546011546012546102d3986001600160401b0380821699600160401b909204169790969095909460ff90911693909290918a565b604080516001600160401b039b8c1681529a90991660208b0152978901969096526060880194909452608087019290925260ff1660a086015260c085015260e084015261010083015261012082015261014001610275565b34801561033757600080fd5b5060005461026990600160b81b900460ff1681565b34801561035857600080fd5b5060035461036d90600160a01b900460ff1681565b60405160ff9091168152602001610275565b34801561038b57600080fd5b5060035461039f906001600160a01b031681565b6040516001600160a01b039091168152602001610275565b3480156103c357600080fd5b506103e46103d2366004612069565b60136020526000908152604090205481565b604051908152602001610275565b3480156103fe57600080fd5b506102006108bc565b34801561041357600080fd5b506103e460065481565b34801561042957600080fd5b5060095461039f906001600160a01b031681565b34801561044957600080fd5b50610200610ac9565b34801561045e57600080fd5b5060025461039f906001600160a01b031681565b34801561047e57600080fd5b5060075461039f906001600160a01b031681565b34801561049e57600080fd5b50610200610cb6565b3480156104b357600080fd5b5060085461039f906001600160a01b031681565b3480156104d357600080fd5b5060005461026990600160a81b900460ff1681565b3480156104f457600080fd5b5060015461039f906001600160a01b031681565b34801561051457600080fd5b506000546001600160a01b031661039f565b34801561053257600080fd5b50610200610cca565b34801561054757600080fd5b5060005461026990600160a01b900460ff1681565b34801561056857600080fd5b506102006105773660046120a2565b611342565b34801561058857600080fd5b506102006117c5565b34801561059d57600080fd5b506103e460055481565b3480156105b357600080fd5b5060005461026990600160b01b900460ff1681565b3480156105d457600080fd5b50610200611981565b6102006101fb366004612069565b3480156105f757600080fd5b50610200610606366004612069565b611bc4565b34801561061757600080fd5b506103e460045481565b34801561062d57600080fd5b50610200611c3d565b600a546001600160401b03164210156106615760405162461bcd60e51b815260040161023a90612133565b600a54600160401b90046001600160401b03164211156106935760405162461bcd60e51b815260040161023a90612133565b600054600160a81b900460ff166106e45760405162461bcd60e51b81526020600482015260156024820152742a37b5b2b739903737ba103232b837b9b4ba32b21760591b604482015260640161023a565b6001600160a01b0381166107335760405162461bcd60e51b81526020600482015260166024820152752a3930b739b332b9103a3790181030b2323932b9b99760511b604482015260640161023a565b346000036107755760405162461bcd60e51b815260206004820152600f60248201526e057656920416d6f756e74206973203608c1b604482015260640161023a565b6012543410156107bd5760405162461bcd60e51b815260206004820152601360248201527226b4b710313abc9034b9903737ba1036b2ba1760691b604482015260640161023a565b6011546001600160a01b0382166000908152601360205260409020546107e39034612177565b11156108315760405162461bcd60e51b815260206004820152601760248201527f4d617820627579206c696d69742065786365656465642e000000000000000000604482015260640161023a565b600f54600454610842903490612177565b111561087e5760405162461bcd60e51b815260206004820152600b60248201526a2421902932b0b1b432b21760a91b604482015260640161023a565b34600460008282546108909190612177565b909155505033600090815260136020526040812080543492906108b4908490612177565b909155505050565b600a546001600160401b03164210806108e65750600a54600160401b90046001600160401b031642115b806108f55750600f5460045410155b6109115760405162461bcd60e51b815260040161023a9061218a565b600054600160b81b900460ff166109625760405162461bcd60e51b815260206004820152601560248201527429b0b6329034b99039ba34b6361030b1ba34bb329760591b604482015260640161023a565b600054600160b01b900460ff16156109ae5760405162461bcd60e51b815260206004820152600f60248201526e2932b33ab73210383937b1b2b9b99760891b604482015260640161023a565b336000908152601360205260408120546109c790611e7d565b3360008181526013602052604080822091909155600754905163a9059cbb60e01b81526004810192909252602482018390529192506001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5491906121ba565b610a905760405162461bcd60e51b815260206004820152600d60248201526c21b630b4b6903330b4b632b21760991b604482015260640161023a565b60405181815233907fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a906020015b60405180910390a250565b600a546001600160401b0316421080610af35750600a54600160401b90046001600160401b031642115b80610b025750600f5460045410155b610b1e5760405162461bcd60e51b815260040161023a9061218a565b600054600160b01b900460ff16151560011480610b5a5750600a54600160401b90046001600160401b031642118015610b5a5750601054600454105b610b9c5760405162461bcd60e51b81526020600482015260136024820152722932b33ab732103ab730bb30b4b630b136329760691b604482015260640161023a565b3360009081526013602052604090205480610bec5760405162461bcd60e51b815260206004820152601060248201526f139bc81c99599d5b9908185b5bdd5b9d60821b604482015260640161023a565b80471015610c325760405162461bcd60e51b81526020600482015260136024820152724e6f20616d6f756e7420617661696c61626c6560681b604482015260640161023a565b3360008181526013602052604080822082905551829184156108fc02918591818181858888f19350505050158015610c6e573d6000803e3d6000fd5b50806001600160a01b03167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d065183604051610caa91815260200190565b60405180910390a25050565b610cbe611ea6565b610cc86000611f00565b565b610cd2611ea6565b600a546001600160401b0316421080610cfc5750600a54600160401b90046001600160401b031642115b80610d0b5750600f5460045410155b610d275760405162461bcd60e51b815260040161023a9061218a565b6010546004541015610d725760405162461bcd60e51b815260206004820152601460248201527329b7b33a1021b0b81034b9903737ba1036b2ba1760611b604482015260640161023a565b600a546001600160401b03164211610dcc5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742066696e697368206265666f72652073746172740000000000604482015260640161023a565b600054600160b81b900460ff1615610e1f5760405162461bcd60e51b815260206004820152601660248201527529b0b6329030b63932b0b23c903630bab731b432b21760511b604482015260640161023a565b600054600160b01b900460ff1615610e6b5760405162461bcd60e51b815260206004820152600f60248201526e2932b33ab73210383937b1b2b9b99760891b604482015260640161023a565b610e7c600454600a60050154611f50565b6005819055600c54610e8e9190611faa565b600655600554600d54600091610ea391611faa565b6000805460ff60b81b1916600160b81b1781556009549192509081906001600160a01b031663f305d719610ed5611ffe565b6007546001600160a01b03168680610eeb611ffe565b6000546001600160a01b0316610f0342610258612177565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610f70573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f9591906121dc565b50915091508282148015610faf5750610fac611ffe565b81145b610ffb5760405162461bcd60e51b815260206004820152601b60248201527f50726f766964696e67206c6971756964697479206661696c65642e0000000000604482015260640161023a565b60085460075460035460405163e6a4390560e01b81526001600160a01b039283166004820152908216602482015291169063e6a4390590604401602060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611076919061220a565b6009546007546040516001600160a01b039384169392831692909116907f855e21f045401bd18ad033c48b74263dc6e037024f082f3118fa5b79b8c63cf890600090a460006110c361201b565b90508015611107576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611105573d6000803e3d6000fd5b505b600f54600454101561133c57600d54600090611124908690612227565b600454600f5461113c9161113791612227565b611e7d565b6111469190612177565b600054909150600160c01b900460ff16151560010361124e5760075460405163a9059cbb60e01b815261dead6004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156111b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d691906121ba565b6112145760405162461bcd60e51b815260206004820152600f60248201526e2ab730b13632903a3790313ab9371760891b604482015260640161023a565b60405181815233907ff64f45e6447f41665c556373a7683d2b9537f22f7498825a215561a075d341959060200160405180910390a261133a565b60075460015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c791906121ba565b6113045760405162461bcd60e51b815260206004820152600e60248201526d2932b33ab732103330b4b632b21760911b604482015260640161023a565b60405181815233907fb2a2a849a821dbd9c9ae4fad722faef4e72c7edbbadaeeaabfdba3c1b17aa86a9060200160405180910390a25b505b50505050565b61134a611ea6565b600a546001600160401b03164210806113745750600a54600160401b90046001600160401b031642115b806113835750600f5460045410155b61139f5760405162461bcd60e51b815260040161023a9061218a565b600054600160a01b900460ff16156113ef5760405162461bcd60e51b815260206004820152601360248201527214d85b19481b9bc81a5b9a5d1a585b1a5e9959606a1b604482015260640161023a565b428a6001600160401b0316101561143e5760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b21039ba30b93a103a34b6b29760691b604482015260640161023a565b42896001600160401b03161161148a5760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21032b732103a34b6b29760791b604482015260640161023a565b600088116114d35760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103a37b5b2b7103232b837b9b4ba1760511b604482015260640161023a565b8787106115225760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420746f6b656e7320666f722073616c652e0000000000000000604482015260640161023a565b8786106115715760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420746f6b656e7320666f72206c69717569646974792e000000604482015260640161023a565b61157c60028561223a565b8310156115c15760405162461bcd60e51b815260206004820152601360248201527229a19036bab9ba103132901f1e90242197991760691b604482015260640161023a565b60328560ff1610156116155760405162461bcd60e51b815260206004820152601760248201527f4c6971756964697479206d757374206265203e3d35302e000000000000000000604482015260640161023a565b60648560ff16111561165e5760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103634b8bab4b234ba3c9760711b604482015260640161023a565b8181106116ad5760405162461bcd60e51b815260206004820152601e60248201527f4d696e20627579206d7573742067726561746572207468616e206d61782e0000604482015260640161023a565b600081116116f65760405162461bcd60e51b815260206004820152601660248201527526b4b710313abc9036bab9ba1032bc31b2b2b210181760511b604482015260640161023a565b60408051610140810182526001600160401b039b8c168082529a909b1660208c01819052908b0189905260608b0188905260808b0187905260ff90951660a08b0181905260c08b0185905260e08b018490526101008b01839052610120909a01819052600a8054600160401b9096026fffffffffffffffffffffffffffffffff1990961690991794909417909755600b95909555600c93909355600d91909155600e805460ff1916909517909455600f556010556011556012556000805460ff60a01b1916600160a01b179055565b6117cd611ea6565b600054600160a81b900460ff16156118275760405162461bcd60e51b815260206004820152601960248201527f546f6b656e7320616c7265616479206465706f73697465642e00000000000000604482015260640161023a565b600054600160a01b900460ff166118775760405162461bcd60e51b81526020600482015260146024820152732737ba1034b734ba34b0b634bd32b2103cb2ba1760611b604482015260640161023a565b6000611882600b5490565b6000805460ff60a81b1916600160a81b1790556007546040516323b872dd60e01b8152336004820152306024820152604481018390529192506001600160a01b0316906323b872dd906064016020604051808303816000875af11580156118ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191191906121ba565b61194f5760405162461bcd60e51b815260206004820152600f60248201526e2232b837b9b4ba103330b4b632b21760891b604482015260640161023a565b60405181815233907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610abe565b611989611ea6565b600a546001600160401b03164210156119b45760405162461bcd60e51b815260040161023a90612133565b600a54600160401b90046001600160401b03164211156119e65760405162461bcd60e51b815260040161023a90612133565b600054600160b81b900460ff1615611a315760405162461bcd60e51b815260206004820152600e60248201526d29b0b632903334b734b9b432b21760911b604482015260640161023a565b600a80546fffffffffffffffff0000000000000000191690556000805460ff60b01b1916600160b01b1781556007546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac9919061225c565b1115611b88576000611ada600b5490565b60075460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5091906121ba565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505b60075460405130916001600160a01b03169033907f72452f1a219141fd5d3814b0d1d79e431ceb617f33a3a07bdd18a1a64ed0a6e890600090a4565b611bcc611ea6565b6001600160a01b038116611c315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023a565b611c3a81611f00565b50565b611c45611ea6565b600a546001600160401b0316421080611c6f5750600a54600160401b90046001600160401b031642115b80611c7e5750600f5460045410155b611c9a5760405162461bcd60e51b815260040161023a9061218a565b600054600160b01b900460ff16151560011480611cd65750600a54600160401b90046001600160401b031642118015611cd65750601054600454105b611d185760405162461bcd60e51b81526020600482015260136024820152722932b33ab732103ab730bb30b4b630b136329760691b604482015260640161023a565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d85919061225c565b1115610cc8576000611d96600b5490565b60075460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0c91906121ba565b611e4b5760405162461bcd60e51b815260206004820152601060248201526f2bb4ba34323930bb903330b4b632b21760811b604482015260640161023a565b60405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602001610abe565b6000611ea0600454611e9a6006548561203c90919063ffffffff16565b90612048565b92915050565b6000546001600160a01b03163314610cc85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161023a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081831115611f945760405162461bcd60e51b815260206004820152600f60248201526e09ceadac4cae440e8dede40d0d2ced608b1b604482015260640161023a565b611fa382611e9a85606461203c565b9392505050565b60006064831115611fef5760405162461bcd60e51b815260206004820152600f60248201526e09ceadac4cae440e8dede40d0d2ced608b1b604482015260640161023a565b611fa36064611e9a848661203c565b600e546004546000916120169160ff90911690611faa565b905090565b600080612026611ffe565b9050806004546120369190612227565b91505090565b6000611fa38284612275565b6000611fa3828461223a565b6001600160a01b0381168114611c3a57600080fd5b60006020828403121561207b57600080fd5b8135611fa381612054565b80356001600160401b038116811461209d57600080fd5b919050565b6000806000806000806000806000806101408b8d0312156120c257600080fd5b6120cb8b612086565b99506120d960208c01612086565b985060408b0135975060608b0135965060808b0135955060a08b013560ff8116811461210457600080fd5b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b60208082526014908201527329b0b6329036bab9ba1031329030b1ba34bb329760611b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115611ea057611ea0612161565b60208082526016908201527529b0b6329036bab9ba1031329034b730b1ba34bb329760511b604082015260600190565b6000602082840312156121cc57600080fd5b81518015158114611fa357600080fd5b6000806000606084860312156121f157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561221c57600080fd5b8151611fa381612054565b81810381811115611ea057611ea0612161565b60008261225757634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561226e57600080fd5b5051919050565b8082028115828204841417611ea057611ea061216156fea26469706673582212208e0e205c2810594699f4f672359e8fa726cbda69bfaa160e07f107650b990d5364736f6c634300081200330000000000000000000000007453e75ceced1546b992b97fb77a9dac5bfda2ae0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000004687f6b19b5ceea0cd50eca6711127b23602deac000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80637bc3b5ff116100ec578063d64428e31161008a578063ec8ac4d811610064578063ec8ac4d8146105dd578063f2fde38b146105eb578063fddf0fc01461060b578063ffa324dc1461062157600080fd5b8063d64428e314610591578063d921eb78146105a7578063e7e10490146105c857600080fd5b80638f86f5ea116100c65780638f86f5ea14610526578063b145a5b81461053b578063ca62089e1461055c578063d0e30db01461057c57600080fd5b80637bc3b5ff146104c75780637cdc65f2146104e85780638da5cb5b1461050857600080fd5b8063518ab2a81161015957806359927044116101335780635992704414610452578063658030b314610472578063715018a61461049257806378cc70b2146104a757600080fd5b8063518ab2a81461040757806355cb26661461041d578063590e1ae31461043d57600080fd5b80633b97e856116101955780633b97e8561461034c5780633fc8cef31461037f5780634034175e146103b757806348c54b9d146103f257600080fd5b806308003f781461024857806316f0115b1461027e5780632c8ca0ea1461032b57600080fd5b3661024357600a546001600160401b031642108015906101ed5750600a54600160401b90046001600160401b03164211155b156102025761020033610636565b610636565b005b60405162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a5cc818db1bdcd959607a1b60448201526064015b60405180910390fd5b600080fd5b34801561025457600080fd5b5060005461026990600160c01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561028a57600080fd5b50600a54600b54600c54600d54600e54600f546010546011546012546102d3986001600160401b0380821699600160401b909204169790969095909460ff90911693909290918a565b604080516001600160401b039b8c1681529a90991660208b0152978901969096526060880194909452608087019290925260ff1660a086015260c085015260e084015261010083015261012082015261014001610275565b34801561033757600080fd5b5060005461026990600160b81b900460ff1681565b34801561035857600080fd5b5060035461036d90600160a01b900460ff1681565b60405160ff9091168152602001610275565b34801561038b57600080fd5b5060035461039f906001600160a01b031681565b6040516001600160a01b039091168152602001610275565b3480156103c357600080fd5b506103e46103d2366004612069565b60136020526000908152604090205481565b604051908152602001610275565b3480156103fe57600080fd5b506102006108bc565b34801561041357600080fd5b506103e460065481565b34801561042957600080fd5b5060095461039f906001600160a01b031681565b34801561044957600080fd5b50610200610ac9565b34801561045e57600080fd5b5060025461039f906001600160a01b031681565b34801561047e57600080fd5b5060075461039f906001600160a01b031681565b34801561049e57600080fd5b50610200610cb6565b3480156104b357600080fd5b5060085461039f906001600160a01b031681565b3480156104d357600080fd5b5060005461026990600160a81b900460ff1681565b3480156104f457600080fd5b5060015461039f906001600160a01b031681565b34801561051457600080fd5b506000546001600160a01b031661039f565b34801561053257600080fd5b50610200610cca565b34801561054757600080fd5b5060005461026990600160a01b900460ff1681565b34801561056857600080fd5b506102006105773660046120a2565b611342565b34801561058857600080fd5b506102006117c5565b34801561059d57600080fd5b506103e460055481565b3480156105b357600080fd5b5060005461026990600160b01b900460ff1681565b3480156105d457600080fd5b50610200611981565b6102006101fb366004612069565b3480156105f757600080fd5b50610200610606366004612069565b611bc4565b34801561061757600080fd5b506103e460045481565b34801561062d57600080fd5b50610200611c3d565b600a546001600160401b03164210156106615760405162461bcd60e51b815260040161023a90612133565b600a54600160401b90046001600160401b03164211156106935760405162461bcd60e51b815260040161023a90612133565b600054600160a81b900460ff166106e45760405162461bcd60e51b81526020600482015260156024820152742a37b5b2b739903737ba103232b837b9b4ba32b21760591b604482015260640161023a565b6001600160a01b0381166107335760405162461bcd60e51b81526020600482015260166024820152752a3930b739b332b9103a3790181030b2323932b9b99760511b604482015260640161023a565b346000036107755760405162461bcd60e51b815260206004820152600f60248201526e057656920416d6f756e74206973203608c1b604482015260640161023a565b6012543410156107bd5760405162461bcd60e51b815260206004820152601360248201527226b4b710313abc9034b9903737ba1036b2ba1760691b604482015260640161023a565b6011546001600160a01b0382166000908152601360205260409020546107e39034612177565b11156108315760405162461bcd60e51b815260206004820152601760248201527f4d617820627579206c696d69742065786365656465642e000000000000000000604482015260640161023a565b600f54600454610842903490612177565b111561087e5760405162461bcd60e51b815260206004820152600b60248201526a2421902932b0b1b432b21760a91b604482015260640161023a565b34600460008282546108909190612177565b909155505033600090815260136020526040812080543492906108b4908490612177565b909155505050565b600a546001600160401b03164210806108e65750600a54600160401b90046001600160401b031642115b806108f55750600f5460045410155b6109115760405162461bcd60e51b815260040161023a9061218a565b600054600160b81b900460ff166109625760405162461bcd60e51b815260206004820152601560248201527429b0b6329034b99039ba34b6361030b1ba34bb329760591b604482015260640161023a565b600054600160b01b900460ff16156109ae5760405162461bcd60e51b815260206004820152600f60248201526e2932b33ab73210383937b1b2b9b99760891b604482015260640161023a565b336000908152601360205260408120546109c790611e7d565b3360008181526013602052604080822091909155600754905163a9059cbb60e01b81526004810192909252602482018390529192506001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5491906121ba565b610a905760405162461bcd60e51b815260206004820152600d60248201526c21b630b4b6903330b4b632b21760991b604482015260640161023a565b60405181815233907fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a906020015b60405180910390a250565b600a546001600160401b0316421080610af35750600a54600160401b90046001600160401b031642115b80610b025750600f5460045410155b610b1e5760405162461bcd60e51b815260040161023a9061218a565b600054600160b01b900460ff16151560011480610b5a5750600a54600160401b90046001600160401b031642118015610b5a5750601054600454105b610b9c5760405162461bcd60e51b81526020600482015260136024820152722932b33ab732103ab730bb30b4b630b136329760691b604482015260640161023a565b3360009081526013602052604090205480610bec5760405162461bcd60e51b815260206004820152601060248201526f139bc81c99599d5b9908185b5bdd5b9d60821b604482015260640161023a565b80471015610c325760405162461bcd60e51b81526020600482015260136024820152724e6f20616d6f756e7420617661696c61626c6560681b604482015260640161023a565b3360008181526013602052604080822082905551829184156108fc02918591818181858888f19350505050158015610c6e573d6000803e3d6000fd5b50806001600160a01b03167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d065183604051610caa91815260200190565b60405180910390a25050565b610cbe611ea6565b610cc86000611f00565b565b610cd2611ea6565b600a546001600160401b0316421080610cfc5750600a54600160401b90046001600160401b031642115b80610d0b5750600f5460045410155b610d275760405162461bcd60e51b815260040161023a9061218a565b6010546004541015610d725760405162461bcd60e51b815260206004820152601460248201527329b7b33a1021b0b81034b9903737ba1036b2ba1760611b604482015260640161023a565b600a546001600160401b03164211610dcc5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742066696e697368206265666f72652073746172740000000000604482015260640161023a565b600054600160b81b900460ff1615610e1f5760405162461bcd60e51b815260206004820152601660248201527529b0b6329030b63932b0b23c903630bab731b432b21760511b604482015260640161023a565b600054600160b01b900460ff1615610e6b5760405162461bcd60e51b815260206004820152600f60248201526e2932b33ab73210383937b1b2b9b99760891b604482015260640161023a565b610e7c600454600a60050154611f50565b6005819055600c54610e8e9190611faa565b600655600554600d54600091610ea391611faa565b6000805460ff60b81b1916600160b81b1781556009549192509081906001600160a01b031663f305d719610ed5611ffe565b6007546001600160a01b03168680610eeb611ffe565b6000546001600160a01b0316610f0342610258612177565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610f70573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f9591906121dc565b50915091508282148015610faf5750610fac611ffe565b81145b610ffb5760405162461bcd60e51b815260206004820152601b60248201527f50726f766964696e67206c6971756964697479206661696c65642e0000000000604482015260640161023a565b60085460075460035460405163e6a4390560e01b81526001600160a01b039283166004820152908216602482015291169063e6a4390590604401602060405180830381865afa158015611052573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611076919061220a565b6009546007546040516001600160a01b039384169392831692909116907f855e21f045401bd18ad033c48b74263dc6e037024f082f3118fa5b79b8c63cf890600090a460006110c361201b565b90508015611107576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611105573d6000803e3d6000fd5b505b600f54600454101561133c57600d54600090611124908690612227565b600454600f5461113c9161113791612227565b611e7d565b6111469190612177565b600054909150600160c01b900460ff16151560010361124e5760075460405163a9059cbb60e01b815261dead6004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156111b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d691906121ba565b6112145760405162461bcd60e51b815260206004820152600f60248201526e2ab730b13632903a3790313ab9371760891b604482015260640161023a565b60405181815233907ff64f45e6447f41665c556373a7683d2b9537f22f7498825a215561a075d341959060200160405180910390a261133a565b60075460015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c791906121ba565b6113045760405162461bcd60e51b815260206004820152600e60248201526d2932b33ab732103330b4b632b21760911b604482015260640161023a565b60405181815233907fb2a2a849a821dbd9c9ae4fad722faef4e72c7edbbadaeeaabfdba3c1b17aa86a9060200160405180910390a25b505b50505050565b61134a611ea6565b600a546001600160401b03164210806113745750600a54600160401b90046001600160401b031642115b806113835750600f5460045410155b61139f5760405162461bcd60e51b815260040161023a9061218a565b600054600160a01b900460ff16156113ef5760405162461bcd60e51b815260206004820152601360248201527214d85b19481b9bc81a5b9a5d1a585b1a5e9959606a1b604482015260640161023a565b428a6001600160401b0316101561143e5760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b21039ba30b93a103a34b6b29760691b604482015260640161023a565b42896001600160401b03161161148a5760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21032b732103a34b6b29760791b604482015260640161023a565b600088116114d35760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103a37b5b2b7103232b837b9b4ba1760511b604482015260640161023a565b8787106115225760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420746f6b656e7320666f722073616c652e0000000000000000604482015260640161023a565b8786106115715760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420746f6b656e7320666f72206c69717569646974792e000000604482015260640161023a565b61157c60028561223a565b8310156115c15760405162461bcd60e51b815260206004820152601360248201527229a19036bab9ba103132901f1e90242197991760691b604482015260640161023a565b60328560ff1610156116155760405162461bcd60e51b815260206004820152601760248201527f4c6971756964697479206d757374206265203e3d35302e000000000000000000604482015260640161023a565b60648560ff16111561165e5760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103634b8bab4b234ba3c9760711b604482015260640161023a565b8181106116ad5760405162461bcd60e51b815260206004820152601e60248201527f4d696e20627579206d7573742067726561746572207468616e206d61782e0000604482015260640161023a565b600081116116f65760405162461bcd60e51b815260206004820152601660248201527526b4b710313abc9036bab9ba1032bc31b2b2b210181760511b604482015260640161023a565b60408051610140810182526001600160401b039b8c168082529a909b1660208c01819052908b0189905260608b0188905260808b0187905260ff90951660a08b0181905260c08b0185905260e08b018490526101008b01839052610120909a01819052600a8054600160401b9096026fffffffffffffffffffffffffffffffff1990961690991794909417909755600b95909555600c93909355600d91909155600e805460ff1916909517909455600f556010556011556012556000805460ff60a01b1916600160a01b179055565b6117cd611ea6565b600054600160a81b900460ff16156118275760405162461bcd60e51b815260206004820152601960248201527f546f6b656e7320616c7265616479206465706f73697465642e00000000000000604482015260640161023a565b600054600160a01b900460ff166118775760405162461bcd60e51b81526020600482015260146024820152732737ba1034b734ba34b0b634bd32b2103cb2ba1760611b604482015260640161023a565b6000611882600b5490565b6000805460ff60a81b1916600160a81b1790556007546040516323b872dd60e01b8152336004820152306024820152604481018390529192506001600160a01b0316906323b872dd906064016020604051808303816000875af11580156118ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191191906121ba565b61194f5760405162461bcd60e51b815260206004820152600f60248201526e2232b837b9b4ba103330b4b632b21760891b604482015260640161023a565b60405181815233907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610abe565b611989611ea6565b600a546001600160401b03164210156119b45760405162461bcd60e51b815260040161023a90612133565b600a54600160401b90046001600160401b03164211156119e65760405162461bcd60e51b815260040161023a90612133565b600054600160b81b900460ff1615611a315760405162461bcd60e51b815260206004820152600e60248201526d29b0b632903334b734b9b432b21760911b604482015260640161023a565b600a80546fffffffffffffffff0000000000000000191690556000805460ff60b01b1916600160b01b1781556007546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac9919061225c565b1115611b88576000611ada600b5490565b60075460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5091906121ba565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505b60075460405130916001600160a01b03169033907f72452f1a219141fd5d3814b0d1d79e431ceb617f33a3a07bdd18a1a64ed0a6e890600090a4565b611bcc611ea6565b6001600160a01b038116611c315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023a565b611c3a81611f00565b50565b611c45611ea6565b600a546001600160401b0316421080611c6f5750600a54600160401b90046001600160401b031642115b80611c7e5750600f5460045410155b611c9a5760405162461bcd60e51b815260040161023a9061218a565b600054600160b01b900460ff16151560011480611cd65750600a54600160401b90046001600160401b031642118015611cd65750601054600454105b611d185760405162461bcd60e51b81526020600482015260136024820152722932b33ab732103ab730bb30b4b630b136329760691b604482015260640161023a565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d85919061225c565b1115610cc8576000611d96600b5490565b60075460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0c91906121ba565b611e4b5760405162461bcd60e51b815260206004820152601060248201526f2bb4ba34323930bb903330b4b632b21760811b604482015260640161023a565b60405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490602001610abe565b6000611ea0600454611e9a6006548561203c90919063ffffffff16565b90612048565b92915050565b6000546001600160a01b03163314610cc85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161023a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081831115611f945760405162461bcd60e51b815260206004820152600f60248201526e09ceadac4cae440e8dede40d0d2ced608b1b604482015260640161023a565b611fa382611e9a85606461203c565b9392505050565b60006064831115611fef5760405162461bcd60e51b815260206004820152600f60248201526e09ceadac4cae440e8dede40d0d2ced608b1b604482015260640161023a565b611fa36064611e9a848661203c565b600e546004546000916120169160ff90911690611faa565b905090565b600080612026611ffe565b9050806004546120369190612227565b91505090565b6000611fa38284612275565b6000611fa3828461223a565b6001600160a01b0381168114611c3a57600080fd5b60006020828403121561207b57600080fd5b8135611fa381612054565b80356001600160401b038116811461209d57600080fd5b919050565b6000806000806000806000806000806101408b8d0312156120c257600080fd5b6120cb8b612086565b99506120d960208c01612086565b985060408b0135975060608b0135965060808b0135955060a08b013560ff8116811461210457600080fd5b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b60208082526014908201527329b0b6329036bab9ba1031329030b1ba34bb329760611b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115611ea057611ea0612161565b60208082526016908201527529b0b6329036bab9ba1031329034b730b1ba34bb329760511b604082015260600190565b6000602082840312156121cc57600080fd5b81518015158114611fa357600080fd5b6000806000606084860312156121f157600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561221c57600080fd5b8151611fa381612054565b81810381811115611ea057611ea0612161565b60008261225757634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561226e57600080fd5b5051919050565b8082028115828204841417611ea057611ea061216156fea26469706673582212208e0e205c2810594699f4f672359e8fa726cbda69bfaa160e07f107650b990d5364736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007453e75ceced1546b992b97fb77a9dac5bfda2ae0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000004687f6b19b5ceea0cd50eca6711127b23602deac000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _tokenInstance (address): 0x7453E75CecED1546B992B97Fb77a9dAc5Bfda2AE
Arg [1] : _uniswapv2Router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [2] : _uniswapv2Factory (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
Arg [3] : _teamWallet (address): 0x4687F6b19b5CEEA0cd50ecA6711127B23602dEac
Arg [4] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000007453e75ceced1546b992b97fb77a9dac5bfda2ae
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [2] : 0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f
Arg [3] : 0000000000000000000000004687f6b19b5ceea0cd50eca6711127b23602deac
Arg [4] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode Sourcemap
10439:12777:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14070:4;:14;-1:-1:-1;;;;;14070:14:0;14051:15;:33;;;;:68;;-1:-1:-1;14107:4:0;:12;-1:-1:-1;;;14107:12:0;;-1:-1:-1;;;;;14107:12:0;14088:15;:31;;14051:68;14033:208;;;14146:23;6848:10;14146:9;:23::i;14156:12::-;14146:9;:23::i;:::-;10439:12777;14033:208;14202:27;;-1:-1:-1;;;14202:27:0;;216:2:1;14202:27:0;;;198:21:1;255:2;235:18;;;228:30;-1:-1:-1;;;274:18:1;;;267:47;331:18;;14202:27:0;;;;;;;;10439:12777;;;;10616:29;;;;;;;;;;-1:-1:-1;10616:29:0;;;;-1:-1:-1;;;10616:29:0;;;;;;;;;525:14:1;;518:22;500:41;;488:2;473:18;10616:29:0;;;;;;;;11333:16;;;;;;;;;;-1:-1:-1;11333:16:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11333:16:0;;;;-1:-1:-1;;;11333:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;998:15:1;;;980:34;;1050:15;;;;1045:2;1030:18;;1023:43;1082:18;;;1075:34;;;;1140:2;1125:18;;1118:34;;;;1183:3;1168:19;;1161:35;;;;1245:4;1233:17;1227:3;1212:19;;1205:46;1282:3;1267:19;;1260:35;1326:3;1311:19;;1304:35;1370:3;1355:19;;1348:35;1414:3;1399:19;;1392:35;930:3;915:19;11333:16:0;552:881:1;10589:20:0;;;;;;;;;;-1:-1:-1;10589:20:0;;;;-1:-1:-1;;;10589:20:0;;;;;;10745:31;;;;;;;;;;-1:-1:-1;10745:31:0;;;;-1:-1:-1;;;10745:31:0;;;;;;;;;1610:4:1;1598:17;;;1580:36;;1568:2;1553:18;10745:31:0;1438:184:1;10719:19:0;;;;;;;;;;-1:-1:-1;10719:19:0;;;;-1:-1:-1;;;;;10719:19:0;;;;;;-1:-1:-1;;;;;1791:32:1;;;1773:51;;1761:2;1746:18;10719:19:0;1627:203:1;11358:50:0;;;;;;;;;;-1:-1:-1;11358:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2369:25:1;;;2357:2;2342:18;11358:50:0;2223:177:1;19854:446:0;;;;;;;;;;;;;:::i;10852:25::-;;;;;;;;;;;;;;;;11283:43;;;;;;;;;;-1:-1:-1;11283:43:0;;;;-1:-1:-1;;;;;11283:43:0;;;20365:449;;;;;;;;;;;;;:::i;10687:25::-;;;;;;;;;;-1:-1:-1;10687:25:0;;;;-1:-1:-1;;;;;10687:25:0;;;11201:27;;;;;;;;;;-1:-1:-1;11201:27:0;;;;-1:-1:-1;;;;;11201:27:0;;;8218:103;;;;;;;;;;;;;:::i;11235:41::-;;;;;;;;;;-1:-1:-1;11235:41:0;;;;-1:-1:-1;;;;;11235:41:0;;;10534:21;;;;;;;;;;-1:-1:-1;10534:21:0;;;;-1:-1:-1;;;10534:21:0;;;;;;10652:28;;;;;;;;;;-1:-1:-1;10652:28:0;;;;-1:-1:-1;;;;;10652:28:0;;;7577:87;;;;;;;;;;-1:-1:-1;7623:7:0;7650:6;-1:-1:-1;;;;;7650:6:0;7577:87;;16558:2502;;;;;;;;;;;;;:::i;10509:18::-;;;;;;;;;;-1:-1:-1;10509:18:0;;;;-1:-1:-1;;;10509:18:0;;;;;;14376:1520;;;;;;;;;;-1:-1:-1;14376:1520:0;;;;;:::i;:::-;;:::i;15977:436::-;;;;;;;;;;;;;:::i;10814:31::-;;;;;;;;;;;;;;;;10562:20;;;;;;;;;;-1:-1:-1;10562:20:0;;;;-1:-1:-1;;;10562:20:0;;;;;;19286:480;;;;;;;;;;;;;:::i;21394:619::-;;;;;;:::i;8476:238::-;;;;;;;;;;-1:-1:-1;8476:238:0;;;;;:::i;:::-;;:::i;10783:24::-;;;;;;;;;;;;;;;;20875:397;;;;;;;;;;;;;:::i;21394:619::-;11477:4;:14;-1:-1:-1;;;;;11477:14:0;11458:15;:33;;11450:66;;;;-1:-1:-1;;;11450:66:0;;;;;;;:::i;:::-;11554:4;:12;-1:-1:-1;;;11554:12:0;;-1:-1:-1;;;;;11554:12:0;11535:15;:31;;11527:64;;;;-1:-1:-1;;;11527:64:0;;;;;;;:::i;:::-;21480:9:::1;::::0;-1:-1:-1;;;21480:9:0;::::1;;;21472:43;;;::::0;-1:-1:-1;;;21472:43:0;;4722:2:1;21472:43:0::1;::::0;::::1;4704:21:1::0;4761:2;4741:18;;;4734:30;-1:-1:-1;;;4780:18:1;;;4773:51;4841:18;;21472:43:0::1;4520:345:1::0;21472:43:0::1;-1:-1:-1::0;;;;;21534:26:0;::::1;21526:61;;;::::0;-1:-1:-1;;;21526:61:0;;5072:2:1;21526:61:0::1;::::0;::::1;5054:21:1::0;5111:2;5091:18;;;5084:30;-1:-1:-1;;;5130:18:1;;;5123:52;5192:18;;21526:61:0::1;4870:346:1::0;21526:61:0::1;21606:9;21619:1;21606:14:::0;21598:42:::1;;;::::0;-1:-1:-1;;;21598:42:0;;5423:2:1;21598:42:0::1;::::0;::::1;5405:21:1::0;5462:2;5442:18;;;5435:30;-1:-1:-1;;;5481:18:1;;;5474:45;5536:18;;21598:42:0::1;5221:339:1::0;21598:42:0::1;21672:11:::0;;21659:9:::1;:24;;21651:56;;;::::0;-1:-1:-1;;;21651:56:0;;5767:2:1;21651:56:0::1;::::0;::::1;5749:21:1::0;5806:2;5786:18;;;5779:30;-1:-1:-1;;;5825:18:1;;;5818:49;5884:18;;21651:56:0::1;5565:343:1::0;21651:56:0::1;21785:11:::0;;-1:-1:-1;;;;;21752:29:0;::::1;;::::0;;;:15:::1;:29;::::0;;;;;21740:41:::1;::::0;:9:::1;:41;:::i;:::-;:56;;21718:129;;;::::0;-1:-1:-1;;;21718:129:0;;6377:2:1;21718:129:0::1;::::0;::::1;6359:21:1::0;6416:2;6396:18;;;6389:30;6455:25;6435:18;;;6428:53;6498:18;;21718:129:0::1;6175:347:1::0;21718:129:0::1;21891:12:::0;;21866:9:::1;::::0;:21:::1;::::0;21878:9:::1;::::0;21866:21:::1;:::i;:::-;:37;;21858:61;;;::::0;-1:-1:-1;;;21858:61:0;;6729:2:1;21858:61:0::1;::::0;::::1;6711:21:1::0;6768:2;6748:18;;;6741:30;-1:-1:-1;;;6787:18:1;;;6780:41;6838:18;;21858:61:0::1;6527:335:1::0;21858:61:0::1;21945:9;21932;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;21981:10:0::1;21965:27;::::0;;;:15:::1;:27;::::0;;;;:40;;21996:9:::1;::::0;21965:27;:40:::1;::::0;21996:9;;21965:40:::1;:::i;:::-;::::0;;;-1:-1:-1;;;21394:619:0:o;19854:446::-;11694:4;:14;-1:-1:-1;;;;;11694:14:0;11676:15;:32;;:83;;-1:-1:-1;11747:4:0;:12;-1:-1:-1;;;11747:12:0;;-1:-1:-1;;;;;11747:12:0;11729:15;:30;11676:83;:129;;;-1:-1:-1;11793:12:0;;11780:9;;:25;;11676:129;11654:201;;;;-1:-1:-1;;;11654:201:0;;;;;;;:::i;:::-;19918:8:::1;::::0;-1:-1:-1;;;19918:8:0;::::1;;;19910:42;;;::::0;-1:-1:-1;;;19910:42:0;;7420:2:1;19910:42:0::1;::::0;::::1;7402:21:1::0;7459:2;7439:18;;;7432:30;-1:-1:-1;;;7478:18:1;;;7471:51;7539:18;;19910:42:0::1;7218:345:1::0;19910:42:0::1;19972:8;::::0;-1:-1:-1;;;19972:8:0;::::1;;;19971:9;19963:37;;;::::0;-1:-1:-1;;;19963:37:0;;7770:2:1;19963:37:0::1;::::0;::::1;7752:21:1::0;7809:2;7789:18;;;7782:30;-1:-1:-1;;;7828:18:1;;;7821:45;7883:18;;19963:37:0::1;7568:339:1::0;19963:37:0::1;20067:10;20013:20;20051:27:::0;;;:15:::1;:27;::::0;;;;;20036:43:::1;::::0;:14:::1;:43::i;:::-;20106:10;20120:1;20090:27:::0;;;:15:::1;:27;::::0;;;;;:31;;;;20154:13:::1;::::0;:48;;-1:-1:-1;;;20154:48:0;;::::1;::::0;::::1;8086:51:1::0;;;;8153:18;;;8146:34;;;20013:66:0;;-1:-1:-1;;;;;;20154:13:0;;::::1;::::0;:22:::1;::::0;8059:18:1;;20154:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20132:111;;;::::0;-1:-1:-1;;;20132:111:0;;8675:2:1;20132:111:0::1;::::0;::::1;8657:21:1::0;8714:2;8694:18;;;8687:30;-1:-1:-1;;;8733:18:1;;;8726:43;8786:18;;20132:111:0::1;8473:337:1::0;20132:111:0::1;20259:33;::::0;2369:25:1;;;20267:10:0::1;::::0;20259:33:::1;::::0;2357:2:1;2342:18;20259:33:0::1;;;;;;;;19899:401;19854:446::o:0;20365:449::-;11694:4;:14;-1:-1:-1;;;;;11694:14:0;11676:15;:32;;:83;;-1:-1:-1;11747:4:0;:12;-1:-1:-1;;;11747:12:0;;-1:-1:-1;;;;;11747:12:0;11729:15;:30;11676:83;:129;;;-1:-1:-1;11793:12:0;;11780:9;;:25;;11676:129;11654:201;;;;-1:-1:-1;;;11654:201:0;;;;;;;:::i;:::-;11938:8:::1;::::0;-1:-1:-1;;;11938:8:0;::::1;;;:16;;11950:4;11938:16;::::0;:97:::1;;-1:-1:-1::0;11994:4:0::1;:12:::0;-1:-1:-1;;;11994:12:0;::::1;-1:-1:-1::0;;;;;11994:12:0::1;11976:15;:30;:58:::0;::::1;;;-1:-1:-1::0;12022:12:0;;12010:9:::1;::::0;:24:::1;11976:58;11916:166;;;::::0;-1:-1:-1;;;11916:166:0;;9017:2:1;11916:166:0::1;::::0;::::1;8999:21:1::0;9056:2;9036:18;;;9029:30;-1:-1:-1;;;9075:18:1;;;9068:49;9134:18;;11916:166:0::1;8815:343:1::0;11916:166:0::1;20466:10:::2;20427:20;20450:27:::0;;;:15:::2;:27;::::0;;;;;20498:16;20490:45:::2;;;::::0;-1:-1:-1;;;20490:45:0;;9365:2:1;20490:45:0::2;::::0;::::2;9347:21:1::0;9404:2;9384:18;;;9377:30;-1:-1:-1;;;9423:18:1;;;9416:46;9479:18;;20490:45:0::2;9163:340:1::0;20490:45:0::2;20579:12;20554:21;:37;;20546:69;;;::::0;-1:-1:-1;;;20546:69:0;;9710:2:1;20546:69:0::2;::::0;::::2;9692:21:1::0;9749:2;9729:18;;;9722:30;-1:-1:-1;;;9768:18:1;;;9761:49;9827:18;;20546:69:0::2;9508:343:1::0;20546:69:0::2;20644:10;20658:1;20628:27:::0;;;:15:::2;:27;::::0;;;;;:31;;;20727;20644:10;;20727:31;::::2;;;::::0;20745:12;;20727:31;20658:1;20727:31;20745:12;20644:10;20727:31;::::2;;;;;;;;;;;;;::::0;::::2;;;;;;20783:8;-1:-1:-1::0;;;;;20774:32:0::2;;20793:12;20774:32;;;;2369:25:1::0;;2357:2;2342:18;;2223:177;20774:32:0::2;;;;;;;;20416:398;;20365:449::o:0;8218:103::-;7463:13;:11;:13::i;:::-;8283:30:::1;8310:1;8283:18;:30::i;:::-;8218:103::o:0;16558:2502::-;7463:13;:11;:13::i;:::-;11694:4:::1;:14:::0;-1:-1:-1;;;;;11694:14:0::1;11676:15;:32;::::0;:83:::1;;-1:-1:-1::0;11747:4:0::1;:12:::0;-1:-1:-1;;;11747:12:0;::::1;-1:-1:-1::0;;;;;11747:12:0::1;11729:15;:30;11676:83;:129;;;-1:-1:-1::0;11793:12:0;;11780:9:::1;::::0;:25:::1;;11676:129;11654:201;;;;-1:-1:-1::0;;;11654:201:0::1;;;;;;;:::i;:::-;16644:12:::0;;16631:9:::2;::::0;:25:::2;;16623:58;;;::::0;-1:-1:-1;;;16623:58:0;;10058:2:1;16623:58:0::2;::::0;::::2;10040:21:1::0;10097:2;10077:18;;;10070:30;-1:-1:-1;;;10116:18:1;;;10109:50;10176:18;;16623:58:0::2;9856:344:1::0;16623:58:0::2;16732:4;:14:::0;-1:-1:-1;;;;;16732:14:0::2;16714:15;:32;16692:109;;;::::0;-1:-1:-1;;;16692:109:0;;10407:2:1;16692:109:0::2;::::0;::::2;10389:21:1::0;10446:2;10426:18;;;10419:30;10485:29;10465:18;;;10458:57;10532:18;;16692:109:0::2;10205:351:1::0;16692:109:0::2;16821:8;::::0;-1:-1:-1;;;16821:8:0;::::2;;;16820:9;16812:44;;;::::0;-1:-1:-1;;;16812:44:0;;10763:2:1;16812:44:0::2;::::0;::::2;10745:21:1::0;10802:2;10782:18;;;10775:30;-1:-1:-1;;;10821:18:1;;;10814:52;10883:18;;16812:44:0::2;10561:346:1::0;16812:44:0::2;16876:8;::::0;-1:-1:-1;;;16876:8:0;::::2;;;16875:9;16867:37;;;::::0;-1:-1:-1;;;16867:37:0;;7770:2:1;16867:37:0::2;::::0;::::2;7752:21:1::0;7809:2;7789:18;;;7782:30;-1:-1:-1;;;7828:18:1;;;7821:45;7883:18;;16867:37:0::2;7568:339:1::0;16867:37:0::2;16936:48;16960:9;;16971:4;:12;;;16936:23;:48::i;:::-;16917:16;:67:::0;;;17077:18;;17008:98:::2;::::0;16917:67;17008:23:::2;:98::i;:::-;16995:10;:111:::0;17184:16:::2;::::0;17215:23;;17117:26:::2;::::0;17146:103:::2;::::0;:23:::2;:103::i;:::-;17260:8;:15:::0;;-1:-1:-1;;;;17260:15:0::2;-1:-1:-1::0;;;17260:15:0::2;::::0;;17358:17:::2;::::0;17117:132;;-1:-1:-1;17260:8:0;;;-1:-1:-1;;;;;17358:17:0::2;:47;17413:18;:16;:18::i;:::-;17455:13;::::0;-1:-1:-1;;;;;17455:13:0::2;17484:18:::0;;17550::::2;:16;:18::i;:::-;7623:7:::0;7650:6;-1:-1:-1;;;;;7650:6:0;17605:21:::2;:15;17623:3;17605:21;:::i;:::-;17358:279;::::0;::::2;::::0;;;-1:-1:-1;;;;;;17358:279:0;;;-1:-1:-1;;;;;11255:15:1;;;17358:279:0::2;::::0;::::2;11237:34:1::0;11287:18;;;11280:34;;;;11330:18;;;11323:34;;;;11373:18;;;11366:34;;;;11437:15;;;11416:19;;;11409:44;11469:19;;;11462:35;;;;11171:19;;17358:279:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17313:324;;;;;17687:18;17672:11;:33;:85;;;;;17739:18;:16;:18::i;:::-;17726:9;:31;17672:85;17650:162;;;::::0;-1:-1:-1;;;17650:162:0;;12021:2:1;17650:162:0::2;::::0;::::2;12003:21:1::0;12060:2;12040:18;;;12033:30;12099:29;12079:18;;;12072:57;12146:18;;17650:162:0::2;11819:351:1::0;17650:162:0::2;17932:16;::::0;17965:13:::2;::::0;17981:4:::2;::::0;17932:54:::2;::::0;-1:-1:-1;;;17932:54:0;;-1:-1:-1;;;;;17965:13:0;;::::2;17932:54;::::0;::::2;12387:34:1::0;17981:4:0;;::::2;12437:18:1::0;;;12430:43;17932:16:0;::::2;::::0;:24:::2;::::0;12322:18:1;;17932:54:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17899:17;::::0;17862:13:::2;::::0;17830:167:::2;::::0;-1:-1:-1;;;;;17830:167:0;;::::2;::::0;17899:17;;::::2;::::0;17862:13;;::::2;::::0;17830:167:::2;::::0;17899:17:::2;::::0;17830:167:::2;18035:21;18059:14;:12;:14::i;:::-;18035:38:::0;-1:-1:-1;18090:17:0;;18086:96:::2;;18132:13;::::0;18124:46:::2;::::0;-1:-1:-1;;;;;18132:13:0;;::::2;::::0;18124:46;::::2;;;::::0;18156:13;;18132::::2;18124:46:::0;18132:13;18124:46;18156:13;18132;18124:46;::::2;;;;;;;;;;;;;::::0;::::2;;;;;;18086:96;18272:12:::0;;18260:9:::2;::::0;:24:::2;18256:797;;;18382:23:::0;;18301:17:::2;::::0;18382:44:::2;::::0;18408:18;;18382:44:::2;:::i;:::-;18351:9;::::0;18336:12;;18321:40:::2;::::0;18336:24:::2;::::0;::::2;:::i;:::-;18321:14;:40::i;:::-;:106;;;;:::i;:::-;18446:10;::::0;18301:126;;-1:-1:-1;;;;18446:10:0;::::2;;;:18;;18460:4;18446:18:::0;18442:600:::2;;18515:13;::::0;:150:::2;::::0;-1:-1:-1;;;18515:150:0;;18564:42:::2;18515:150;::::0;::::2;8086:51:1::0;8153:18;;;8146:34;;;-1:-1:-1;;;;;18515:13:0;;::::2;::::0;:22:::2;::::0;8059:18:1;;18515:150:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18485:239;;;::::0;-1:-1:-1;;;18485:239:0;;13075:2:1;18485:239:0::2;::::0;::::2;13057:21:1::0;13114:2;13094:18;;;13087:30;-1:-1:-1;;;13133:18:1;;;13126:45;13188:18;;18485:239:0::2;12873:339:1::0;18485:239:0::2;18748:37;::::0;2369:25:1;;;18763:10:0::2;::::0;18748:37:::2;::::0;2357:2:1;2342:18;18748:37:0::2;;;;;;;18442:600;;;18856:13;::::0;;18879;18856:48:::2;::::0;-1:-1:-1;;;18856:48:0;;-1:-1:-1;;;;;18879:13:0;;::::2;18856:48;::::0;::::2;8086:51:1::0;8153:18;;;8146:34;;;18856:13:0;::::2;::::0;:22:::2;::::0;8059:18:1;;18856:48:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18826:136;;;::::0;-1:-1:-1;;;18826:136:0;;13419:2:1;18826:136:0::2;::::0;::::2;13401:21:1::0;13458:2;13438:18;;;13431:30;-1:-1:-1;;;13477:18:1;;;13470:44;13531:18;;18826:136:0::2;13217:338:1::0;18826:136:0::2;18986:40;::::0;2369:25:1;;;19004:10:0::2;::::0;18986:40:::2;::::0;2357:2:1;2342:18;18986:40:0::2;;;;;;;18442:600;18286:767;18256:797;16612:2448;;;;16558:2502::o:0;14376:1520::-;7463:13;:11;:13::i;:::-;11694:4:::1;:14:::0;-1:-1:-1;;;;;11694:14:0::1;11676:15;:32;::::0;:83:::1;;-1:-1:-1::0;11747:4:0::1;:12:::0;-1:-1:-1;;;11747:12:0;::::1;-1:-1:-1::0;;;;;11747:12:0::1;11729:15;:30;11676:83;:129;;;-1:-1:-1::0;11793:12:0;;11780:9:::1;::::0;:25:::1;;11676:129;11654:201;;;;-1:-1:-1::0;;;11654:201:0::1;;;;;;;:::i;:::-;14749:6:::2;::::0;-1:-1:-1;;;14749:6:0;::::2;;;:15;14741:47;;;::::0;-1:-1:-1;;;14741:47:0;;13762:2:1;14741:47:0::2;::::0;::::2;13744:21:1::0;13801:2;13781:18;;;13774:30;-1:-1:-1;;;13820:18:1;;;13813:49;13879:18;;14741:47:0::2;13560:343:1::0;14741:47:0::2;14821:15;14807:10;-1:-1:-1::0;;;;;14807:29:0::2;;;14799:61;;;::::0;-1:-1:-1;;;14799:61:0;;14110:2:1;14799:61:0::2;::::0;::::2;14092:21:1::0;14149:2;14129:18;;;14122:30;-1:-1:-1;;;14168:18:1;;;14161:49;14227:18;;14799:61:0::2;13908:343:1::0;14799:61:0::2;14890:15;14879:8;-1:-1:-1::0;;;;;14879:26:0::2;;14871:56;;;::::0;-1:-1:-1;;;14871:56:0;;14458:2:1;14871:56:0::2;::::0;::::2;14440:21:1::0;14497:2;14477:18;;;14470:30;-1:-1:-1;;;14516:18:1;;;14509:47;14573:18;;14871:56:0::2;14256:341:1::0;14871:56:0::2;14962:1;14946:13;:17;14938:52;;;::::0;-1:-1:-1;;;14938:52:0;;14804:2:1;14938:52:0::2;::::0;::::2;14786:21:1::0;14843:2;14823:18;;;14816:30;-1:-1:-1;;;14862:18:1;;;14855:52;14924:18;;14938:52:0::2;14602:346:1::0;14938:52:0::2;15026:13;15009:14;:30;15001:67;;;::::0;-1:-1:-1;;;15001:67:0;;15155:2:1;15001:67:0::2;::::0;::::2;15137:21:1::0;15194:2;15174:18;;;15167:30;15233:26;15213:18;;;15206:54;15277:18;;15001:67:0::2;14953:348:1::0;15001:67:0::2;15123:13;15101:19;:35;15079:114;;;::::0;-1:-1:-1;;;15079:114:0;;15508:2:1;15079:114:0::2;::::0;::::2;15490:21:1::0;15547:2;15527:18;;;15520:30;15586:31;15566:18;;;15559:59;15635:18;;15079:114:0::2;15306:353:1::0;15079:114:0::2;15224:12;15235:1;15224:8:::0;:12:::2;:::i;:::-;15212:8;:24;;15204:56;;;::::0;-1:-1:-1;;;15204:56:0;;16088:2:1;15204:56:0::2;::::0;::::2;16070:21:1::0;16127:2;16107:18;;;16100:30;-1:-1:-1;;;16146:18:1;;;16139:49;16205:18;;15204:56:0::2;15886:343:1::0;15204:56:0::2;15300:2;15279:17;:23;;;;15271:59;;;::::0;-1:-1:-1;;;15271:59:0;;16436:2:1;15271:59:0::2;::::0;::::2;16418:21:1::0;16475:2;16455:18;;;16448:30;16514:25;16494:18;;;16487:53;16557:18;;15271:59:0::2;16234:347:1::0;15271:59:0::2;15370:3;15349:17;:24;;;;15341:55;;;::::0;-1:-1:-1;;;15341:55:0;;16788:2:1;15341:55:0::2;::::0;::::2;16770:21:1::0;16827:2;16807:18;;;16800:30;-1:-1:-1;;;16846:18:1;;;16839:48;16904:18;;15341:55:0::2;16586:342:1::0;15341:55:0::2;15425:7;15415;:17;15407:60;;;::::0;-1:-1:-1;;;15407:60:0;;17135:2:1;15407:60:0::2;::::0;::::2;17117:21:1::0;17174:2;17154:18;;;17147:30;17213:32;17193:18;;;17186:60;17263:18;;15407:60:0::2;16933:354:1::0;15407:60:0::2;15496:1;15486:7;:11;15478:46;;;::::0;-1:-1:-1;;;15478:46:0;;17494:2:1;15478:46:0::2;::::0;::::2;17476:21:1::0;17533:2;17513:18;;;17506:30;-1:-1:-1;;;17552:18:1;;;17545:52;17614:18;;15478:46:0::2;17292:346:1::0;15478:46:0::2;15559:276;::::0;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;15559:276:0;;::::2;::::0;;;;;;::::2;;::::0;::::2;::::0;;;;;;;;;;;;;;;;;;;;;::::2;::::0;;::::2;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15848:4:::2;:14:::0;;-1:-1:-1;;;15848:14:0;;::::2;-1:-1:-1::0;;15848:14:0;;;;;;;;;::::2;::::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15848:14:0::2;::::0;;::::2;::::0;;;;;;;;;;;15537:19:::2;15875:13:::0;;-1:-1:-1;;;;15875:13:0::2;-1:-1:-1::0;;;15875:13:0::2;::::0;;14376:1520::o;15977:436::-;7463:13;:11;:13::i;:::-;16035:9:::1;::::0;-1:-1:-1;;;16035:9:0;::::1;;;16034:10;16026:48;;;::::0;-1:-1:-1;;;16026:48:0;;17845:2:1;16026:48:0::1;::::0;::::1;17827:21:1::0;17884:2;17864:18;;;17857:30;17923:27;17903:18;;;17896:55;17968:18;;16026:48:0::1;17643:349:1::0;16026:48:0::1;16093:6;::::0;-1:-1:-1;;;16093:6:0;::::1;;;16085:39;;;::::0;-1:-1:-1;;;16085:39:0;;18199:2:1;16085:39:0::1;::::0;::::1;18181:21:1::0;18238:2;18218:18;;;18211:30;-1:-1:-1;;;18257:18:1;;;18250:50;18317:18;;16085:39:0::1;17997:344:1::0;16085:39:0::1;16137:20;16160:18;22645:17:::0;;;22567:103;16160:18:::1;16191:9;:16:::0;;-1:-1:-1;;;;16191:16:0::1;-1:-1:-1::0;;;16191:16:0::1;::::0;;16242:13:::1;::::0;:67:::1;::::0;-1:-1:-1;;;16242:67:0;;16269:10:::1;16242:67;::::0;::::1;18586:34:1::0;16289:4:0::1;18636:18:1::0;;;18629:43;18688:18;;;18681:34;;;;;-1:-1:-1;;;;;;16242:13:0::1;::::0;:26:::1;::::0;18521:18:1;;16242:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16220:132;;;::::0;-1:-1:-1;;;16220:132:0;;18928:2:1;16220:132:0::1;::::0;::::1;18910:21:1::0;18967:2;18947:18;;;18940:30;-1:-1:-1;;;18986:18:1;;;18979:45;19041:18;;16220:132:0::1;18726:339:1::0;16220:132:0::1;16370:35;::::0;2369:25:1;;;16380:10:0::1;::::0;16370:35:::1;::::0;2357:2:1;2342:18;16370:35:0::1;2223:177:1::0;19286:480:0;7463:13;:11;:13::i;:::-;11477:4:::1;:14:::0;-1:-1:-1;;;;;11477:14:0::1;11458:15;:33;;11450:66;;;;-1:-1:-1::0;;;11450:66:0::1;;;;;;;:::i;:::-;11554:4;:12:::0;-1:-1:-1;;;11554:12:0;::::1;-1:-1:-1::0;;;;;11554:12:0::1;11535:15;:31;;11527:64;;;;-1:-1:-1::0;;;11527:64:0::1;;;;;;;:::i;:::-;19358:8:::2;::::0;-1:-1:-1;;;19358:8:0;::::2;;;19357:9;19349:36;;;::::0;-1:-1:-1;;;19349:36:0;;19272:2:1;19349:36:0::2;::::0;::::2;19254:21:1::0;19311:2;19291:18;;;19284:30;-1:-1:-1;;;19330:18:1;;;19323:44;19384:18;;19349:36:0::2;19070:338:1::0;19349:36:0::2;19396:4;:16:::0;;-1:-1:-1;;19396:16:0::2;::::0;;-1:-1:-1;19423:15:0;;-1:-1:-1;;;;19423:15:0::2;-1:-1:-1::0;;;19423:15:0::2;::::0;;19455:13:::2;::::0;:38:::2;::::0;-1:-1:-1;;;19455:38:0;;19487:4:::2;19455:38;::::0;::::2;1773:51:1::0;-1:-1:-1;;;;;19455:13:0;;::::2;::::0;:23:::2;::::0;1746:18:1;;19455:38:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;19451:233;;;19514:20;19537:18;22645:17:::0;;;22567:103;19537:18:::2;19570:13;::::0;:48:::2;::::0;-1:-1:-1;;;19570:48:0;;19593:10:::2;19570:48;::::0;::::2;8086:51:1::0;8153:18;;;8146:34;;;19514:41:0;;-1:-1:-1;;;;;;19570:13:0::2;::::0;:22:::2;::::0;8059:18:1;;19570:48:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;19638:34:0::2;::::0;2369:25:1;;;19647:10:0::2;::::0;19638:34:::2;::::0;2357:2:1;2342:18;19638:34:0::2;;;;;;;19499:185;19451:233;19728:13;::::0;19699:59:::2;::::0;19752:4:::2;::::0;-1:-1:-1;;;;;19728:13:0::2;::::0;19708:10:::2;::::0;19699:59:::2;::::0;19728:13:::2;::::0;19699:59:::2;19286:480::o:0;8476:238::-;7463:13;:11;:13::i;:::-;-1:-1:-1;;;;;8579:22:0;::::1;8557:110;;;::::0;-1:-1:-1;;;8557:110:0;;19804:2:1;8557:110:0::1;::::0;::::1;19786:21:1::0;19843:2;19823:18;;;19816:30;19882:34;19862:18;;;19855:62;-1:-1:-1;;;19933:18:1;;;19926:36;19979:19;;8557:110:0::1;19602:402:1::0;8557:110:0::1;8678:28;8697:8;8678:18;:28::i;:::-;8476:238:::0;:::o;20875:397::-;7463:13;:11;:13::i;:::-;11694:4:::1;:14:::0;-1:-1:-1;;;;;11694:14:0::1;11676:15;:32;::::0;:83:::1;;-1:-1:-1::0;11747:4:0::1;:12:::0;-1:-1:-1;;;11747:12:0;::::1;-1:-1:-1::0;;;;;11747:12:0::1;11729:15;:30;11676:83;:129;;;-1:-1:-1::0;11793:12:0;;11780:9:::1;::::0;:25:::1;;11676:129;11654:201;;;;-1:-1:-1::0;;;11654:201:0::1;;;;;;;:::i;:::-;11938:8:::2;::::0;-1:-1:-1;;;11938:8:0;::::2;;;:16;;11950:4;11938:16;::::0;:97:::2;;-1:-1:-1::0;11994:4:0::2;:12:::0;-1:-1:-1;;;11994:12:0;::::2;-1:-1:-1::0;;;;;11994:12:0::2;11976:15;:30;:58:::0;::::2;;;-1:-1:-1::0;12022:12:0;;12010:9:::2;::::0;:24:::2;11976:58;11916:166;;;::::0;-1:-1:-1;;;11916:166:0;;9017:2:1;11916:166:0::2;::::0;::::2;8999:21:1::0;9056:2;9036:18;;;9029:30;-1:-1:-1;;;9075:18:1;;;9068:49;9134:18;;11916:166:0::2;8815:343:1::0;11916:166:0::2;20958:13:::3;::::0;:38:::3;::::0;-1:-1:-1;;;20958:38:0;;20990:4:::3;20958:38;::::0;::::3;1773:51:1::0;20999:1:0::3;::::0;-1:-1:-1;;;;;20958:13:0::3;::::0;:23:::3;::::0;1746:18:1;;20958:38:0::3;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;20954:311;;;21017:20;21040:18;22645:17:::0;;;22567:103;21040:18:::3;21099:13;::::0;:48:::3;::::0;-1:-1:-1;;;21099:48:0;;21122:10:::3;21099:48;::::0;::::3;8086:51:1::0;8153:18;;;8146:34;;;21017:41:0;;-1:-1:-1;;;;;;21099:13:0::3;::::0;:22:::3;::::0;8059:18:1;;21099:48:0::3;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21073:126;;;::::0;-1:-1:-1;;;21073:126:0;;20211:2:1;21073:126:0::3;::::0;::::3;20193:21:1::0;20250:2;20230:18;;;20223:30;-1:-1:-1;;;20269:18:1;;;20262:46;20325:18;;21073:126:0::3;20009:340:1::0;21073:126:0::3;21219:34;::::0;2369:25:1;;;21228:10:0::3;::::0;21219:34:::3;::::0;2357:2:1;2342:18;21219:34:0::3;2223:177:1::0;22099:137:0;22163:7;22190:38;22218:9;;22190:23;22202:10;;22190:7;:11;;:23;;;;:::i;:::-;:27;;:38::i;:::-;22183:45;22099:137;-1:-1:-1;;22099:137:0:o;7742:132::-;7623:7;7650:6;-1:-1:-1;;;;;7650:6:0;6848:10;7806:23;7798:68;;;;-1:-1:-1;;;7798:68:0;;20556:2:1;7798:68:0;;;20538:21:1;;;20575:18;;;20568:30;20634:34;20614:18;;;20607:62;20686:18;;7798:68:0;20354:356:1;8874:191:0;8948:16;8967:6;;-1:-1:-1;;;;;8984:17:0;;;-1:-1:-1;;;;;;8984:17:0;;;;;;9017:40;;8967:6;;;;;;;9017:40;;8948:16;9017:40;8937:128;8874:191;:::o;22678:262::-;22800:7;22849:8;22833:12;:24;;22825:52;;;;-1:-1:-1;;;22825:52:0;;20917:2:1;22825:52:0;;;20899:21:1;20956:2;20936:18;;;20929:30;-1:-1:-1;;;20975:18:1;;;20968:45;21030:18;;22825:52:0;20715:339:1;22825:52:0;22897:35;22923:8;22897:21;:12;22914:3;22897:16;:21::i;:35::-;22890:42;22678:262;-1:-1:-1;;;22678:262:0:o;22948:265::-;23073:7;23122:3;23101:17;:24;;23093:52;;;;-1:-1:-1;;;23093:52:0;;20917:2:1;23093:52:0;;;20899:21:1;20956:2;20936:18;;;20929:30;-1:-1:-1;;;20975:18:1;;;20968:45;21030:18;;23093:52:0;20715:339:1;23093:52:0;23165:40;23201:3;23165:31;:8;23178:17;23165:12;:31::i;22244:143::-;22346:21;;;22369:9;22295:7;;22322:57;;22346:21;;;;;22322:23;:57::i;:::-;22315:64;;22244:143;:::o;22395:164::-;22442:7;22462:23;22488:18;:16;:18::i;:::-;22462:44;;22536:15;22524:9;;:27;;;;:::i;:::-;22517:34;;;22395:164;:::o;3308:98::-;3366:7;3393:5;3397:1;3393;:5;:::i;3707:98::-;3765:7;3792:5;3796:1;3792;:5;:::i;1835:131:1:-;-1:-1:-1;;;;;1910:31:1;;1900:42;;1890:70;;1956:1;1953;1946:12;1971:247;2030:6;2083:2;2071:9;2062:7;2058:23;2054:32;2051:52;;;2099:1;2096;2089:12;2051:52;2138:9;2125:23;2157:31;2182:5;2157:31;:::i;3094:171::-;3161:20;;-1:-1:-1;;;;;3210:30:1;;3200:41;;3190:69;;3255:1;3252;3245:12;3190:69;3094:171;;;:::o;3270:896::-;3406:6;3414;3422;3430;3438;3446;3454;3462;3470;3478;3531:3;3519:9;3510:7;3506:23;3502:33;3499:53;;;3548:1;3545;3538:12;3499:53;3571:28;3589:9;3571:28;:::i;:::-;3561:38;;3618:37;3651:2;3640:9;3636:18;3618:37;:::i;:::-;3608:47;;3702:2;3691:9;3687:18;3674:32;3664:42;;3753:2;3742:9;3738:18;3725:32;3715:42;;3804:3;3793:9;3789:19;3776:33;3766:43;;3859:3;3848:9;3844:19;3831:33;3904:4;3897:5;3893:16;3886:5;3883:27;3873:55;;3924:1;3921;3914:12;3873:55;3270:896;;;;-1:-1:-1;3270:896:1;;;;;;3947:5;;-1:-1:-1;;;;3999:3:1;3984:19;;3971:33;;4051:3;4036:19;;4023:33;;4103:3;4088:19;;4075:33;;-1:-1:-1;4155:3:1;4140:19;;;4127:33;;3270:896::o;4171:344::-;4373:2;4355:21;;;4412:2;4392:18;;;4385:30;-1:-1:-1;;;4446:2:1;4431:18;;4424:50;4506:2;4491:18;;4171:344::o;5913:127::-;5974:10;5969:3;5965:20;5962:1;5955:31;6005:4;6002:1;5995:15;6029:4;6026:1;6019:15;6045:125;6110:9;;;6131:10;;;6128:36;;;6144:18;;:::i;6867:346::-;7069:2;7051:21;;;7108:2;7088:18;;;7081:30;-1:-1:-1;;;7142:2:1;7127:18;;7120:52;7204:2;7189:18;;6867:346::o;8191:277::-;8258:6;8311:2;8299:9;8290:7;8286:23;8282:32;8279:52;;;8327:1;8324;8317:12;8279:52;8359:9;8353:16;8412:5;8405:13;8398:21;8391:5;8388:32;8378:60;;8434:1;8431;8424:12;11508:306;11596:6;11604;11612;11665:2;11653:9;11644:7;11640:23;11636:32;11633:52;;;11681:1;11678;11671:12;11633:52;11710:9;11704:16;11694:26;;11760:2;11749:9;11745:18;11739:25;11729:35;;11804:2;11793:9;11789:18;11783:25;11773:35;;11508:306;;;;;:::o;12484:251::-;12554:6;12607:2;12595:9;12586:7;12582:23;12578:32;12575:52;;;12623:1;12620;12613:12;12575:52;12655:9;12649:16;12674:31;12699:5;12674:31;:::i;12740:128::-;12807:9;;;12828:11;;;12825:37;;;12842:18;;:::i;15664:217::-;15704:1;15730;15720:132;;15774:10;15769:3;15765:20;15762:1;15755:31;15809:4;15806:1;15799:15;15837:4;15834:1;15827:15;15720:132;-1:-1:-1;15866:9:1;;15664:217::o;19413:184::-;19483:6;19536:2;19524:9;19515:7;19511:23;19507:32;19504:52;;;19552:1;19549;19542:12;19504:52;-1:-1:-1;19575:16:1;;19413:184;-1:-1:-1;19413:184:1:o;21059:168::-;21132:9;;;21163;;21180:15;;;21174:22;;21160:37;21150:71;;21201:18;;:::i
Swarm Source
ipfs://8e0e205c2810594699f4f672359e8fa726cbda69bfaa160e07f107650b990d53
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.