ETH Price: $2,283.03 (-3.78%)

Token

DGTV-Burn ($DGTVB)
 

Overview

Max Total Supply

10,000,000 $DGTVB

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
84,150 $DGTVB

Value
$0.00
0x81ed4f1bcb7bb119490c5eb70a9384cd87ed8f55
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DOGETVBURN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-02
*/

pragma solidity ^0.8.17;
//SPDX-License-Identifier: UNLICENCED
/*
    DGTV-Burn
    8% tax on buy and sell, 8% tax on transfers
    starting taxes: 
    sniper: 30% sell, 25% buy
    antisnipe permanently disables.
    
*/

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


contract DOGETVBURN is IERC20, Auth {

    using SafeMath for uint256;
    // fees. all uint8 for gas efficiency and storage.
    /* @dev   
        all fees are set with 1 decimal places added, please remember this when setting fees.
    */
    uint8 public liquidityFee = 5;
    uint8 public marketingFee = 70;
    uint8 public burnFee = 5;
    uint8 public totalFee = 80;

    uint16 public initialSellFee = 300; // rek the sniper bots
    uint16 public initialBuyFee = 250; // rek the sniper bots

    // denominator. uint 16 for storage efficiency - makes the above fees all to 1 dp.
    uint16 public AllfeeDenominator = 1000;
    
    // trading control;
    bool public canTrade = false;
    uint256 public launchedAt;
    
    
    // tokenomics - uint256 BN but located here fro storage efficiency
    uint256 _totalSupply = 1 * 10**7 * (10 **_decimals); //10 mil
    uint256 public _maxTxAmount = _totalSupply / 100; // 1%
    uint256 public _maxHoldAmount = _totalSupply / 50; // 2%
    uint256 public swapThreshold = _totalSupply / 500; // 0.2%


    uint256 public tokenBurned;
    uint256 public totalEthSpent;
    uint256 public marketingReceived;
    //Important addresses    
    address USDT = 0xdAC17F958D2ee523a2206206994597C13D831ec7; // mainnet tether, used to get price;
    address DogeTV = 0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D;
    //address USDT = 0xF99a0CbEa2799f8d4b51709024454F74eD63a86D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;

    address public pair;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public pairs;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isMaxHoldExempt;
    mapping (address => bool) isBlacklisted;

    IDEXRouter public router;


    bool public swapEnabled = true;
    bool inSwap;

    
    address[] public subbedUsers;
    uint public totalSubs;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    string constant _name = "DGTV-Burn";
    string constant _symbol = "$DGTVB";
    uint8 constant _decimals = 18;

    bool public initialTaxesEnabled = true;

    
    constructor (address tokenOwner) Auth(tokenOwner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //Mainnet Uniswap
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); // ETH pair
        pairs[pair] = true;
        _allowances[address(this)][address(router)] = _totalSupply;
        isMaxHoldExempt[pair] = true;
        isMaxHoldExempt[DEAD] = true;
        isMaxHoldExempt[ZERO] = true;
        
        owner = tokenOwner;
        isTxLimitExempt[owner] = true;
        isFeeExempt[owner] = true;
        authorizations[owner] = true;
        isMaxHoldExempt[owner] = true;
        autoLiquidityReceiver = owner;
        marketingFeeReceiver = owner;

        _balances[owner] = _totalSupply;

        emit Transfer(address(0), owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender];} 

    
    function getEstimatedTokenForUSDT(uint USDTAmount) public view returns (uint) {
            address[] memory path = new address[](3);
                path[0] = USDT;
                path[1] = router.WETH();
                path[2] = address(this);
            return router.getAmountsOut(USDTAmount, path)[2];
    }
    
    function setBlacklistedStatus(address walletToBlacklist, bool isBlacklistedBool)external authorized{
        isBlacklisted[walletToBlacklist] = isBlacklistedBool;
    }

    function setBlacklistArray(address[] calldata walletToBlacklistArray)external authorized{
        for(uint i = 0; i < walletToBlacklistArray.length; i++){
            isBlacklisted[walletToBlacklistArray[i]] = true;
        }
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function setSwapThresholdDivisor(uint divisor)external authorized {
        require(divisor >= 100, "DTVBURN: max sell percent is 1%");
        swapThreshold = _totalSupply / divisor;
    }
    
    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }
    
    function setmaxholdpercentage(uint256 percentageMul10) external authorized {
        require(percentageMul10 >= 5, "DTVBURN, max hold cannot be less than 0.5%"); // cant change percentage below 0.5%, so everyone can hold the percentage
        _maxHoldAmount = _totalSupply * percentageMul10 / 1000; // percentage based on amount
    }
    
    function allowtrading()external authorized {
        canTrade = true;
    }
    
    function addNewPair(address newPair)external authorized{
        pairs[newPair] = true;
        isMaxHoldExempt[newPair] = true;
    }
    
    function removePair(address pairToRemove)external authorized{
        pairs[pairToRemove] = false;
        isMaxHoldExempt[pairToRemove] = false;
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(_totalSupply)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(!canTrade){
            require(sender == owner, "DTVBURN, Only owner or presale Contract allowed to add LP"); // only owner allowed to trade or add liquidity
        }
        if(sender != owner && recipient != owner){
            if(!pairs[recipient] && !isMaxHoldExempt[recipient]){
                require (balanceOf(recipient) + amount <= _maxHoldAmount, "DTVBURN, cant hold more than max hold dude, sorry");
            }
        }
        
        checkTxLimit(sender, recipient, amount);
        require(!isBlacklisted[sender] && !isBlacklisted[recipient], "DTVBURN, Sorry bro, youre blacklisted");
        if(!launched() && pairs[recipient]){ require(_balances[sender] > 0); launch(); }
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        _balances[sender] = _balances[sender].sub(amount, "DTVBURN, Insufficient Balance");


        uint256 amountReceived = 0;
        if(!shouldTakeFee(sender) || !shouldTakeFee(recipient)){
            amountReceived = amount;
        }else{
            bool isbuy = pairs[sender];
            amountReceived = takeFee(sender, isbuy, amount);
        }

        if(shouldSwapBack(recipient)){ swapBack(); }

        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;

    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, address reciever, uint256 amount) internal view {
        if(sender != owner && reciever != owner){
            require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
        }
    }

    function shouldTakeFee(address endpt) internal view returns (bool) {
        
        return !isFeeExempt[endpt];
    }

    function takeFee(address sender, bool isBuy, uint256 amount) internal returns (uint256) {
        uint fee = totalFee;
        if(initialTaxesEnabled){
            fee = initialSellFee;
            if(isBuy){
                fee = initialBuyFee;
            }
        }

        uint256 feeAmount = amount.mul(fee).div(AllfeeDenominator);
        
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function setInitialfees(uint8 _initialBuyFeePercentMul10, uint8 _initialSellFeePercentMul10) external authorized {
        if(initialBuyFee >= _initialBuyFeePercentMul10){initialBuyFee = _initialBuyFeePercentMul10;}else{initialTaxesEnabled = false;}
        if(initialSellFee >= _initialSellFeePercentMul10){initialSellFee = _initialSellFeePercentMul10;}else{initialTaxesEnabled = false;}
    }

    // returns any mis-sent tokens to the marketing wallet
    function claimtokensback(IERC20 tokenAddress) external authorized {
        payable(marketingFeeReceiver).transfer(address(this).balance);
        tokenAddress.transfer(marketingFeeReceiver, tokenAddress.balanceOf(address(this)));
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.timestamp;
    }

    function stopInitialTax()external authorized{
        // this can only ever be called once
        initialTaxesEnabled = false;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 200, "DTVBURN, must be higher than 0.5%");
        require(amount > _maxTxAmount, "DTVBURN, can only ever increase the tx limit");
        _maxTxAmount = amount;
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }


    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    /*
    Dev sets the individual buy fees
    */
    function setFees(uint8 _liquidityFeeMul10, uint8 _marketingFeeMul10, uint8 _burnFeeMul10) external authorized {
        require(_liquidityFeeMul10 + _marketingFeeMul10 + _burnFeeMul10 <= 80, "DTVBURN taxes can never exceed 8%");
        require(_liquidityFeeMul10 + _marketingFeeMul10 <= totalFee, "DTVBURN, taxes can only ever change ratio");
        liquidityFee = _liquidityFeeMul10;
        marketingFee = _marketingFeeMul10;
        burnFee = _burnFeeMul10;
       
        totalFee = _liquidityFeeMul10 + _marketingFeeMul10 + _burnFeeMul10 ;
    }
    
    function swapBack() internal swapping {
        uint256 amountToLiquify = 0;
        if(liquidityFee > 0){
            amountToLiquify = swapThreshold.mul(liquidityFee).div(totalFee).div(2); // leave some tokens for liquidity addition
        }
        
        
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify); // swap everything bar the liquidity tokens. we need to add a pair
        

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        uint256 balanceBefore = address(this).balance;
        
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp + 100
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);
        
        uint256 totalETHFee = totalFee - (liquidityFee /2);
        if(totalETHFee > 0){
            uint256 amountETHMarketing = 0;
            if(marketingFee > 0){
                amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
                payable(marketingFeeReceiver).transfer(amountETHMarketing);
            }
            uint amountToBurn = 0;
            if(burnFee > 0){
                amountToBurn = amountETH.mul(burnFee).div(totalETHFee);
                
                path[1] = address(DogeTV);
                path[0] = router.WETH();
                uint tokenNewlyBurned = router.getAmountsOut(amountToBurn, path)[1];
                tokenBurned += tokenNewlyBurned;
                totalEthSpent += amountToBurn;
                
                router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amountToBurn}(
                    0,
                    path,
                    address(DEAD),
                    block.timestamp + 10
                );
                emit BurnedToken(tokenNewlyBurned, amountToBurn, tokenBurned, totalEthSpent);
            }
            if(amountToLiquify > 0){
                
                uint256 amountETHLiquidity = amountETH - amountETHMarketing - amountToBurn;
                router.addLiquidityETH{value: amountETHLiquidity}(
                    address(this),
                    amountToLiquify,
                    0,
                    0,
                    autoLiquidityReceiver,
                    block.timestamp
                );
                emit AutoLiquify(amountETHLiquidity, amountToLiquify);
            }
        }
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    
    function shouldSwapBack(address recipient) internal view returns (bool) {
        return !inSwap
        && swapEnabled
        && pairs[recipient]
        && _balances[address(this)] >= swapThreshold;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    event AutoLiquify(uint256 amountPairToken, uint256 amountToken);
    event BurnedToken(uint256 amountOfToken, uint256 amountOfEth, uint256 totalTokenBurned, uint256 totalEthBurned);

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountPairToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountOfToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOfEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalTokenBurned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalEthBurned","type":"uint256"}],"name":"BurnedToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AllfeeDenominator","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHoldAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"addNewPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowtrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"}],"name":"claimtokensback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"USDTAmount","type":"uint256"}],"name":"getEstimatedTokenForUSDT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBuyFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSellFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialTaxesEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pairToRemove","type":"address"}],"name":"removePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"walletToBlacklistArray","type":"address[]"}],"name":"setBlacklistArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"walletToBlacklist","type":"address"},{"internalType":"bool","name":"isBlacklistedBool","type":"bool"}],"name":"setBlacklistedStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_liquidityFeeMul10","type":"uint8"},{"internalType":"uint8","name":"_marketingFeeMul10","type":"uint8"},{"internalType":"uint8","name":"_burnFeeMul10","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_initialBuyFeePercentMul10","type":"uint8"},{"internalType":"uint8","name":"_initialSellFeePercentMul10","type":"uint8"}],"name":"setInitialfees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setSwapThresholdDivisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentageMul10","type":"uint256"}],"name":"setmaxholdpercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopInitialTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"subbedUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEthSpent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSubs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160581b0319166903e800fa012c500546051790556200002e6012600a62000549565b6200003d906298968062000561565b60045560646004546200005191906200057b565b60055560326004546200006591906200057b565b6006556101f46004546200007a91906200057b565b600755600b80546001600160a01b031990811673dac17f958d2ee523a2206206994597c13d831ec717909155600c8054821673feb6d5238ed8f1d59dcab2db381aa948e625966d179055600d8054821661dead179055600e805490911690556019805460ff60a01b1916600160a01b179055601c805460ff191660011790553480156200010657600080fd5b50604051620033db380380620033db83398101604081905262000129916200059e565b600080546001600160a01b03199081166001600160a01b0384169081178355825260016020818152604093849020805460ff191690921790915560198054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001df91906200059e565b6001600160a01b031663c9c65396601960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026791906200059e565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da91906200059e565b601180546001600160a01b039283166001600160a01b0319918216811783556000908152601460209081526040808320805460ff19908116600190811790925560048054308752601386528487206019548b16885286528487205596548816855260178085528386208054831684179055600d54891686528386208054831684179055600e5489168652838620805483168417905585548a8a1690881681178755865260168552838620805483168417905585548916865260158552838620805483168417905585548916865282855283862080548316841790558554891686528452828520805490911690911790558254600f805486169188169182179055601080549095168117909455935492825260128152838220839055815493519283529290931692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620005c9565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200048b5781600019048211156200046f576200046f62000434565b808516156200047d57918102915b93841c93908002906200044f565b509250929050565b600082620004a45750600162000543565b81620004b35750600062000543565b8160018114620004cc5760028114620004d757620004f7565b600191505062000543565b60ff841115620004eb57620004eb62000434565b50506001821b62000543565b5060208310610133831016604e8410600b84101617156200051c575081810a62000543565b6200052883836200044a565b80600019048211156200053f576200053f62000434565b0290505b92915050565b60006200055a60ff84168362000493565b9392505050565b808202811582820484141762000543576200054362000434565b6000826200059957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005b157600080fd5b81516001600160a01b03811681146200055a57600080fd5b612e0280620005d96000396000f3fe6080604052600436106103855760003560e01c806392d3b886116101d1578063df20fd4911610102578063f2fde38b116100a0578063f887ea401161006f578063f887ea4014610a9b578063fce589d814610abb578063fe33b30214610adb578063fe9fbb8014610b0b57600080fd5b8063f2fde38b14610a25578063f5676f8f14610a45578063f6794fdb14610a5b578063f84ba65d14610a7b57600080fd5b8063ee8969c5116100dc578063ee8969c5146109af578063f054c0d0146109cf578063f0b37c04146109e5578063f1366d9a14610a0557600080fd5b8063df20fd491461094f578063e405be291461096f578063e96fada21461098f57600080fd5b8063a8aa1b311161016f578063b6a5d7de11610149578063b6a5d7de146108b3578063bf56b371146108d3578063ca33e64c146108e9578063dd62ed3e1461090957600080fd5b8063a8aa1b3114610853578063a9059cbb14610873578063af6c9c1d1461089357600080fd5b8063a1ad7cef116101ab578063a1ad7cef146107e8578063a41d40e1146107fe578063a4b45c001461081e578063a63342311461083e57600080fd5b806392d3b8861461078957806395d89b411461079f57806398118cb4146107ce57600080fd5b806332406b35116102b65780636b67c4df11610254578063715b1c3b11610223578063715b1c3b14610715578063759f62a6146107355780637d1db4a514610755578063893d20e81461076b57600080fd5b80636b67c4df1461068a5780636ddd1713146106a95780636f2a4914146106ca57806370a08231146106df57600080fd5b8063571ac8b011610290578063571ac8b01461060a5780635c85974f1461062a578063658d4b7f1461064a57806366bb5dd31461066a57600080fd5b806332406b35146105ac5780633ab045de146105c657806342c7a6f7146105e857600080fd5b806323b872dd116103235780632f05205c116102fd5780632f05205c146105265780632f54bf6e14610547578063313ce5671461057657806331e02e0b1461058a57600080fd5b806323b872dd146104bb5780632b112e49146104db5780632b36a6d2146104f057600080fd5b806318160ddd1161035f57806318160ddd146104255780631936d3681461043a5780631df4ccfc146104725780631fc9efa1146104a557600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103f557600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a760075481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b506040805180820190915260098152682223aa2b16a13ab93760b91b60208201525b6040516103b191906127c7565b34801561040157600080fd5b5061041561041036600461282d565b610b2b565b60405190151581526020016103b1565b34801561043157600080fd5b506004546103a7565b34801561044657600080fd5b5061045a610455366004612859565b610b98565b6040516001600160a01b0390911681526020016103b1565b34801561047e57600080fd5b50600254610493906301000000900460ff1681565b60405160ff90911681526020016103b1565b3480156104b157600080fd5b506103a760065481565b3480156104c757600080fd5b506104156104d6366004612872565b610bc2565b3480156104e757600080fd5b506103a7610c86565b3480156104fc57600080fd5b5060025461051390640100000000900461ffff1681565b60405161ffff90911681526020016103b1565b34801561053257600080fd5b5060025461041590600160501b900460ff1681565b34801561055357600080fd5b506104156105623660046128b3565b6000546001600160a01b0391821691161490565b34801561058257600080fd5b506012610493565b34801561059657600080fd5b5060025461051390600160301b900461ffff1681565b3480156105b857600080fd5b50601c546104159060ff1681565b3480156105d257600080fd5b5060025461051390600160401b900461ffff1681565b3480156105f457600080fd5b506106086106033660046128e6565b610cd8565b005b34801561061657600080fd5b506104156106253660046128b3565b610d93565b34801561063657600080fd5b50610608610645366004612859565b610da1565b34801561065657600080fd5b50610608610665366004612927565b610e99565b34801561067657600080fd5b506106086106853660046128b3565b610ee9565b34801561069657600080fd5b5060025461049390610100900460ff1681565b3480156106b557600080fd5b5060195461041590600160a01b900460ff1681565b3480156106d657600080fd5b5061060861102e565b3480156106eb57600080fd5b506103a76106fa3660046128b3565b6001600160a01b031660009081526012602052604090205490565b34801561072157600080fd5b50610608610730366004612859565b61105f565b34801561074157600080fd5b50610608610750366004612927565b611109565b34801561076157600080fd5b506103a760055481565b34801561077757600080fd5b506000546001600160a01b031661045a565b34801561079557600080fd5b506103a760095481565b3480156107ab57600080fd5b50604080518082019091526006815265122223aa2b2160d11b60208201526103e8565b3480156107da57600080fd5b506002546104939060ff1681565b3480156107f457600080fd5b506103a760085481565b34801561080a57600080fd5b506106086108193660046128b3565b611159565b34801561082a57600080fd5b50610608610839366004612960565b6111ba565b34801561084a57600080fd5b5061060861120d565b34801561085f57600080fd5b5060115461045a906001600160a01b031681565b34801561087f57600080fd5b5061041561088e36600461282d565b611247565b34801561089f57600080fd5b506106086108ae3660046128b3565b611254565b3480156108bf57600080fd5b506106086108ce3660046128b3565b6112af565b3480156108df57600080fd5b506103a760035481565b3480156108f557600080fd5b50600f5461045a906001600160a01b031681565b34801561091557600080fd5b506103a7610924366004612960565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b34801561095b57600080fd5b5061060861096a36600461298e565b611300565b34801561097b57600080fd5b5061060861098a3660046129ac565b611347565b34801561099b57600080fd5b5060105461045a906001600160a01b031681565b3480156109bb57600080fd5b506103a76109ca366004612859565b6113e3565b3480156109db57600080fd5b506103a7600a5481565b3480156109f157600080fd5b50610608610a003660046128b3565b611593565b348015610a1157600080fd5b50610608610a20366004612859565b6115de565b348015610a3157600080fd5b50610608610a403660046128b3565b611668565b348015610a5157600080fd5b506103a7601b5481565b348015610a6757600080fd5b50610608610a76366004612a21565b6116fe565b348015610a8757600080fd5b50610608610a96366004612927565b611873565b348015610aa757600080fd5b5060195461045a906001600160a01b031681565b348015610ac757600080fd5b506002546104939062010000900460ff1681565b348015610ae757600080fd5b50610415610af63660046128b3565b60146020526000908152604090205460ff1681565b348015610b1757600080fd5b50610415610b263660046128b3565b6118c3565b3360008181526013602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b869086815260200190565b60405180910390a35060015b92915050565b601a8181548110610ba857600080fd5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b0384166000908152601360209081526040808320338452909152812054909114610c71576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152601382528381203382529091529190912054610c4c9184906118e1565b6001600160a01b03851660009081526013602090815260408083203384529091529020555b610c7c84848461191b565b90505b9392505050565b600e546001600160a01b0316600090815260126020526040812054610cd390600d546001600160a01b0316600090815260126020526040902054610ccd9060045490611d65565b90611d65565b905090565b610ce1336118c3565b610d065760405162461bcd60e51b8152600401610cfd90612a64565b60405180910390fd5b60025460ff8316600160301b90910461ffff1610610d3f576002805467ffff000000000000191660ff8416600160301b02179055610d4a565b601c805460ff191690555b60025460ff821664010000000090910461ffff1610610d84576002805464010000000060ff84160265ffff00000000199091161790555050565b601c805460ff191690555b5050565b6000610b9282600454610b2b565b610daa336118c3565b610dc65760405162461bcd60e51b8152600401610cfd90612a64565b60c8600454610dd59190612ab5565b811015610e2e5760405162461bcd60e51b815260206004820152602160248201527f4454564255524e2c206d75737420626520686967686572207468616e20302e356044820152602560f81b6064820152608401610cfd565b6005548111610e945760405162461bcd60e51b815260206004820152602c60248201527f4454564255524e2c2063616e206f6e6c79206576657220696e6372656173652060448201526b1d1a19481d1e081b1a5b5a5d60a21b6064820152608401610cfd565b600555565b610ea2336118c3565b610ebe5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b610ef2336118c3565b610f0e5760405162461bcd60e51b8152600401610cfd90612a64565b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f47573d6000803e3d6000fd5b506010546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612ac9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561100a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612ae2565b611037336118c3565b6110535760405162461bcd60e51b8152600401610cfd90612a64565b601c805460ff19169055565b611068336118c3565b6110845760405162461bcd60e51b8152600401610cfd90612a64565b60058110156110e85760405162461bcd60e51b815260206004820152602a60248201527f4454564255524e2c206d617820686f6c642063616e6e6f74206265206c657373604482015269207468616e20302e352560b01b6064820152608401610cfd565b6103e8816004546110f99190612aff565b6111039190612ab5565b60065550565b611112336118c3565b61112e5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b611162336118c3565b61117e5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b031660009081526014602090815260408083208054600160ff1991821681179092556017909352922080549091169091179055565b6111c3336118c3565b6111df5760405162461bcd60e51b8152600401610cfd90612a64565b600f80546001600160a01b039384166001600160a01b03199182161790915560108054929093169116179055565b611216336118c3565b6112325760405162461bcd60e51b8152600401610cfd90612a64565b6002805460ff60501b1916600160501b179055565b6000610c7f33848461191b565b61125d336118c3565b6112795760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03166000908152601460209081526040808320805460ff19908116909155601790925290912080549091169055565b6000546001600160a01b031633146112d95760405162461bcd60e51b8152600401610cfd90612b16565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b611309336118c3565b6113255760405162461bcd60e51b8152600401610cfd90612a64565b60198054921515600160a01b0260ff60a01b1990931692909217909155600755565b611350336118c3565b61136c5760405162461bcd60e51b8152600401610cfd90612a64565b60005b818110156113de5760016018600085858581811061138f5761138f612b36565b90506020020160208101906113a491906128b3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806113d681612b4c565b91505061136f565b505050565b60408051600380825260808201909252600091829190602082016060803683375050600b5482519293506001600160a01b03169183915060009061142957611429612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a69190612b7b565b816001815181106114b9576114b9612b36565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002815181106114ed576114ed612b36565b6001600160a01b03928316602091820292909201015260195460405163d06ca61f60e01b815291169063d06ca61f9061152c9086908590600401612bdc565b600060405180830381865afa158015611549573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115719190810190612bf5565b60028151811061158357611583612b36565b6020026020010151915050919050565b6000546001600160a01b031633146115bd5760405162461bcd60e51b8152600401610cfd90612b16565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6115e7336118c3565b6116035760405162461bcd60e51b8152600401610cfd90612a64565b60648110156116545760405162461bcd60e51b815260206004820152601f60248201527f4454564255524e3a206d61782073656c6c2070657263656e74206973203125006044820152606401610cfd565b806004546116629190612ab5565b60075550565b6000546001600160a01b031633146116925760405162461bcd60e51b8152600401610cfd90612b16565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611707336118c3565b6117235760405162461bcd60e51b8152600401610cfd90612a64565b6050816117308486612cb3565b61173a9190612cb3565b60ff1611156117955760405162461bcd60e51b815260206004820152602160248201527f4454564255524e2074617865732063616e206e657665722065786365656420386044820152602560f81b6064820152608401610cfd565b6002546301000000900460ff166117ac8385612cb3565b60ff16111561180f5760405162461bcd60e51b815260206004820152602960248201527f4454564255524e2c2074617865732063616e206f6e6c792065766572206368616044820152686e676520726174696f60b81b6064820152608401610cfd565b6002805460ff838116620100000262ff0000198683166101000261ffff199094169288169290921792909217161790558061184a8385612cb3565b6118549190612cb3565b600260036101000a81548160ff021916908360ff160217905550505050565b61187c336118c3565b6118985760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156119055760405162461bcd60e51b8152600401610cfd91906127c7565b5060006119128486612ccc565b95945050505050565b600254600090600160501b900460ff166119b2576000546001600160a01b038581169116146119b25760405162461bcd60e51b815260206004820152603960248201527f4454564255524e2c204f6e6c79206f776e6572206f722070726573616c65204360448201527f6f6e747261637420616c6c6f77656420746f20616464204c50000000000000006064820152608401610cfd565b6000546001600160a01b038581169116148015906119de57506000546001600160a01b03848116911614155b15611abf576001600160a01b03831660009081526014602052604090205460ff16158015611a2557506001600160a01b03831660009081526017602052604090205460ff16155b15611abf5760065482611a4d856001600160a01b031660009081526012602052604090205490565b611a579190612cdf565b1115611abf5760405162461bcd60e51b815260206004820152603160248201527f4454564255524e2c2063616e7420686f6c64206d6f7265207468616e206d617860448201527020686f6c6420647564652c20736f72727960781b6064820152608401610cfd565b611aca848484611da7565b6001600160a01b03841660009081526018602052604090205460ff16158015611b0c57506001600160a01b03831660009081526018602052604090205460ff16155b611b665760405162461bcd60e51b815260206004820152602560248201527f4454564255524e2c20536f7272792062726f2c20796f75726520626c61636b6c6044820152641a5cdd195960da1b6064820152608401610cfd565b600354158015611b8e57506001600160a01b03831660009081526014602052604090205460ff165b15611bbe576001600160a01b038416600090815260126020526040902054611bb557600080fd5b611bbe42600355565b601954600160a81b900460ff1615611be257611bdb848484611e41565b9050610c7f565b604080518082018252601d81527f4454564255524e2c20496e73756666696369656e742042616c616e63650000006020808301919091526001600160a01b038716600090815260129091529190912054611c3d9184906118e1565b6001600160a01b038516600090815260126020908152604080832093909355601590529081205460ff16151580611c8e57506001600160a01b03841660009081526015602052604090205460ff1615155b15611c9a575081611cc5565b6001600160a01b03851660009081526014602052604090205460ff16611cc1868286611f27565b9150505b611cce84612018565b15611cdb57611cdb612084565b6001600160a01b038416600090815260126020526040902054611cfe908261267b565b6001600160a01b0380861660008181526012602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d529085815260200190565b60405180910390a3506001949350505050565b6000610c7f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118e1565b6000546001600160a01b03848116911614801590611dd357506000546001600160a01b03838116911614155b156113de5760055481111580611e0157506001600160a01b03831660009081526016602052604090205460ff165b6113de5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610cfd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601290915291822054611e929184906118e1565b6001600160a01b038086166000908152601260205260408082209390935590851681522054611ec1908361267b565b6001600160a01b0380851660008181526012602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f159086815260200190565b60405180910390a35060019392505050565b600254601c5460009160ff63010000009091048116911615611f695750600254640100000000900461ffff168315611f695750600254600160301b900461ffff165b600254600090611f8e90600160401b900461ffff16611f8886856126da565b9061275c565b30600090815260126020526040902054909150611fab908261267b565b30600081815260126020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ffc9085815260200190565b60405180910390a361200e8482611d65565b9695505050505050565b601954600090600160a81b900460ff1615801561203e5750601954600160a01b900460ff165b801561206257506001600160a01b03821660009081526014602052604090205460ff165b8015610b92575060075430600090815260126020526040902054101592915050565b6019805460ff60a81b1916600160a81b17905560025460009060ff16156120cd57600280546007546120ca9291611f889160ff63010000008304811692849291166126da565b90505b6007546000906120dd9083611d65565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061211757612117612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121949190612b7b565b816001815181106121a7576121a7612b36565b6001600160a01b03928316602091820292909201015260195447911663791ac94784600085306121d8426064612cdf565b6040518663ffffffff1660e01b81526004016121f8959493929190612cf2565b600060405180830381600087803b15801561221257600080fd5b505af1158015612226573d6000803e3d6000fd5b50505050600061223f8247611d6590919063ffffffff16565b60028054919250600091612256919060ff16612d2e565b60025461226d91906301000000900460ff16612d50565b60ff169050801561266657600254600090610100900460ff16156122e4576002546122a7908390611f88908690610100900460ff166126da565b6010546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156122e2573d6000803e3d6000fd5b505b60025460009062010000900460ff161561257157600254612315908490611f8890879062010000900460ff166126da565b600c5487519192506001600160a01b0316908790600190811061233a5761233a612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b79190612b7b565b866000815181106123ca576123ca612b36565b6001600160a01b03928316602091820292909201015260195460405163d06ca61f60e01b8152600092919091169063d06ca61f9061240e9085908b90600401612bdc565b600060405180830381865afa15801561242b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124539190810190612bf5565b60018151811061246557612465612b36565b6020026020010151905080600860008282546124819190612cdf565b92505081905550816009600082825461249a9190612cdf565b9091555050601954600d546001600160a01b039182169163b6f9de959185916000918c91166124ca42600a612cdf565b6040518663ffffffff1660e01b81526004016124e99493929190612d69565b6000604051808303818588803b15801561250257600080fd5b505af1158015612516573d6000803e3d6000fd5b505060085460095460408051878152602081018990529081019290925260608201527f75439fae033ad11a4139cc3fc247c1db8db388fb49a920dfbf915df9b9ef6bb6935060800191506125679050565b60405180910390a1505b8715612663576000816125848487612ccc565b61258e9190612ccc565b601954600f5460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015612600573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126259190612d9e565b505060408051838152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a1505b50505b50506019805460ff60a81b1916905550505050565b6000806126888385612cdf565b905083811015610c7f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cfd565b6000826000036126ec57506000610b92565b60006126f88385612aff565b9050826127058583612ab5565b14610c7f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cfd565b6000610c7f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836127ba5760405162461bcd60e51b8152600401610cfd91906127c7565b5060006119128486612ab5565b600060208083528351808285015260005b818110156127f4578581018301518582016040015282016127d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461282a57600080fd5b50565b6000806040838503121561284057600080fd5b823561284b81612815565b946020939093013593505050565b60006020828403121561286b57600080fd5b5035919050565b60008060006060848603121561288757600080fd5b833561289281612815565b925060208401356128a281612815565b929592945050506040919091013590565b6000602082840312156128c557600080fd5b8135610c7f81612815565b803560ff811681146128e157600080fd5b919050565b600080604083850312156128f957600080fd5b612902836128d0565b9150612910602084016128d0565b90509250929050565b801515811461282a57600080fd5b6000806040838503121561293a57600080fd5b823561294581612815565b9150602083013561295581612919565b809150509250929050565b6000806040838503121561297357600080fd5b823561297e81612815565b9150602083013561295581612815565b600080604083850312156129a157600080fd5b823561284b81612919565b600080602083850312156129bf57600080fd5b823567ffffffffffffffff808211156129d757600080fd5b818501915085601f8301126129eb57600080fd5b8135818111156129fa57600080fd5b8660208260051b8501011115612a0f57600080fd5b60209290920196919550909350505050565b600080600060608486031215612a3657600080fd5b612a3f846128d0565b9250612a4d602085016128d0565b9150612a5b604085016128d0565b90509250925092565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612ac457612ac4612a89565b500490565b600060208284031215612adb57600080fd5b5051919050565b600060208284031215612af457600080fd5b8151610c7f81612919565b8082028115828204841417610b9257610b92612a9f565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201612b5e57612b5e612a9f565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215612b8d57600080fd5b8151610c7f81612815565b600081518084526020808501945080840160005b83811015612bd15781516001600160a01b031687529582019590820190600101612bac565b509495945050505050565b828152604060208201526000610c7c6040830184612b98565b60006020808385031215612c0857600080fd5b825167ffffffffffffffff80821115612c2057600080fd5b818501915085601f830112612c3457600080fd5b815181811115612c4657612c46612b65565b8060051b604051601f19603f83011681018181108582111715612c6b57612c6b612b65565b604052918252848201925083810185019188831115612c8957600080fd5b938501935b82851015612ca757845184529385019392850192612c8e565b98975050505050505050565b60ff8181168382160190811115610b9257610b92612a9f565b81810381811115610b9257610b92612a9f565b80820180821115610b9257610b92612a9f565b85815284602082015260a060408201526000612d1160a0830186612b98565b6001600160a01b0394909416606083015250608001529392505050565b600060ff831680612d4157612d41612a89565b8060ff84160491505092915050565b60ff8281168282160390811115610b9257610b92612a9f565b848152608060208201526000612d826080830186612b98565b6001600160a01b03949094166040830152506060015292915050565b600080600060608486031215612db357600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220eaacc0758503be14af8c2538c1bae0c7d2b3b597bee088e24e1f7309999bc02764736f6c63430008110033000000000000000000000000d398dbb68aac797e3ef342b90e1b8a2a79e31064

Deployed Bytecode

0x6080604052600436106103855760003560e01c806392d3b886116101d1578063df20fd4911610102578063f2fde38b116100a0578063f887ea401161006f578063f887ea4014610a9b578063fce589d814610abb578063fe33b30214610adb578063fe9fbb8014610b0b57600080fd5b8063f2fde38b14610a25578063f5676f8f14610a45578063f6794fdb14610a5b578063f84ba65d14610a7b57600080fd5b8063ee8969c5116100dc578063ee8969c5146109af578063f054c0d0146109cf578063f0b37c04146109e5578063f1366d9a14610a0557600080fd5b8063df20fd491461094f578063e405be291461096f578063e96fada21461098f57600080fd5b8063a8aa1b311161016f578063b6a5d7de11610149578063b6a5d7de146108b3578063bf56b371146108d3578063ca33e64c146108e9578063dd62ed3e1461090957600080fd5b8063a8aa1b3114610853578063a9059cbb14610873578063af6c9c1d1461089357600080fd5b8063a1ad7cef116101ab578063a1ad7cef146107e8578063a41d40e1146107fe578063a4b45c001461081e578063a63342311461083e57600080fd5b806392d3b8861461078957806395d89b411461079f57806398118cb4146107ce57600080fd5b806332406b35116102b65780636b67c4df11610254578063715b1c3b11610223578063715b1c3b14610715578063759f62a6146107355780637d1db4a514610755578063893d20e81461076b57600080fd5b80636b67c4df1461068a5780636ddd1713146106a95780636f2a4914146106ca57806370a08231146106df57600080fd5b8063571ac8b011610290578063571ac8b01461060a5780635c85974f1461062a578063658d4b7f1461064a57806366bb5dd31461066a57600080fd5b806332406b35146105ac5780633ab045de146105c657806342c7a6f7146105e857600080fd5b806323b872dd116103235780632f05205c116102fd5780632f05205c146105265780632f54bf6e14610547578063313ce5671461057657806331e02e0b1461058a57600080fd5b806323b872dd146104bb5780632b112e49146104db5780632b36a6d2146104f057600080fd5b806318160ddd1161035f57806318160ddd146104255780631936d3681461043a5780631df4ccfc146104725780631fc9efa1146104a557600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103f557600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a760075481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b506040805180820190915260098152682223aa2b16a13ab93760b91b60208201525b6040516103b191906127c7565b34801561040157600080fd5b5061041561041036600461282d565b610b2b565b60405190151581526020016103b1565b34801561043157600080fd5b506004546103a7565b34801561044657600080fd5b5061045a610455366004612859565b610b98565b6040516001600160a01b0390911681526020016103b1565b34801561047e57600080fd5b50600254610493906301000000900460ff1681565b60405160ff90911681526020016103b1565b3480156104b157600080fd5b506103a760065481565b3480156104c757600080fd5b506104156104d6366004612872565b610bc2565b3480156104e757600080fd5b506103a7610c86565b3480156104fc57600080fd5b5060025461051390640100000000900461ffff1681565b60405161ffff90911681526020016103b1565b34801561053257600080fd5b5060025461041590600160501b900460ff1681565b34801561055357600080fd5b506104156105623660046128b3565b6000546001600160a01b0391821691161490565b34801561058257600080fd5b506012610493565b34801561059657600080fd5b5060025461051390600160301b900461ffff1681565b3480156105b857600080fd5b50601c546104159060ff1681565b3480156105d257600080fd5b5060025461051390600160401b900461ffff1681565b3480156105f457600080fd5b506106086106033660046128e6565b610cd8565b005b34801561061657600080fd5b506104156106253660046128b3565b610d93565b34801561063657600080fd5b50610608610645366004612859565b610da1565b34801561065657600080fd5b50610608610665366004612927565b610e99565b34801561067657600080fd5b506106086106853660046128b3565b610ee9565b34801561069657600080fd5b5060025461049390610100900460ff1681565b3480156106b557600080fd5b5060195461041590600160a01b900460ff1681565b3480156106d657600080fd5b5061060861102e565b3480156106eb57600080fd5b506103a76106fa3660046128b3565b6001600160a01b031660009081526012602052604090205490565b34801561072157600080fd5b50610608610730366004612859565b61105f565b34801561074157600080fd5b50610608610750366004612927565b611109565b34801561076157600080fd5b506103a760055481565b34801561077757600080fd5b506000546001600160a01b031661045a565b34801561079557600080fd5b506103a760095481565b3480156107ab57600080fd5b50604080518082019091526006815265122223aa2b2160d11b60208201526103e8565b3480156107da57600080fd5b506002546104939060ff1681565b3480156107f457600080fd5b506103a760085481565b34801561080a57600080fd5b506106086108193660046128b3565b611159565b34801561082a57600080fd5b50610608610839366004612960565b6111ba565b34801561084a57600080fd5b5061060861120d565b34801561085f57600080fd5b5060115461045a906001600160a01b031681565b34801561087f57600080fd5b5061041561088e36600461282d565b611247565b34801561089f57600080fd5b506106086108ae3660046128b3565b611254565b3480156108bf57600080fd5b506106086108ce3660046128b3565b6112af565b3480156108df57600080fd5b506103a760035481565b3480156108f557600080fd5b50600f5461045a906001600160a01b031681565b34801561091557600080fd5b506103a7610924366004612960565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b34801561095b57600080fd5b5061060861096a36600461298e565b611300565b34801561097b57600080fd5b5061060861098a3660046129ac565b611347565b34801561099b57600080fd5b5060105461045a906001600160a01b031681565b3480156109bb57600080fd5b506103a76109ca366004612859565b6113e3565b3480156109db57600080fd5b506103a7600a5481565b3480156109f157600080fd5b50610608610a003660046128b3565b611593565b348015610a1157600080fd5b50610608610a20366004612859565b6115de565b348015610a3157600080fd5b50610608610a403660046128b3565b611668565b348015610a5157600080fd5b506103a7601b5481565b348015610a6757600080fd5b50610608610a76366004612a21565b6116fe565b348015610a8757600080fd5b50610608610a96366004612927565b611873565b348015610aa757600080fd5b5060195461045a906001600160a01b031681565b348015610ac757600080fd5b506002546104939062010000900460ff1681565b348015610ae757600080fd5b50610415610af63660046128b3565b60146020526000908152604090205460ff1681565b348015610b1757600080fd5b50610415610b263660046128b3565b6118c3565b3360008181526013602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b869086815260200190565b60405180910390a35060015b92915050565b601a8181548110610ba857600080fd5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b0384166000908152601360209081526040808320338452909152812054909114610c71576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152601382528381203382529091529190912054610c4c9184906118e1565b6001600160a01b03851660009081526013602090815260408083203384529091529020555b610c7c84848461191b565b90505b9392505050565b600e546001600160a01b0316600090815260126020526040812054610cd390600d546001600160a01b0316600090815260126020526040902054610ccd9060045490611d65565b90611d65565b905090565b610ce1336118c3565b610d065760405162461bcd60e51b8152600401610cfd90612a64565b60405180910390fd5b60025460ff8316600160301b90910461ffff1610610d3f576002805467ffff000000000000191660ff8416600160301b02179055610d4a565b601c805460ff191690555b60025460ff821664010000000090910461ffff1610610d84576002805464010000000060ff84160265ffff00000000199091161790555050565b601c805460ff191690555b5050565b6000610b9282600454610b2b565b610daa336118c3565b610dc65760405162461bcd60e51b8152600401610cfd90612a64565b60c8600454610dd59190612ab5565b811015610e2e5760405162461bcd60e51b815260206004820152602160248201527f4454564255524e2c206d75737420626520686967686572207468616e20302e356044820152602560f81b6064820152608401610cfd565b6005548111610e945760405162461bcd60e51b815260206004820152602c60248201527f4454564255524e2c2063616e206f6e6c79206576657220696e6372656173652060448201526b1d1a19481d1e081b1a5b5a5d60a21b6064820152608401610cfd565b600555565b610ea2336118c3565b610ebe5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b610ef2336118c3565b610f0e5760405162461bcd60e51b8152600401610cfd90612a64565b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f47573d6000803e3d6000fd5b506010546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612ac9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561100a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612ae2565b611037336118c3565b6110535760405162461bcd60e51b8152600401610cfd90612a64565b601c805460ff19169055565b611068336118c3565b6110845760405162461bcd60e51b8152600401610cfd90612a64565b60058110156110e85760405162461bcd60e51b815260206004820152602a60248201527f4454564255524e2c206d617820686f6c642063616e6e6f74206265206c657373604482015269207468616e20302e352560b01b6064820152608401610cfd565b6103e8816004546110f99190612aff565b6111039190612ab5565b60065550565b611112336118c3565b61112e5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b611162336118c3565b61117e5760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b031660009081526014602090815260408083208054600160ff1991821681179092556017909352922080549091169091179055565b6111c3336118c3565b6111df5760405162461bcd60e51b8152600401610cfd90612a64565b600f80546001600160a01b039384166001600160a01b03199182161790915560108054929093169116179055565b611216336118c3565b6112325760405162461bcd60e51b8152600401610cfd90612a64565b6002805460ff60501b1916600160501b179055565b6000610c7f33848461191b565b61125d336118c3565b6112795760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03166000908152601460209081526040808320805460ff19908116909155601790925290912080549091169055565b6000546001600160a01b031633146112d95760405162461bcd60e51b8152600401610cfd90612b16565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b611309336118c3565b6113255760405162461bcd60e51b8152600401610cfd90612a64565b60198054921515600160a01b0260ff60a01b1990931692909217909155600755565b611350336118c3565b61136c5760405162461bcd60e51b8152600401610cfd90612a64565b60005b818110156113de5760016018600085858581811061138f5761138f612b36565b90506020020160208101906113a491906128b3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806113d681612b4c565b91505061136f565b505050565b60408051600380825260808201909252600091829190602082016060803683375050600b5482519293506001600160a01b03169183915060009061142957611429612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a69190612b7b565b816001815181106114b9576114b9612b36565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002815181106114ed576114ed612b36565b6001600160a01b03928316602091820292909201015260195460405163d06ca61f60e01b815291169063d06ca61f9061152c9086908590600401612bdc565b600060405180830381865afa158015611549573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115719190810190612bf5565b60028151811061158357611583612b36565b6020026020010151915050919050565b6000546001600160a01b031633146115bd5760405162461bcd60e51b8152600401610cfd90612b16565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6115e7336118c3565b6116035760405162461bcd60e51b8152600401610cfd90612a64565b60648110156116545760405162461bcd60e51b815260206004820152601f60248201527f4454564255524e3a206d61782073656c6c2070657263656e74206973203125006044820152606401610cfd565b806004546116629190612ab5565b60075550565b6000546001600160a01b031633146116925760405162461bcd60e51b8152600401610cfd90612b16565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611707336118c3565b6117235760405162461bcd60e51b8152600401610cfd90612a64565b6050816117308486612cb3565b61173a9190612cb3565b60ff1611156117955760405162461bcd60e51b815260206004820152602160248201527f4454564255524e2074617865732063616e206e657665722065786365656420386044820152602560f81b6064820152608401610cfd565b6002546301000000900460ff166117ac8385612cb3565b60ff16111561180f5760405162461bcd60e51b815260206004820152602960248201527f4454564255524e2c2074617865732063616e206f6e6c792065766572206368616044820152686e676520726174696f60b81b6064820152608401610cfd565b6002805460ff838116620100000262ff0000198683166101000261ffff199094169288169290921792909217161790558061184a8385612cb3565b6118549190612cb3565b600260036101000a81548160ff021916908360ff160217905550505050565b61187c336118c3565b6118985760405162461bcd60e51b8152600401610cfd90612a64565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156119055760405162461bcd60e51b8152600401610cfd91906127c7565b5060006119128486612ccc565b95945050505050565b600254600090600160501b900460ff166119b2576000546001600160a01b038581169116146119b25760405162461bcd60e51b815260206004820152603960248201527f4454564255524e2c204f6e6c79206f776e6572206f722070726573616c65204360448201527f6f6e747261637420616c6c6f77656420746f20616464204c50000000000000006064820152608401610cfd565b6000546001600160a01b038581169116148015906119de57506000546001600160a01b03848116911614155b15611abf576001600160a01b03831660009081526014602052604090205460ff16158015611a2557506001600160a01b03831660009081526017602052604090205460ff16155b15611abf5760065482611a4d856001600160a01b031660009081526012602052604090205490565b611a579190612cdf565b1115611abf5760405162461bcd60e51b815260206004820152603160248201527f4454564255524e2c2063616e7420686f6c64206d6f7265207468616e206d617860448201527020686f6c6420647564652c20736f72727960781b6064820152608401610cfd565b611aca848484611da7565b6001600160a01b03841660009081526018602052604090205460ff16158015611b0c57506001600160a01b03831660009081526018602052604090205460ff16155b611b665760405162461bcd60e51b815260206004820152602560248201527f4454564255524e2c20536f7272792062726f2c20796f75726520626c61636b6c6044820152641a5cdd195960da1b6064820152608401610cfd565b600354158015611b8e57506001600160a01b03831660009081526014602052604090205460ff165b15611bbe576001600160a01b038416600090815260126020526040902054611bb557600080fd5b611bbe42600355565b601954600160a81b900460ff1615611be257611bdb848484611e41565b9050610c7f565b604080518082018252601d81527f4454564255524e2c20496e73756666696369656e742042616c616e63650000006020808301919091526001600160a01b038716600090815260129091529190912054611c3d9184906118e1565b6001600160a01b038516600090815260126020908152604080832093909355601590529081205460ff16151580611c8e57506001600160a01b03841660009081526015602052604090205460ff1615155b15611c9a575081611cc5565b6001600160a01b03851660009081526014602052604090205460ff16611cc1868286611f27565b9150505b611cce84612018565b15611cdb57611cdb612084565b6001600160a01b038416600090815260126020526040902054611cfe908261267b565b6001600160a01b0380861660008181526012602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d529085815260200190565b60405180910390a3506001949350505050565b6000610c7f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118e1565b6000546001600160a01b03848116911614801590611dd357506000546001600160a01b03838116911614155b156113de5760055481111580611e0157506001600160a01b03831660009081526016602052604090205460ff165b6113de5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610cfd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601290915291822054611e929184906118e1565b6001600160a01b038086166000908152601260205260408082209390935590851681522054611ec1908361267b565b6001600160a01b0380851660008181526012602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f159086815260200190565b60405180910390a35060019392505050565b600254601c5460009160ff63010000009091048116911615611f695750600254640100000000900461ffff168315611f695750600254600160301b900461ffff165b600254600090611f8e90600160401b900461ffff16611f8886856126da565b9061275c565b30600090815260126020526040902054909150611fab908261267b565b30600081815260126020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ffc9085815260200190565b60405180910390a361200e8482611d65565b9695505050505050565b601954600090600160a81b900460ff1615801561203e5750601954600160a01b900460ff165b801561206257506001600160a01b03821660009081526014602052604090205460ff165b8015610b92575060075430600090815260126020526040902054101592915050565b6019805460ff60a81b1916600160a81b17905560025460009060ff16156120cd57600280546007546120ca9291611f889160ff63010000008304811692849291166126da565b90505b6007546000906120dd9083611d65565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061211757612117612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121949190612b7b565b816001815181106121a7576121a7612b36565b6001600160a01b03928316602091820292909201015260195447911663791ac94784600085306121d8426064612cdf565b6040518663ffffffff1660e01b81526004016121f8959493929190612cf2565b600060405180830381600087803b15801561221257600080fd5b505af1158015612226573d6000803e3d6000fd5b50505050600061223f8247611d6590919063ffffffff16565b60028054919250600091612256919060ff16612d2e565b60025461226d91906301000000900460ff16612d50565b60ff169050801561266657600254600090610100900460ff16156122e4576002546122a7908390611f88908690610100900460ff166126da565b6010546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156122e2573d6000803e3d6000fd5b505b60025460009062010000900460ff161561257157600254612315908490611f8890879062010000900460ff166126da565b600c5487519192506001600160a01b0316908790600190811061233a5761233a612b36565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b79190612b7b565b866000815181106123ca576123ca612b36565b6001600160a01b03928316602091820292909201015260195460405163d06ca61f60e01b8152600092919091169063d06ca61f9061240e9085908b90600401612bdc565b600060405180830381865afa15801561242b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124539190810190612bf5565b60018151811061246557612465612b36565b6020026020010151905080600860008282546124819190612cdf565b92505081905550816009600082825461249a9190612cdf565b9091555050601954600d546001600160a01b039182169163b6f9de959185916000918c91166124ca42600a612cdf565b6040518663ffffffff1660e01b81526004016124e99493929190612d69565b6000604051808303818588803b15801561250257600080fd5b505af1158015612516573d6000803e3d6000fd5b505060085460095460408051878152602081018990529081019290925260608201527f75439fae033ad11a4139cc3fc247c1db8db388fb49a920dfbf915df9b9ef6bb6935060800191506125679050565b60405180910390a1505b8715612663576000816125848487612ccc565b61258e9190612ccc565b601954600f5460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015612600573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126259190612d9e565b505060408051838152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a1505b50505b50506019805460ff60a81b1916905550505050565b6000806126888385612cdf565b905083811015610c7f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cfd565b6000826000036126ec57506000610b92565b60006126f88385612aff565b9050826127058583612ab5565b14610c7f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cfd565b6000610c7f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836127ba5760405162461bcd60e51b8152600401610cfd91906127c7565b5060006119128486612ab5565b600060208083528351808285015260005b818110156127f4578581018301518582016040015282016127d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461282a57600080fd5b50565b6000806040838503121561284057600080fd5b823561284b81612815565b946020939093013593505050565b60006020828403121561286b57600080fd5b5035919050565b60008060006060848603121561288757600080fd5b833561289281612815565b925060208401356128a281612815565b929592945050506040919091013590565b6000602082840312156128c557600080fd5b8135610c7f81612815565b803560ff811681146128e157600080fd5b919050565b600080604083850312156128f957600080fd5b612902836128d0565b9150612910602084016128d0565b90509250929050565b801515811461282a57600080fd5b6000806040838503121561293a57600080fd5b823561294581612815565b9150602083013561295581612919565b809150509250929050565b6000806040838503121561297357600080fd5b823561297e81612815565b9150602083013561295581612815565b600080604083850312156129a157600080fd5b823561284b81612919565b600080602083850312156129bf57600080fd5b823567ffffffffffffffff808211156129d757600080fd5b818501915085601f8301126129eb57600080fd5b8135818111156129fa57600080fd5b8660208260051b8501011115612a0f57600080fd5b60209290920196919550909350505050565b600080600060608486031215612a3657600080fd5b612a3f846128d0565b9250612a4d602085016128d0565b9150612a5b604085016128d0565b90509250925092565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612ac457612ac4612a89565b500490565b600060208284031215612adb57600080fd5b5051919050565b600060208284031215612af457600080fd5b8151610c7f81612919565b8082028115828204841417610b9257610b92612a9f565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201612b5e57612b5e612a9f565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215612b8d57600080fd5b8151610c7f81612815565b600081518084526020808501945080840160005b83811015612bd15781516001600160a01b031687529582019590820190600101612bac565b509495945050505050565b828152604060208201526000610c7c6040830184612b98565b60006020808385031215612c0857600080fd5b825167ffffffffffffffff80821115612c2057600080fd5b818501915085601f830112612c3457600080fd5b815181811115612c4657612c46612b65565b8060051b604051601f19603f83011681018181108582111715612c6b57612c6b612b65565b604052918252848201925083810185019188831115612c8957600080fd5b938501935b82851015612ca757845184529385019392850192612c8e565b98975050505050505050565b60ff8181168382160190811115610b9257610b92612a9f565b81810381811115610b9257610b92612a9f565b80820180821115610b9257610b92612a9f565b85815284602082015260a060408201526000612d1160a0830186612b98565b6001600160a01b0394909416606083015250608001529392505050565b600060ff831680612d4157612d41612a89565b8060ff84160491505092915050565b60ff8281168282160390811115610b9257610b92612a9f565b848152608060208201526000612d826080830186612b98565b6001600160a01b03949094166040830152506060015292915050565b600080600060608486031215612db357600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220eaacc0758503be14af8c2538c1bae0c7d2b3b597bee088e24e1f7309999bc02764736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000d398dbb68aac797e3ef342b90e1b8a2a79e31064

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0xd398dbb68aAC797E3ef342b90e1b8A2A79e31064

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d398dbb68aac797e3ef342b90e1b8a2a79e31064


Deployed Bytecode Sourcemap

6080:15197:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7106:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7106:49:0;;;;;;;;9698:80;;;;;;;;;;-1:-1:-1;9770:5:0;;;;;;;;;;;;-1:-1:-1;;;9770:5:0;;;;9698:80;;;;;;;:::i;10880:216::-;;;;;;;;;;-1:-1:-1;10880:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;10880:216:0;1205:187:1;9428:88:0;;;;;;;;;;-1:-1:-1;9501:12:0;;9428:88;;8239:28;;;;;;;;;;-1:-1:-1;8239:28:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1746:32:1;;;1728:51;;1716:2;1701:18;8239:28:0;1582:203:1;6437:26:0;;;;;;;;;;-1:-1:-1;6437:26:0;;;;;;;;;;;;;;1962:4:1;1950:17;;;1932:36;;1920:2;1905:18;6437:26:0;1790:184:1;7044:49:0;;;;;;;;;;;;;;;;12355:374;;;;;;;;;;-1:-1:-1;12355:374:0;;;;;:::i;:::-;;:::i;20940:142::-;;;;;;;;;;;;;:::i;6472:34::-;;;;;;;;;;-1:-1:-1;6472:34:0;;;;;;;;;;;;;;2614:6:1;2602:19;;;2584:38;;2572:2;2557:18;6472:34:0;2440:188:1;6765:28:0;;;;;;;;;;-1:-1:-1;6765:28:0;;;;-1:-1:-1;;;6765:28:0;;;;;;3406:103;;;;;;;;;;-1:-1:-1;3406:103:0;;;;;:::i;:::-;3461:4;3496:5;-1:-1:-1;;;;;3485:16:0;;;3496:5;;3485:16;;3406:103;9522:80;;;;;;;;;;-1:-1:-1;8477:2:0;9522:80;;6536:33;;;;;;;;;;-1:-1:-1;6536:33:0;;;;-1:-1:-1;;;6536:33:0;;;;;;8488:38;;;;;;;;;;-1:-1:-1;8488:38:0;;;;;;;;6689;;;;;;;;;;-1:-1:-1;6689:38:0;;;;-1:-1:-1;;;6689:38:0;;;;;;15518:397;;;;;;;;;;-1:-1:-1;15518:397:0;;;;;:::i;:::-;;:::i;:::-;;11308:117;;;;;;;;;;-1:-1:-1;11308:117:0;;;;;:::i;:::-;;:::i;16554:270::-;;;;;;;;;;-1:-1:-1;16554:270:0;;;;;:::i;:::-;;:::i;16832:120::-;;;;;;;;;;-1:-1:-1;16832:120:0;;;;;:::i;:::-;;:::i;15983:239::-;;;;;;;;;;-1:-1:-1;15983:239:0;;;;;:::i;:::-;;:::i;6369:30::-;;;;;;;;;;-1:-1:-1;6369:30:0;;;;;;;;;;;8176;;;;;;;;;;-1:-1:-1;8176:30:0;;;;-1:-1:-1;;;8176:30:0;;;;;;16410:136;;;;;;;;;;;;;:::i;9868:105::-;;;;;;;;;;-1:-1:-1;9868:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9952:18:0;9934:7;9952:18;;;:9;:18;;;;;;;9868:105;11437:338;;;;;;;;;;-1:-1:-1;11437:338:0;;;;;:::i;:::-;;:::i;10459:170::-;;;;;;;;;;-1:-1:-1;10459:170:0;;;;;:::i;:::-;;:::i;6983:48::-;;;;;;;;;;;;;;;;9784:78;;;;;;;;;;-1:-1:-1;9836:7:0;9854:5;-1:-1:-1;;;;;9854:5:0;9784:78;;7207:28;;;;;;;;;;;;;;;;9608:84;;;;;;;;;;-1:-1:-1;9682:7:0;;;;;;;;;;;;-1:-1:-1;;;9682:7:0;;;;9608:84;;6333:29;;;;;;;;;;-1:-1:-1;6333:29:0;;;;;;;;7174:26;;;;;;;;;;;;;;;;11876:137;;;;;;;;;;-1:-1:-1;11876:137:0;;;;;:::i;:::-;;:::i;20312:228::-;;;;;;;;;;-1:-1:-1;20312:228:0;;;;;:::i;:::-;;:::i;11787:77::-;;;;;;;;;;;;;:::i;7763:19::-;;;;;;;;;;-1:-1:-1;7763:19:0;;;;-1:-1:-1;;;;;7763:19:0;;;12191:156;;;;;;;;;;-1:-1:-1;12191:156:0;;;;;:::i;:::-;;:::i;12025:154::-;;;;;;;;;;-1:-1:-1;12025:154:0;;;;;:::i;:::-;;:::i;3079:94::-;;;;;;;;;;-1:-1:-1;3079:94:0;;;;;:::i;:::-;;:::i;6800:25::-;;;;;;;;;;;;;;;;7676:36;;;;;;;;;;-1:-1:-1;7676:36:0;;;;-1:-1:-1;;;;;7676:36:0;;;9979:132;;;;;;;;;;-1:-1:-1;9979:132:0;;;;;:::i;:::-;-1:-1:-1;;;;;10081:19:0;;;10063:7;10081:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9979:132;20548:156;;;;;;;;;;-1:-1:-1;20548:156:0;;;;;:::i;:::-;;:::i;10637:235::-;;;;;;;;;;-1:-1:-1;10637:235:0;;;;;:::i;:::-;;:::i;7719:35::-;;;;;;;;;;-1:-1:-1;7719:35:0;;;;-1:-1:-1;;;;;7719:35:0;;;10126:321;;;;;;;;;;-1:-1:-1;10126:321:0;;;;;:::i;:::-;;:::i;7242:32::-;;;;;;;;;;;;;;;;3249:97;;;;;;;;;;-1:-1:-1;3249:97:0;;;;;:::i;:::-;;:::i;11104:192::-;;;;;;;;;;-1:-1:-1;11104:192:0;;;;;:::i;:::-;;:::i;3806:173::-;;;;;;;;;;-1:-1:-1;3806:173:0;;;;;:::i;:::-;;:::i;8274:21::-;;;;;;;;;;;;;;;;17150:561;;;;;;;;;;-1:-1:-1;17150:561:0;;;;;:::i;:::-;;:::i;16962:128::-;;;;;;;;;;-1:-1:-1;16962:128:0;;;;;:::i;:::-;;:::i;8141:24::-;;;;;;;;;;-1:-1:-1;8141:24:0;;;;-1:-1:-1;;;;;8141:24:0;;;6406;;;;;;;;;;-1:-1:-1;6406:24:0;;;;;;;;;;;7906:38;;;;;;;;;;-1:-1:-1;7906:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3580:107;;;;;;;;;;-1:-1:-1;3580:107:0;;;;;:::i;:::-;;:::i;10880:216::-;10984:10;10955:4;10972:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10972:32:0;;;;;;;;;;:41;;;11029:37;10955:4;;10972:32;;11029:37;;;;11007:6;160:25:1;;148:2;133:18;;14:177;11029:37:0;;;;;;;;-1:-1:-1;11084:4:0;10880:216;;;;;:::o;8239:28::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8239:28:0;;-1:-1:-1;8239:28:0;:::o;12355:374::-;12518:12;;-1:-1:-1;;;;;12475:19:0;;12455:4;12475:19;;;:11;:19;;;;;;;;12495:10;12475:31;;;;;;;;12455:4;;12475:56;12472:190;;12581:69;;;;;;;;;;;-1:-1:-1;;;12581:69:0;;;;;;;;-1:-1:-1;;;;;12581:19:0;;-1:-1:-1;12581:19:0;;;:11;:19;;;;;12601:10;12581:31;;;;;;;;;;:69;;12617:6;;12581:35;:69::i;:::-;-1:-1:-1;;;;;12547:19:0;;;;;;:11;:19;;;;;;;;12567:10;12547:31;;;;;;;:103;12472:190;12681:40;12695:6;12703:9;12714:6;12681:13;:40::i;:::-;12674:47;;12355:374;;;;;;:::o;20940:142::-;21068:4;;-1:-1:-1;;;;;21068:4:0;20993:7;9952:18;;;:9;:18;;;;;;21020:54;;21047:4;;-1:-1:-1;;;;;21047:4:0;9934:7;9952:18;;;:9;:18;;;;;;21020:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;21013:61;;20940:142;:::o;15518:397::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;;;;;;;;;15645:13:::1;::::0;:43:::1;::::0;::::1;-1:-1:-1::0;;;15645:13:0;;::::1;;;:43;15642:126;;15690:13;:42:::0;;-1:-1:-1;;15690:42:0::1;;::::0;::::1;-1:-1:-1::0;;;15690:42:0::1;;::::0;;15642:126:::1;;;15739:19;:27:::0;;-1:-1:-1;;15739:27:0::1;::::0;;15642:126:::1;15781:14;::::0;:45:::1;::::0;::::1;:14:::0;;;::::1;;;:45;15778:130;;15828:14;:44:::0;;;::::1;::::0;::::1;;-1:-1:-1::0;;15828:44:0;;::::1;;::::0;;15518:397;;:::o;15778:130::-:1;15879:19;:27:::0;;-1:-1:-1;;15879:27:0::1;::::0;;15778:130:::1;15518:397:::0;;:::o;11308:117::-;11363:4;11387:30;11395:7;11404:12;;11387:7;:30::i;16554:270::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;16654:3:::1;16639:12;;:18;;;;:::i;:::-;16629:6;:28;;16621:74;;;::::0;-1:-1:-1;;;16621:74:0;;7150:2:1;16621:74:0::1;::::0;::::1;7132:21:1::0;7189:2;7169:18;;;7162:30;7228:34;7208:18;;;7201:62;-1:-1:-1;;;7279:18:1;;;7272:31;7320:19;;16621:74:0::1;6948:397:1::0;16621:74:0::1;16723:12;;16714:6;:21;16706:78;;;::::0;-1:-1:-1;;;16706:78:0;;7552:2:1;16706:78:0::1;::::0;::::1;7534:21:1::0;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:42;7733:19;;16706:78:0::1;7350:408:1::0;16706:78:0::1;16795:12;:21:::0;16554:270::o;16832:120::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16916:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16916:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16832:120::o;15983:239::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;16068:20:::1;::::0;16060:61:::1;::::0;-1:-1:-1;;;;;16068:20:0;;::::1;::::0;16099:21:::1;16060:61:::0;::::1;;;::::0;16068:20:::1;16060:61:::0;16068:20;16060:61;16099:21;16068:20;16060:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16154:20:0::1;::::0;16176:37:::1;::::0;-1:-1:-1;;;16176:37:0;;16207:4:::1;16176:37;::::0;::::1;1728:51:1::0;-1:-1:-1;;;;;16132:21:0;;::::1;::::0;::::1;::::0;16154:20;::::1;::::0;16132:21;;16176:22:::1;::::0;1701:18:1;;16176:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16132:82;::::0;-1:-1:-1;;;;;;16132:82:0::1;::::0;;;;;;-1:-1:-1;;;;;8144:32:1;;;16132:82:0::1;::::0;::::1;8126:51:1::0;8193:18;;;8186:34;8099:18;;16132:82:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16410:136::-:0;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;16511:19:::1;:27:::0;;-1:-1:-1;;16511:27:0::1;::::0;;16410:136::o;11437:338::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;11550:1:::1;11531:15;:20;;11523:75;;;::::0;-1:-1:-1;;;11523:75:0;;8683:2:1;11523:75:0::1;::::0;::::1;8665:21:1::0;8722:2;8702:18;;;8695:30;8761:34;8741:18;;;8734:62;-1:-1:-1;;;8812:18:1;;;8805:40;8862:19;;11523:75:0::1;8481:406:1::0;11523:75:0::1;11733:4;11715:15;11700:12;;:30;;;;:::i;:::-;:37;;;;:::i;:::-;11683:14;:54:::0;-1:-1:-1;11437:338:0:o;10459:170::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10569:32:0;;;::::1;;::::0;;;:13:::1;:32;::::0;;;;:52;;-1:-1:-1;;10569:52:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10459:170::o;11876:137::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11942:14:0::1;;::::0;;;:5:::1;:14;::::0;;;;;;;:21;;11959:4:::1;-1:-1:-1::0;;11942:21:0;;::::1;::::0;::::1;::::0;;;11974:15:::1;:24:::0;;;;;:31;;;;::::1;::::0;;::::1;::::0;;11876:137::o;20312:228::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;20431:21:::1;:46:::0;;-1:-1:-1;;;;;20431:46:0;;::::1;-1:-1:-1::0;;;;;;20431:46:0;;::::1;;::::0;;;20488:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;20312:228::o;11787:77::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;11841:8:::1;:15:::0;;-1:-1:-1;;;;11841:15:0::1;-1:-1:-1::0;;;11841:15:0::1;::::0;;11787:77::o;12191:156::-;12271:4;12295:44;12309:10;12321:9;12332:6;12295:13;:44::i;12025:154::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12096:19:0::1;12118:5;12096:19:::0;;;:5:::1;:19;::::0;;;;;;;:27;;-1:-1:-1;;12096:27:0;;::::1;::::0;;;12134:15:::1;:29:::0;;;;;;:37;;;;::::1;::::0;;12025:154::o;3079:94::-;3461:4;3496:5;-1:-1:-1;;;;;3496:5:0;2803:10;3485:16;2787:38;;;;-1:-1:-1;;;2787:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3139:19:0::1;;::::0;;;3161:4:::1;3139:19;::::0;;;;;;;:26;;-1:-1:-1;;3139:26:0::1;::::0;;::::1;::::0;;3079:94::o;20548:156::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;20640:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;20640:22:0::1;-1:-1:-1::0;;;;20640:22:0;;::::1;::::0;;;::::1;::::0;;;20673:13:::1;:23:::0;20548:156::o;10637:235::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;10740:6:::1;10736:129;10752:33:::0;;::::1;10736:129;;;10849:4;10806:13;:40;10820:22;;10843:1;10820:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10806:40:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10806:40:0;:47;;-1:-1:-1;;10806:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10787:3;::::1;::::0;::::1;:::i;:::-;;;;10736:129;;;;10637:235:::0;;:::o;10126:321::-;10243:16;;;10257:1;10243:16;;;;;;;;;10198:4;;;;10243:16;;;;;;;;;-1:-1:-1;;10288:4:0;;10278:7;;;;-1:-1:-1;;;;;;10288:4:0;;10278:7;;-1:-1:-1;10288:4:0;;10278:7;;;;:::i;:::-;-1:-1:-1;;;;;10278:14:0;;;:7;;;;;;;;;;:14;;;;10321:6;;:13;;;-1:-1:-1;;;10321:13:0;;;;:6;;;;;:11;;:13;;;;;10278:7;;10321:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10311:4;10316:1;10311:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10311:23:0;;;-1:-1:-1;;;;;10311:23:0;;;;;10371:4;10353;10358:1;10353:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10353:23:0;;;:7;;;;;;;;;:23;10398:6;;:38;;-1:-1:-1;;;10398:38:0;;:6;;;:20;;:38;;10419:10;;10431:4;;10398:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10398:38:0;;;;;;;;;;;;:::i;:::-;10437:1;10398:41;;;;;;;;:::i;:::-;;;;;;;10391:48;;;10126:321;;;:::o;3249:97::-;3461:4;3496:5;-1:-1:-1;;;;;3496:5:0;2803:10;3485:16;2787:38;;;;-1:-1:-1;;;2787:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3311:19:0::1;3333:5;3311:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3311:27:0::1;::::0;;3249:97::o;11104:192::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;11200:3:::1;11189:7;:14;;11181:58;;;::::0;-1:-1:-1;;;11181:58:0;;12174:2:1;11181:58:0::1;::::0;::::1;12156:21:1::0;12213:2;12193:18;;;12186:30;12252:33;12232:18;;;12225:61;12303:18;;11181:58:0::1;11972:355:1::0;11181:58:0::1;11281:7;11266:12;;:22;;;;:::i;:::-;11250:13;:38:::0;-1:-1:-1;11104:192:0:o;3806:173::-;3461:4;3496:5;-1:-1:-1;;;;;3496:5:0;2803:10;3485:16;2787:38;;;;-1:-1:-1;;;2787:38:0;;;;;;;:::i;:::-;3882:5:::1;:11:::0;;-1:-1:-1;;;;;;3882:11:0::1;-1:-1:-1::0;;;;;3882:11:0;::::1;::::0;;::::1;::::0;;3904:19;;;-1:-1:-1;3904:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3904:26:0::1;::::0;;::::1;::::0;;;3946:25;;1728:51:1;;;3946:25:0::1;::::0;1701:18:1;3946:25:0::1;;;;;;;3806:173:::0;:::o;17150:561::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;17338:2:::1;17321:13:::0;17279:39:::1;17300:18:::0;17279;:39:::1;:::i;:::-;:55;;;;:::i;:::-;:61;;;;17271:107;;;::::0;-1:-1:-1;;;17271:107:0;;12903:2:1;17271:107:0::1;::::0;::::1;12885:21:1::0;12942:2;12922:18;;;12915:30;12981:34;12961:18;;;12954:62;-1:-1:-1;;;13032:18:1;;;13025:31;13073:19;;17271:107:0::1;12701:397:1::0;17271:107:0::1;17440:8;::::0;;;::::1;;;17397:39;17418:18:::0;17397;:39:::1;:::i;:::-;:51;;;;17389:105;;;::::0;-1:-1:-1;;;17389:105:0;;13305:2:1;17389:105:0::1;::::0;::::1;13287:21:1::0;13344:2;13324:18;;;13317:30;13383:34;13363:18;;;13356:62;-1:-1:-1;;;13434:18:1;;;13427:39;13483:19;;17389:105:0::1;13103:405:1::0;17389:105:0::1;17505:12;:33:::0;;::::1;17593:23:::0;;::::1;::::0;::::1;-1:-1:-1::0;;17549:33:0;;::::1;17505;17549;-1:-1:-1::0;;17549:33:0;;;17505;;::::1;17549::::0;;;;;;;::::1;17593:23;;::::0;;17603:13;17647:39:::1;17564:18:::0;17520;17647:39:::1;:::i;:::-;:55;;;;:::i;:::-;17636:8;;:66;;;;;;;;;;;;;;;;;;17150:561:::0;;;:::o;16962:128::-;2964:24;2977:10;2964:12;:24::i;:::-;2956:48;;;;-1:-1:-1;;;2956:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17050:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17050:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16962:128::o;3580:107::-;-1:-1:-1;;;;;3660:19:0;3636:4;3660:19;;;:14;:19;;;;;;;;;3580:107::o;588:192::-;674:7;710:12;702:6;;;;694:29;;;;-1:-1:-1;;;694:29:0;;;;;;;;:::i;:::-;-1:-1:-1;734:9:0;746:5;750:1;746;:5;:::i;:::-;734:17;588:192;-1:-1:-1;;;;;588:192:0:o;12737:1495::-;12852:8;;12829:4;;-1:-1:-1;;;12852:8:0;;;;12848:173;;12894:5;;-1:-1:-1;;;;;12884:15:0;;;12894:5;;12884:15;12876:85;;;;-1:-1:-1;;;12876:85:0;;13848:2:1;12876:85:0;;;13830:21:1;13887:2;13867:18;;;13860:30;13926:34;13906:18;;;13899:62;13997:27;13977:18;;;13970:55;14042:19;;12876:85:0;13646:421:1;12876:85:0;13044:5;;-1:-1:-1;;;;;13034:15:0;;;13044:5;;13034:15;;;;:37;;-1:-1:-1;13066:5:0;;-1:-1:-1;;;;;13053:18:0;;;13066:5;;13053:18;;13034:37;13031:264;;;-1:-1:-1;;;;;13091:16:0;;;;;;:5;:16;;;;;;;;13090:17;:48;;;;-1:-1:-1;;;;;;13112:26:0;;;;;;:15;:26;;;;;;;;13111:27;13090:48;13087:197;;;13200:14;;13190:6;13167:20;13177:9;-1:-1:-1;;;;;9952:18:0;9934:7;9952:18;;;:9;:18;;;;;;;9868:105;13167:20;:29;;;;:::i;:::-;:47;;13158:110;;;;-1:-1:-1;;;13158:110:0;;14404:2:1;13158:110:0;;;14386:21:1;14443:2;14423:18;;;14416:30;14482:34;14462:18;;;14455:62;-1:-1:-1;;;14533:18:1;;;14526:47;14590:19;;13158:110:0;14202:413:1;13158:110:0;13315:39;13328:6;13336:9;13347:6;13315:12;:39::i;:::-;-1:-1:-1;;;;;13374:21:0;;;;;;:13;:21;;;;;;;;13373:22;:51;;;;-1:-1:-1;;;;;;13400:24:0;;;;;;:13;:24;;;;;;;;13399:25;13373:51;13365:101;;;;-1:-1:-1;;;13365:101:0;;14822:2:1;13365:101:0;;;14804:21:1;14861:2;14841:18;;;14834:30;14900:34;14880:18;;;14873:62;-1:-1:-1;;;14951:18:1;;;14944:35;14996:19;;13365:101:0;14620:401:1;13365:101:0;16297:10;;:15;;;13480:31;;-1:-1:-1;;;;;;13495:16:0;;;;;;:5;:16;;;;;;;;13480:31;13477:80;;;-1:-1:-1;;;;;13522:17:0;;13542:1;13522:17;;;:9;:17;;;;;;13514:30;;;;;;13546:8;16379:15;16366:10;:28;16328:74;13546:8;13570:6;;-1:-1:-1;;;13570:6:0;;;;13567:63;;;13586:41;13601:6;13609:9;13620:6;13586:14;:41::i;:::-;13579:48;;;;13567:63;13670:62;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13670:17:0;;-1:-1:-1;13670:17:0;;;:9;:17;;;;;;;;:62;;13692:6;;13670:21;:62::i;:::-;-1:-1:-1;;;;;13650:17:0;;;;;;:9;:17;;;;;;;;:82;;;;14936:11;:18;;;;;;;;14935:19;13787:22;:51;;;-1:-1:-1;;;;;;14936:18:0;;14901:4;14936:18;;;:11;:18;;;;;;;;14935:19;13813:25;13787:51;13784:224;;;-1:-1:-1;13871:6:0;13784:224;;;-1:-1:-1;;;;;13921:13:0;;13908:10;13921:13;;;:5;:13;;;;;;;;13966:30;13927:6;13921:13;13989:6;13966:7;:30::i;:::-;13949:47;;13893:115;13784:224;14023:25;14038:9;14023:14;:25::i;:::-;14020:44;;;14051:10;:8;:10::i;:::-;-1:-1:-1;;;;;14099:20:0;;;;;;:9;:20;;;;;;:40;;14124:14;14099:24;:40::i;:::-;-1:-1:-1;;;;;14076:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14157:43;;;;;;;;;;14185:14;160:25:1;;148:2;133:18;;14:177;14157:43:0;;;;;;;;-1:-1:-1;14218:4:0;;12737:1495;-1:-1:-1;;;;12737:1495:0:o;446:136::-;504:7;531:43;535:1;538;531:43;;;;;;;;;;;;;;;;;:3;:43::i;14582:250::-;14692:5;;-1:-1:-1;;;;;14682:15:0;;;14692:5;;14682:15;;;;:36;;-1:-1:-1;14713:5:0;;-1:-1:-1;;;;;14701:17:0;;;14713:5;;14701:17;;14682:36;14679:146;;;14752:12;;14742:6;:22;;:49;;;-1:-1:-1;;;;;;14768:23:0;;;;;;:15;:23;;;;;;;;14742:49;14734:79;;;;-1:-1:-1;;;14734:79:0;;15228:2:1;14734:79:0;;;15210:21:1;15267:2;15247:18;;;15240:30;-1:-1:-1;;;15286:18:1;;;15279:47;15343:18;;14734:79:0;15026:341:1;14244:330:0;14374:53;;;;;;;;;;;-1:-1:-1;;;14374:53:0;;;;;;;;-1:-1:-1;;;;;14374:17:0;;14337:4;14374:17;;;:9;:17;;;;;;;:53;;14396:6;;14374:21;:53::i;:::-;-1:-1:-1;;;;;14354:17:0;;;;;;;:9;:17;;;;;;:73;;;;14461:20;;;;;;;:32;;14486:6;14461:24;:32::i;:::-;-1:-1:-1;;;;;14438:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14509:35;;;;;;;;;;14537:6;160:25:1;;148:2;133:18;;14:177;14509:35:0;;;;;;;;-1:-1:-1;14562:4:0;14244:330;;;;;:::o;14970:540::-;15080:8;;15102:19;;15049:7;;15080:8;;;;;;;;15102:19;15099:147;;;-1:-1:-1;15143:14:0;;;;;;;15172:63;;;;-1:-1:-1;15206:13:0;;-1:-1:-1;;;15206:13:0;;;;15172:63;15298:17;;15258;;15278:38;;-1:-1:-1;;;15298:17:0;;;;15278:15;:6;15289:3;15278:10;:15::i;:::-;:19;;:38::i;:::-;15382:4;15364:24;;;;:9;:24;;;;;;15258:58;;-1:-1:-1;15364:39:0;;15258:58;15364:28;:39::i;:::-;15355:4;15337:24;;;;:9;:24;;;;;;;:66;;;;15419:42;;-1:-1:-1;;;;;15419:42:0;;;;;;;15451:9;160:25:1;;148:2;133:18;;14:177;15419:42:0;;;;;;;;15481:21;:6;15492:9;15481:10;:21::i;:::-;15474:28;14970:540;-1:-1:-1;;;;;;14970:540:0:o;20716:212::-;20807:6;;20782:4;;-1:-1:-1;;;20807:6:0;;;;20806:7;:31;;;;-1:-1:-1;20826:11:0;;-1:-1:-1;;;20826:11:0;;;;20806:31;:60;;;;-1:-1:-1;;;;;;20850:16:0;;;;;;:5;:16;;;;;;;;20806:60;:114;;;;-1:-1:-1;20907:13:0;;20897:4;20879:24;;;;:9;:24;;;;;;:41;;20799:121;20716:212;-1:-1:-1;;20716:212:0:o;17723:2581::-;8324:6;:13;;-1:-1:-1;;;;8324:13:0;-1:-1:-1;;;8324:13:0;;;17813:12:::1;::::0;8324:13;;;17813:12:::1;:16:::0;17810:161:::1;;17913:1;17899:8:::0;;17863:13:::1;::::0;:52:::1;::::0;17913:1;17863:45:::1;::::0;17899:8:::1;::::0;;::::1;::::0;::::1;::::0;17863:45;;:13;17881:12:::1;17863:17;:31::i;:52::-;17845:70;;17810:161;18024:13;::::0;18001:20:::1;::::0;18024:34:::1;::::0;18042:15;18024:17:::1;:34::i;:::-;18172:16;::::0;;18186:1:::1;18172:16:::0;;;;;::::1;::::0;;18001:57;;-1:-1:-1;18148:21:0::1;::::0;18172:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;18172:16:0::1;18148:40;;18217:4;18199;18204:1;18199:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18199:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;18243:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;18243:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;18199:7;;18243:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18233:4;18238:1;18233:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18233:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;18333:6:::1;::::0;18291:21:::1;::::0;18333:6:::1;:57;18405:12:::0;18267:21:::1;18448:4:::0;18475::::1;18495:21;:15;18513:3;18495:21;:::i;:::-;18333:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18540:17;18560:40;18586:13;18560:21;:25;;:40;;;;:::i;:::-;18669:1;18655:12:::0;;18540:60;;-1:-1:-1;18621:19:0::1;::::0;18655:15:::1;::::0;18669:1;18655:12:::1;;:15;:::i;:::-;18643:8;::::0;:28:::1;::::0;;:8;;::::1;;;:28;:::i;:::-;18621:50;;::::0;-1:-1:-1;18685:15:0;;18682:1615:::1;;18764:12;::::0;18716:26:::1;::::0;18764:12:::1;::::0;::::1;;;:16:::0;18761:197:::1;;18835:12;::::0;18821:44:::1;::::0;18853:11;;18821:27:::1;::::0;:9;;18835:12:::1;::::0;::::1;;;18821:13;:27::i;:44::-;18892:20;::::0;18884:58:::1;::::0;18800:65;;-1:-1:-1;;;;;;18892:20:0::1;::::0;18884:58;::::1;;;::::0;18800:65;;18892:20:::1;18884:58:::0;18892:20;18884:58;18800:65;18892:20;18884:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18761:197;19011:7;::::0;18972:17:::1;::::0;19011:7;;::::1;;;:11:::0;19008:751:::1;;19071:7;::::0;19057:39:::1;::::0;19084:11;;19057:22:::1;::::0;:9;;19071:7;;::::1;;;19057:13;:22::i;:39::-;19151:6;::::0;19133:7;;19042:54;;-1:-1:-1;;;;;;19151:6:0::1;::::0;19133:4;;19151:6;;19133:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;19133:25:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:25;;;;19187:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;19187:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;19133:7;;19187:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19177:4;19182:1;19177:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19177:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;19243:6:::1;::::0;:40:::1;::::0;-1:-1:-1;;;19243:40:0;;19219:21:::1;::::0;19243:6;;;::::1;::::0;:20:::1;::::0;:40:::1;::::0;19264:12;;19278:4;;19243:40:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;19243:40:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;19284:1;19243:43;;;;;;;;:::i;:::-;;;;;;;19219:67;;19320:16;19305:11;;:31;;;;;;;:::i;:::-;;;;;;;;19372:12;19355:13;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19421:6:0::1;::::0;19581:4:::1;::::0;-1:-1:-1;;;;;19421:6:0;;::::1;::::0;:57:::1;::::0;19486:12;;19421:6:::1;::::0;19546:4;;19581::::1;19609:20;:15;19627:2;19609:20;:::i;:::-;19421:227;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;19716:11:0::1;::::0;19729:13:::1;::::0;19672:71:::1;::::0;;17031:25:1;;;17087:2;17072:18;;17065:34;;;17115:18;;;17108:34;;;;17173:2;17158:18;;17151:34;19672:71:0::1;::::0;-1:-1:-1;17018:3:1;17003:19;;-1:-1:-1;19672:71:0::1;::::0;-1:-1:-1;16800:391:1;19672:71:0::1;;;;;;;;19023:736;19008:751;19776:19:::0;;19773:513:::1;;19833:26;19895:12:::0;19862:30:::1;19874:18:::0;19862:9;:30:::1;:::i;:::-;:45;;;;:::i;:::-;19926:6;::::0;20120:21:::1;::::0;19926:272:::1;::::0;-1:-1:-1;;;19926:272:0;;20006:4:::1;19926:272;::::0;::::1;17537:34:1::0;17587:18;;;17580:34;;;19926:6:0::1;17630:18:1::0;;;17623:34;;;17673:18;;;17666:34;-1:-1:-1;;;;;20120:21:0;;::::1;17716:19:1::0;;;17709:44;20164:15:0::1;17769:19:1::0;;;17762:35;19833:74:0;;-1:-1:-1;19926:6:0::1;::::0;:22:::1;::::0;19833:74;;17471:19:1;;19926:272:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;20222:48:0::1;::::0;;18293:25:1;;;18349:2;18334:18;;18327:34;;;20222:48:0::1;::::0;-1:-1:-1;18266:18:1;20222:48:0::1;;;;;;;19796:490;19773:513;18701:1596;;18682:1615;-1:-1:-1::0;;8342:6:0;:14;;-1:-1:-1;;;;8342:14:0;;;-1:-1:-1;;;;17723:2581:0:o;259:181::-;317:7;;349:5;353:1;349;:5;:::i;:::-;337:17;;378:1;373;:6;;365:46;;;;-1:-1:-1;;;365:46:0;;18574:2:1;365:46:0;;;18556:21:1;18613:2;18593:18;;;18586:30;18652:29;18632:18;;;18625:57;18699:18;;365:46:0;18372:351:1;786:250:0;844:7;868:1;873;868:6;864:47;;-1:-1:-1;898:1:0;891:8;;864:47;923:9;935:5;939:1;935;:5;:::i;:::-;923:17;-1:-1:-1;968:1:0;959:5;963:1;923:17;959:5;:::i;:::-;:10;951:56;;;;-1:-1:-1;;;951:56:0;;18930:2:1;951:56:0;;;18912:21:1;18969:2;18949:18;;;18942:30;19008:34;18988:18;;;18981:62;-1:-1:-1;;;19059:18:1;;;19052:31;19100:19;;951:56:0;18728:397:1;1042:132:0;1100:7;1127:39;1131:1;1134;1127:39;;;;;;;;;;;;;;;;;1266:7;1368:12;1361:5;1353:28;;;;-1:-1:-1;;;1353:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1392:9:0;1404:5;1408:1;1404;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1979:456::-;2056:6;2064;2072;2125:2;2113:9;2104:7;2100:23;2096:32;2093:52;;;2141:1;2138;2131:12;2093:52;2180:9;2167:23;2199:31;2224:5;2199:31;:::i;:::-;2249:5;-1:-1:-1;2306:2:1;2291:18;;2278:32;2319:33;2278:32;2319:33;:::i;:::-;1979:456;;2371:7;;-1:-1:-1;;;2425:2:1;2410:18;;;;2397:32;;1979:456::o;2633:247::-;2692:6;2745:2;2733:9;2724:7;2720:23;2716:32;2713:52;;;2761:1;2758;2751:12;2713:52;2800:9;2787:23;2819:31;2844:5;2819:31;:::i;2885:156::-;2951:20;;3011:4;3000:16;;2990:27;;2980:55;;3031:1;3028;3021:12;2980:55;2885:156;;;:::o;3046:252::-;3110:6;3118;3171:2;3159:9;3150:7;3146:23;3142:32;3139:52;;;3187:1;3184;3177:12;3139:52;3210:27;3227:9;3210:27;:::i;:::-;3200:37;;3256:36;3288:2;3277:9;3273:18;3256:36;:::i;:::-;3246:46;;3046:252;;;;;:::o;3303:118::-;3389:5;3382:13;3375:21;3368:5;3365:32;3355:60;;3411:1;3408;3401:12;3426:382;3491:6;3499;3552:2;3540:9;3531:7;3527:23;3523:32;3520:52;;;3568:1;3565;3558:12;3520:52;3607:9;3594:23;3626:31;3651:5;3626:31;:::i;:::-;3676:5;-1:-1:-1;3733:2:1;3718:18;;3705:32;3746:30;3705:32;3746:30;:::i;:::-;3795:7;3785:17;;;3426:382;;;;;:::o;4079:388::-;4147:6;4155;4208:2;4196:9;4187:7;4183:23;4179:32;4176:52;;;4224:1;4221;4214:12;4176:52;4263:9;4250:23;4282:31;4307:5;4282:31;:::i;:::-;4332:5;-1:-1:-1;4389:2:1;4374:18;;4361:32;4402:33;4361:32;4402:33;:::i;4472:309::-;4537:6;4545;4598:2;4586:9;4577:7;4573:23;4569:32;4566:52;;;4614:1;4611;4604:12;4566:52;4653:9;4640:23;4672:28;4694:5;4672:28;:::i;4786:615::-;4872:6;4880;4933:2;4921:9;4912:7;4908:23;4904:32;4901:52;;;4949:1;4946;4939:12;4901:52;4989:9;4976:23;5018:18;5059:2;5051:6;5048:14;5045:34;;;5075:1;5072;5065:12;5045:34;5113:6;5102:9;5098:22;5088:32;;5158:7;5151:4;5147:2;5143:13;5139:27;5129:55;;5180:1;5177;5170:12;5129:55;5220:2;5207:16;5246:2;5238:6;5235:14;5232:34;;;5262:1;5259;5252:12;5232:34;5315:7;5310:2;5300:6;5297:1;5293:14;5289:2;5285:23;5281:32;5278:45;5275:65;;;5336:1;5333;5326:12;5275:65;5367:2;5359:11;;;;;5389:6;;-1:-1:-1;4786:615:1;;-1:-1:-1;;;;4786:615:1:o;5666:322::-;5737:6;5745;5753;5806:2;5794:9;5785:7;5781:23;5777:32;5774:52;;;5822:1;5819;5812:12;5774:52;5845:27;5862:9;5845:27;:::i;:::-;5835:37;;5891:36;5923:2;5912:9;5908:18;5891:36;:::i;:::-;5881:46;;5946:36;5978:2;5967:9;5963:18;5946:36;:::i;:::-;5936:46;;5666:322;;;;;:::o;6219:335::-;6421:2;6403:21;;;6460:2;6440:18;;;6433:30;-1:-1:-1;;;6494:2:1;6479:18;;6472:41;6545:2;6530:18;;6219:335::o;6559:127::-;6620:10;6615:3;6611:20;6608:1;6601:31;6651:4;6648:1;6641:15;6675:4;6672:1;6665:15;6691:127;6752:10;6747:3;6743:20;6740:1;6733:31;6783:4;6780:1;6773:15;6807:4;6804:1;6797:15;6823:120;6863:1;6889;6879:35;;6894:18;;:::i;:::-;-1:-1:-1;6928:9:1;;6823:120::o;7763:184::-;7833:6;7886:2;7874:9;7865:7;7861:23;7857:32;7854:52;;;7902:1;7899;7892:12;7854:52;-1:-1:-1;7925:16:1;;7763:184;-1:-1:-1;7763:184:1:o;8231:245::-;8298:6;8351:2;8339:9;8330:7;8326:23;8322:32;8319:52;;;8367:1;8364;8357:12;8319:52;8399:9;8393:16;8418:28;8440:5;8418:28;:::i;8892:168::-;8965:9;;;8996;;9013:15;;;9007:22;;8993:37;8983:71;;9034:18;;:::i;9065:329::-;9267:2;9249:21;;;9306:1;9286:18;;;9279:29;-1:-1:-1;;;9339:2:1;9324:18;;9317:36;9385:2;9370:18;;9065:329::o;9399:127::-;9460:10;9455:3;9451:20;9448:1;9441:31;9491:4;9488:1;9481:15;9515:4;9512:1;9505:15;9531:135;9570:3;9591:17;;;9588:43;;9611:18;;:::i;:::-;-1:-1:-1;9658:1:1;9647:13;;9531:135::o;9671:127::-;9732:10;9727:3;9723:20;9720:1;9713:31;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:251;9873:6;9926:2;9914:9;9905:7;9901:23;9897:32;9894:52;;;9942:1;9939;9932:12;9894:52;9974:9;9968:16;9993:31;10018:5;9993:31;:::i;10059:461::-;10112:3;10150:5;10144:12;10177:6;10172:3;10165:19;10203:4;10232:2;10227:3;10223:12;10216:19;;10269:2;10262:5;10258:14;10290:1;10300:195;10314:6;10311:1;10308:13;10300:195;;;10379:13;;-1:-1:-1;;;;;10375:39:1;10363:52;;10435:12;;;;10470:15;;;;10411:1;10329:9;10300:195;;;-1:-1:-1;10511:3:1;;10059:461;-1:-1:-1;;;;;10059:461:1:o;10525:332::-;10732:6;10721:9;10714:25;10775:2;10770;10759:9;10755:18;10748:30;10695:4;10795:56;10847:2;10836:9;10832:18;10824:6;10795:56;:::i;10862:1105::-;10957:6;10988:2;11031;11019:9;11010:7;11006:23;11002:32;10999:52;;;11047:1;11044;11037:12;10999:52;11080:9;11074:16;11109:18;11150:2;11142:6;11139:14;11136:34;;;11166:1;11163;11156:12;11136:34;11204:6;11193:9;11189:22;11179:32;;11249:7;11242:4;11238:2;11234:13;11230:27;11220:55;;11271:1;11268;11261:12;11220:55;11300:2;11294:9;11322:2;11318;11315:10;11312:36;;;11328:18;;:::i;:::-;11374:2;11371:1;11367:10;11406:2;11400:9;11469:2;11465:7;11460:2;11456;11452:11;11448:25;11440:6;11436:38;11524:6;11512:10;11509:22;11504:2;11492:10;11489:18;11486:46;11483:72;;;11535:18;;:::i;:::-;11571:2;11564:22;11621:18;;;11655:15;;;;-1:-1:-1;11697:11:1;;;11693:20;;;11725:19;;;11722:39;;;11757:1;11754;11747:12;11722:39;11781:11;;;;11801:135;11817:6;11812:3;11809:15;11801:135;;;11883:10;;11871:23;;11834:12;;;;11914;;;;11801:135;;;11955:6;10862:1105;-1:-1:-1;;;;;;;;10862:1105:1:o;12548:148::-;12636:4;12615:12;;;12629;;;12611:31;;12654:13;;12651:39;;;12670:18;;:::i;13513:128::-;13580:9;;;13601:11;;;13598:37;;;13615:18;;:::i;14072:125::-;14137:9;;;14158:10;;;14155:36;;;14171:18;;:::i;15372:582::-;15671:6;15660:9;15653:25;15714:6;15709:2;15698:9;15694:18;15687:34;15757:3;15752:2;15741:9;15737:18;15730:31;15634:4;15778:57;15830:3;15819:9;15815:19;15807:6;15778:57;:::i;:::-;-1:-1:-1;;;;;15871:32:1;;;;15866:2;15851:18;;15844:60;-1:-1:-1;15935:3:1;15920:19;15913:35;15770:65;15372:582;-1:-1:-1;;;15372:582:1:o;15959:165::-;15997:1;16031:4;16028:1;16024:12;16055:3;16045:37;;16062:18;;:::i;:::-;16114:3;16107:4;16104:1;16100:12;16096:22;16091:27;;;15959:165;;;;:::o;16129:151::-;16219:4;16212:12;;;16198;;;16194:31;;16237:14;;16234:40;;;16254:18;;:::i;16285:510::-;16556:6;16545:9;16538:25;16599:3;16594:2;16583:9;16579:18;16572:31;16519:4;16620:57;16672:3;16661:9;16657:19;16649:6;16620:57;:::i;:::-;-1:-1:-1;;;;;16713:32:1;;;;16708:2;16693:18;;16686:60;-1:-1:-1;16777:2:1;16762:18;16755:34;16612:65;16285:510;-1:-1:-1;;16285:510:1:o;17808:306::-;17896:6;17904;17912;17965:2;17953:9;17944:7;17940:23;17936:32;17933:52;;;17981:1;17978;17971:12;17933:52;18010:9;18004:16;17994:26;;18060:2;18049:9;18045:18;18039:25;18029:35;;18104:2;18093:9;18089:18;18083:25;18073:35;;17808:306;;;;;:::o

Swarm Source

ipfs://eaacc0758503be14af8c2538c1bae0c7d2b3b597bee088e24e1f7309999bc027
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.