ETH Price: $3,448.29 (+1.48%)
Gas: 9 Gwei

Token

SnakeEyes (SnakeEyes)
 

Overview

Max Total Supply

100,000,000 SnakeEyes

Holders

134

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
shinkiro.eth
Balance
927,977.174686000615384917 SnakeEyes

Value
$0.00
0xe7d8d3fb3ddb219bdb743274d4147293438aacbc
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:
SnakeEyes

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-02
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-02
*/

/**
 *Submitted for verification at Etherscan.io on 2022-10-03
*/

// SPDX-License-Identifier: UNLICENSED



pragma solidity 0.8.7;

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) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    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 Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(address(msg.sender));
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  


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;
}

interface InterfaceLP {
    function sync() external;
}

interface IRewards {
    function deposit() external payable;
    function setShare(address shareholder, uint256 amount) external;
}

contract SnakeEyes is ERC20, Ownable {
    using SafeMath for uint256;

    uint256 private protection = 2; 
    uint256 public launchBlock;
    uint256 private protectionBlock;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    string constant private _name = "SnakeEyes";
    string constant private _symbol = "SnakeEyes";
    uint8 constant private _decimals = 18;

    uint256 private _totalSupply = 100000000* 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply / 100;
    uint256 public _maxWalletAmount = _totalSupply / 100;
    uint256 public _maxFee = 6;

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

    address[] public _markerPairs;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMaxWalletExempt;

    //Fees
    uint256 private totalBuyFee = 6;
    uint256 private liquidityFee = 30;
    uint256 private marketingFee = 30;
    uint256 private btcRewardsFee = 40;

    uint256 private totalSellFee = 5;

    uint256 private transferFee = 4;

    uint256 private constant feeDenominator  = 100;

    address private marketingFeeReceiver = 0x75aEB75457144357C38aA6c750cbC6500Ca0BFa5;
    address private btcRewardsCA = 0xbBA44684508D01989f27b8b4240DF6F91cA8B9D6;

    IDEXRouter public router;
    address public pair;

    bool public tradingEnabled = false;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 1 / 5000;

    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () {
        router = IDEXRouter(0x7DE8063E9fB43321d2100e8Ddae5167F56A50060); // X7 Router
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        setAutomatedMarketMakerPair(pair, true);

        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;
        isMaxWalletExempt[msg.sender] = true;

               
        isFeeExempt[address(this)] = true; 
        isTxLimitExempt[address(this)] = true;
        isMaxWalletExempt[address(this)] = true;

        isMaxWalletExempt[pair] = true;


        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    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] != type(uint256).max){
            _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(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
            require(tradingEnabled,"Trading not open yet");
        }

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

        uint256 amountReceived = amount; 

        if(automatedMarketMakerPairs[sender]) { //buy
            if(!isFeeExempt[recipient]) {
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
                require(amount <= _maxTxAmount || isTxLimitExempt[recipient], "TX Limit Exceeded");
                amountReceived = takeBuyFee(sender, amount);
            }

        } else if(automatedMarketMakerPairs[recipient]) { //sell
            if(!isFeeExempt[sender]) {
                require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
                amountReceived = takeSellFee(sender, amount);

            }
        } else {	
            if (!isFeeExempt[sender]) {	
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
                require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
                amountReceived = takeTransferFee(sender, amount);

            }
        }

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        try IRewards(btcRewardsCA).setShare(sender, _balances[sender]) {} catch {}
        try IRewards(btcRewardsCA).setShare(recipient, _balances[recipient]) {} catch {}
        

        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;
    }

    // Fees
    function takeBuyFee(address sender, uint256 amount) internal returns (uint256){
        uint256 _realFee = totalBuyFee;
        if (block.number < protectionBlock) {
                _realFee = 20;
            }

        uint256 feeAmount = amount.mul(_realFee).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function takeSellFee(address sender, uint256 amount) internal returns (uint256){
        uint256 _realFee = totalSellFee;
        if (block.number < protectionBlock) {
                _realFee = 40;
            }

        uint256 feeAmount = amount.mul(_realFee).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
            
    }

    function takeTransferFee(address sender, uint256 amount) internal returns (uint256){
        uint256 feeAmount = amount.mul(transferFee).div(feeDenominator);
        
        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);	
            emit Transfer(sender, address(this), feeAmount); 
        }
            	
        return amount.sub(feeAmount);	
    }    

    function shouldSwapBack() internal view returns (bool) {
        return
        !automatedMarketMakerPairs[msg.sender]
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    // switch Trading
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        launchBlock = block.number;
        protectionBlock = block.number.add(protection);
    }

    function swapBack() internal swapping {
        uint256 swapLiquidityFee = liquidityFee;
        uint256 realTotalFee =liquidityFee.add(marketingFee).add(btcRewardsFee);

        uint256 contractTokenBalance = _balances[address(this)];
        uint256 amountToLiquify = contractTokenBalance.mul(swapLiquidityFee).div(realTotalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        uint256 balanceBefore = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = realTotalFee.sub(swapLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHRewards = amountETH.sub(amountETHLiquidity).sub(amountETHMarketing);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        try IRewards(btcRewardsCA).deposit{value: amountETHRewards}() {} catch {}
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            );
        }

    }

    // Admin Functions
    function setAutomatedMarketMakerPair(address _pair, bool _value) internal {
            require(automatedMarketMakerPairs[_pair] != _value, "Value already set");

            automatedMarketMakerPairs[_pair] = _value;

            if(_value){
                _markerPairs.push(_pair);
            }else{
                require(_markerPairs.length > 1, "Required 1 pair");
                for (uint256 i = 0; i < _markerPairs.length; i++) {
                    if (_markerPairs[i] == _pair) {
                        _markerPairs[i] = _markerPairs[_markerPairs.length - 1];
                        _markerPairs.pop();
                        break;
                    }
                }
            }
        }

    function updateRouter(address _address) external onlyOwner{
        router = IDEXRouter(_address);
    }

    function setMaxWallet(uint256 _newMaxWallet) external onlyOwner {
        require(_newMaxWallet > _totalSupply.div(1000), "Can't limit trading");
        _maxWalletAmount = _newMaxWallet;
    }

        function setMaxTX(uint256 _newMaxTX) external onlyOwner {
        require(_newMaxTX > _totalSupply.div(1000), "Can't limit trading");
        _maxTxAmount = _newMaxTX;
    }

    function setBuyTaxes(uint256 _buyTax, uint256 _liquidityPercentage, uint256 _marketingPercentage, uint256 _btcRewardsPercentage) external onlyOwner {
        require(_buyTax <= _maxFee, "Fee can't be higher than 6%");
        totalBuyFee = _buyTax;
        liquidityFee = _liquidityPercentage;
        marketingFee = _marketingPercentage;
        btcRewardsFee = _btcRewardsPercentage;        
    }

    function setSellTaxes(uint256 _sellTax) external onlyOwner {
        require(_sellTax <= _maxFee, "Fee can't be higher than 6%");
        totalSellFee = _sellTax;       
    }

    function setTransferTax(uint256 _transferTax) external onlyOwner {
        require(_transferTax <= _maxFee, "Fee can't be higher than 6%");
        transferFee = _transferTax;
    }

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

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setIsMaxWalletExempt(address holder, bool exempt) external onlyOwner {
        isMaxWalletExempt[holder] = exempt;
    }

    function setAddresses(address _marketingWallet, address _rewardsCA) external onlyOwner {
        require(_marketingWallet != address(0) && _rewardsCA != address(0) , "Zero Address validation" );
        marketingFeeReceiver = _marketingWallet;
        btcRewardsCA = _rewardsCA;
    }

    function clearStuckBalance() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function rescueERC20(address tokenAddress, uint256 amount) external onlyOwner returns (bool) {
        return ERC20(tokenAddress).transfer(msg.sender, amount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_markerPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_rewardsCA","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_liquidityPercentage","type":"uint256"},{"internalType":"uint256","name":"_marketingPercentage","type":"uint256"},{"internalType":"uint256","name":"_btcRewardsPercentage","type":"uint256"}],"name":"setBuyTaxes","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":"setIsMaxWalletExempt","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":"uint256","name":"_newMaxTX","type":"uint256"}],"name":"setMaxTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferTax","type":"uint256"}],"name":"setTransferTax","outputs":[],"stateMutability":"nonpayable","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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","name":"_address","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260028055600680546001600160a01b031990811661dead17909155600780549091169055620000366012600a62000723565b62000046906305f5e100620007e4565b60085560646008546200005a9190620006b7565b60095560646008546200006e9190620006b7565b600a556006600b819055601355601e6014819055601555602860165560056017556004601855601980546001600160a01b03199081167375aeb75457144357c38aa6c750cbc6500ca0bfa517909155601a805490911673bba44684508d01989f27b8b4240df6f91ca8b9d6179055601c805461ffff60a01b1916600160a81b1790556008546113889062000104906001620007e4565b620001109190620006b7565b601d553480156200012057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737de8063e9fb43321d2100e8ddae5167f56a50060908117909155604080516315ab88c960e31b8152905163ad5c464891600480820192602092909190829003018186803b158015620001c257600080fd5b505afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd919062000685565b600580546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200025757600080fd5b505afa1580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000292919062000685565b6005546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b158015620002df57600080fd5b505af1158015620002f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031a919062000685565b601c80546001600160a01b0319166001600160a01b039290921691821790556200034690600162000436565b306000818152600d60209081526040808320601b546001600160a01b03908116855290835281842060001990553380855260108085528386208054600160ff199182168117909255601180885286892080548316841790556012808952878a208054841685179055998952928752858820805482168317905591865284872080548316821790559685528386208054821688179055601c54909216855282852080549092169095179055600854848452600c835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000880565b6001600160a01b0382166000908152600f602052604090205460ff16151581151514156200049f5760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b60448201526064015b60405180910390fd5b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556200051e57600e80546001810182556000919091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0384166001600160a01b03199091161790555050565b600e54600110620005645760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b604482015260640162000496565b60005b600e548110156200068057826001600160a01b0316600e82815481106200059257620005926200086a565b6000918252602090912001546001600160a01b031614156200066b57600e8054620005c09060019062000806565b81548110620005d357620005d36200086a565b600091825260209091200154600e80546001600160a01b0390921691839081106200060257620006026200086a565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600e80548062000644576200064462000854565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b80620006778162000820565b91505062000567565b505050565b6000602082840312156200069857600080fd5b81516001600160a01b0381168114620006b057600080fd5b9392505050565b600082620006d557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200071b578160001904821115620006ff57620006ff6200083e565b808516156200070d57918102915b93841c9390800290620006df565b509250929050565b6000620006b060ff8416836000826200073f57506001620007de565b816200074e57506000620007de565b8160018114620007675760028114620007725762000792565b6001915050620007de565b60ff8411156200078657620007866200083e565b50506001821b620007de565b5060208310610133831016604e8410600b8410161715620007b7575081810a620007de565b620007c38383620006da565b8060001904821115620007da57620007da6200083e565b0290505b92915050565b60008160001904831182151516156200080157620008016200083e565b500290565b6000828210156200081b576200081b6200083e565b500390565b60006000198214156200083757620008376200083e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b61228b80620008906000396000f3fe60806040526004361061025a5760003560e01c80637d1db4a511610149578063a9059cbb116100c6578063d4bafb1a1161008a578063e4bf1bed11610064578063e4bf1bed14610764578063f84ba65d14610784578063f887ea40146107a457600080fd5b8063d4bafb1a146106e8578063dd62ed3e146106fe578063e1d5584c1461074457600080fd5b8063a9059cbb14610642578063b62496f514610662578063c04a78ad14610692578063c851cc32146106b2578063d00efb2f146106d257600080fd5b80638cd4426d1161010d5780638cd4426d146105c45780638da5cb5b146105e457806390107afe1461060257806395d89b411461028f578063a8aa1b311461062257600080fd5b80637d1db4a514610517578063893d20e81461052d5780638a8c523c1461055f5780638b42507f146105745780638b525903146105a457600080fd5b8063364333f4116101d7578063658d4b7f1161019b578063658d4b7f146104755780636c0a24eb146104955780636ddd1713146104ab57806370a08231146104cc578063715018a61461050257600080fd5b8063364333f4146103cf5780633f4218e0146103e45780634ada218b14610414578063571ac8b0146104355780635d0044ca1461045557600080fd5b806318160ddd1161021e57806318160ddd1461034957806323b872dd1461035e5780632b112e491461037e578063313ce56714610393578063333c39a5146103af57600080fd5b80630445b6671461026657806306fdde031461028f5780630940bbc7146102c7578063095ea7b3146102e95780630bd11f8a1461031957600080fd5b3661026157005b600080fd5b34801561027257600080fd5b5061027c601d5481565b6040519081526020015b60405180910390f35b34801561029b57600080fd5b506040805180820182526009815268536e616b654579657360b81b6020820152905161028691906120c5565b3480156102d357600080fd5b506102e76102e236600461204c565b6107c4565b005b3480156102f557600080fd5b50610309610304366004612005565b610868565b6040519015158152602001610286565b34801561032557600080fd5b50610309610334366004611f44565b60126020526000908152604090205460ff1681565b34801561035557600080fd5b5060085461027c565b34801561036a57600080fd5b50610309610379366004611f92565b6108d5565b34801561038a57600080fd5b5061027c61099e565b34801561039f57600080fd5b5060405160128152602001610286565b3480156103bb57600080fd5b506102e76103ca36600461204c565b6109f0565b3480156103db57600080fd5b506102e7610a90565b3480156103f057600080fd5b506103096103ff366004611f44565b60106020526000908152604090205460ff1681565b34801561042057600080fd5b50601c5461030990600160a01b900460ff1681565b34801561044157600080fd5b50610309610450366004611f44565b610b07565b34801561046157600080fd5b506102e761047036600461204c565b610b15565b34801561048157600080fd5b506102e7610490366004611fce565b610bb5565b3480156104a157600080fd5b5061027c600a5481565b3480156104b757600080fd5b50601c5461030990600160a81b900460ff1681565b3480156104d857600080fd5b5061027c6104e7366004611f44565b6001600160a01b03166000908152600c602052604090205490565b34801561050e57600080fd5b506102e7610c28565b34801561052357600080fd5b5061027c60095481565b34801561053957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610286565b34801561056b57600080fd5b506102e7610cba565b34801561058057600080fd5b5061030961058f366004611f44565b60116020526000908152604090205460ff1681565b3480156105b057600080fd5b506102e76105bf36600461204c565b610d2d565b3480156105d057600080fd5b506103096105df366004612005565b610dcc565b3480156105f057600080fd5b506000546001600160a01b0316610547565b34801561060e57600080fd5b506102e761061d366004611f5f565b610e95565b34801561062e57600080fd5b50601c54610547906001600160a01b031681565b34801561064e57600080fd5b5061030961065d366004612005565b610f77565b34801561066e57600080fd5b5061030961067d366004611f44565b600f6020526000908152604090205460ff1681565b34801561069e57600080fd5b506102e76106ad366004611fce565b610f84565b3480156106be57600080fd5b506102e76106cd366004611f44565b610ff7565b3480156106de57600080fd5b5061027c60035481565b3480156106f457600080fd5b5061027c600b5481565b34801561070a57600080fd5b5061027c610719366004611f5f565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561075057600080fd5b5061054761075f36600461204c565b611061565b34801561077057600080fd5b506102e761077f366004612093565b61108b565b34801561079057600080fd5b506102e761079f366004611fce565b611139565b3480156107b057600080fd5b50601b54610547906001600160a01b031681565b6000546001600160a01b031633146108115760405162461bcd60e51b8152602060048201819052602482015260008051602061223683398151915260448201526064015b60405180910390fd5b600b548111156108635760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601755565b336000818152600d602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108c39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600d602090815260408083203384529091528120546000191461098957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600d825283812033825290915291909120546109649184906111ac565b6001600160a01b0385166000908152600d602090815260408083203384529091529020555b6109948484846111e6565b90505b9392505050565b6007546001600160a01b03166000908152600c60205260408120546109eb906006546001600160a01b03166000908152600c60205260409020546109e5906008549061178b565b9061178b565b905090565b6000546001600160a01b03163314610a385760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600854610a47906103e86117cd565b8111610a8b5760405162461bcd60e51b815260206004820152601360248201527243616e2774206c696d69742074726164696e6760681b6044820152606401610808565b600955565b6000546001600160a01b03163314610ad85760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b60405133904780156108fc02916000818181858888f19350505050158015610b04573d6000803e3d6000fd5b50565b60006108cf82600019610868565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600854610b6c906103e86117cd565b8111610bb05760405162461bcd60e51b815260206004820152601360248201527243616e2774206c696d69742074726164696e6760681b6044820152606401610808565b600a55565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c705760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d025760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b601c805460ff60a01b1916600160a01b179055436003819055600254610d28919061180f565b600455565b6000546001600160a01b03163314610d755760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600b54811115610dc75760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601855565b600080546001600160a01b03163314610e155760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb90604401602060405180830381600087803b158015610e5d57600080fd5b505af1158015610e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061202f565b6000546001600160a01b03163314610edd5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03821615801590610efd57506001600160a01b03811615155b610f495760405162461bcd60e51b815260206004820152601760248201527f5a65726f20416464726573732076616c69646174696f6e0000000000000000006044820152606401610808565b601980546001600160a01b039384166001600160a01b031991821617909155601a8054929093169116179055565b60006109973384846111e6565b6000546001600160a01b03163314610fcc5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b600e818154811061107157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146110d35760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600b548411156111255760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601393909355601491909155601555601655565b6000546001600160a01b031633146111815760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b600081848411156111d05760405162461bcd60e51b815260040161080891906120c5565b5060006111dd84866121e4565b95945050505050565b601e5460009060ff1615611206576111ff84848461186e565b9050610997565b6001600160a01b03841660009081526010602052604090205460ff1615801561124857506001600160a01b03831660009081526010602052604090205460ff16155b156112a657601c54600160a01b900460ff166112a65760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610808565b6112ae61195d565b156112bb576112bb6119b5565b6001600160a01b0384166000908152600f6020526040902054829060ff1615611410576001600160a01b03841660009081526010602052604090205460ff1661140b57600a546001600160a01b0385166000908152600c6020526040902054611324908561180f565b11158061134957506001600160a01b03841660009081526012602052604090205460ff165b6113955760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610808565b600954831115806113be57506001600160a01b03841660009081526011602052604090205460ff165b6113fe5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6114088584611d05565b90505b6115f1565b6001600160a01b0384166000908152600f602052604090205460ff16156114c4576001600160a01b03851660009081526010602052604090205460ff1661140b576009548311158061147a57506001600160a01b03851660009081526011602052604090205460ff165b6114ba5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6114088584611dab565b6001600160a01b03851660009081526010602052604090205460ff166115f157600a546001600160a01b0385166000908152600c602052604090205461150a908561180f565b11158061152f57506001600160a01b03841660009081526012602052604090205460ff165b61157b5760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610808565b600954831115806115a457506001600160a01b03851660009081526011602052604090205460ff165b6115e45760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6115ee8584611dd0565b90505b6001600160a01b0385166000908152600c6020526040902054611614908461178b565b6001600160a01b038087166000908152600c60205260408082209390935590861681522054611643908261180f565b6001600160a01b038581166000908152600c602052604080822093909355601a5488831680835291849020549351630a5b654b60e11b8152600481019290925260248201939093529116906314b6ca9690604401600060405180830381600087803b1580156116b157600080fd5b505af19250505080156116c2575060015b50601a546001600160a01b038581166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561172157600080fd5b505af1925050508015611732575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161177891815260200190565b60405180910390a3506001949350505050565b600061099783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ac565b600061099783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e7b565b60008061181c838561218b565b9050838110156109975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610808565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600c909152918220546118c89184906111ac565b6001600160a01b038086166000908152600c602052604080822093909355908516815220546118f7908361180f565b6001600160a01b038085166000818152600c602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194b9086815260200190565b60405180910390a35060019392505050565b336000908152600f602052604081205460ff161580156119805750601e5460ff16155b80156119955750601c54600160a81b900460ff165b80156109eb575050601d54306000908152600c6020526040902054101590565b601e805460ff191660011790556014546016546015546000916119e3916119dd90859061180f565b9061180f565b306000908152600c6020526040812054919250611a0d6002611a0785818689611ea9565b906117cd565b90506000611a1b838361178b565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611a5557611a55612211565b6001600160a01b039283166020918202929092010152600554825191169082906001908110611a8657611a86612211565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac94790611acc90869060009086903090429060040161211a565b600060405180830381600087803b158015611ae657600080fd5b505af1158015611afa573d6000803e3d6000fd5b505050506000611b13834761178b90919063ffffffff16565b90506000611b2c611b258a60026117cd565b899061178b565b90506000611b4e6002611a0784611a0760145488611ea990919063ffffffff16565b90506000611b6b83611a0760155487611ea990919063ffffffff16565b90506000611b7d826109e5878661178b565b6019546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611bcf576040519150601f19603f3d011682016040523d82523d6000602084013e611bd4565b606091505b50509050601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611c2857600080fd5b505af193505050508015611c3a575060015b505060008915611cec57601b5460065460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c4016060604051808303818588803b158015611caf57600080fd5b505af1158015611cc3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ce89190612065565b5050505b5050601e805460ff191690555050505050505050505050565b60135460045460009190431015611d1a575060145b6000611d2b6064611a078685611ea9565b306000908152600c6020526040902054909150611d48908261180f565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d999085815260200190565b60405180910390a36111dd848261178b565b60175460045460009190431015611d1a575060286000611d2b6064611a078685611ea9565b600080611ded6064611a0760185486611ea990919063ffffffff16565b90508015611e6957306000908152600c6020526040902054611e0f908261180f565b306000818152600c6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e609085815260200190565b60405180910390a35b611e73838261178b565b949350505050565b60008183611e9c5760405162461bcd60e51b815260040161080891906120c5565b5060006111dd84866121a3565b600082611eb8575060006108cf565b6000611ec483856121c5565b905082611ed185836121a3565b146109975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610808565b80356001600160a01b0381168114611f3f57600080fd5b919050565b600060208284031215611f5657600080fd5b61099782611f28565b60008060408385031215611f7257600080fd5b611f7b83611f28565b9150611f8960208401611f28565b90509250929050565b600080600060608486031215611fa757600080fd5b611fb084611f28565b9250611fbe60208501611f28565b9150604084013590509250925092565b60008060408385031215611fe157600080fd5b611fea83611f28565b91506020830135611ffa81612227565b809150509250929050565b6000806040838503121561201857600080fd5b61202183611f28565b946020939093013593505050565b60006020828403121561204157600080fd5b815161099781612227565b60006020828403121561205e57600080fd5b5035919050565b60008060006060848603121561207a57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156120a957600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b818110156120f2578581018301518582016040015282016120d6565b81811115612104576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561216a5784516001600160a01b031683529383019391830191600101612145565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561219e5761219e6121fb565b500190565b6000826121c057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121df576121df6121fb565b500290565b6000828210156121f6576121f66121fb565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8015158114610b0457600080fdfe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122049b62fa2db39487c43035e0eaf625785ed1922744bd5f52029c76acbc3afd03764736f6c63430008070033

Deployed Bytecode

0x60806040526004361061025a5760003560e01c80637d1db4a511610149578063a9059cbb116100c6578063d4bafb1a1161008a578063e4bf1bed11610064578063e4bf1bed14610764578063f84ba65d14610784578063f887ea40146107a457600080fd5b8063d4bafb1a146106e8578063dd62ed3e146106fe578063e1d5584c1461074457600080fd5b8063a9059cbb14610642578063b62496f514610662578063c04a78ad14610692578063c851cc32146106b2578063d00efb2f146106d257600080fd5b80638cd4426d1161010d5780638cd4426d146105c45780638da5cb5b146105e457806390107afe1461060257806395d89b411461028f578063a8aa1b311461062257600080fd5b80637d1db4a514610517578063893d20e81461052d5780638a8c523c1461055f5780638b42507f146105745780638b525903146105a457600080fd5b8063364333f4116101d7578063658d4b7f1161019b578063658d4b7f146104755780636c0a24eb146104955780636ddd1713146104ab57806370a08231146104cc578063715018a61461050257600080fd5b8063364333f4146103cf5780633f4218e0146103e45780634ada218b14610414578063571ac8b0146104355780635d0044ca1461045557600080fd5b806318160ddd1161021e57806318160ddd1461034957806323b872dd1461035e5780632b112e491461037e578063313ce56714610393578063333c39a5146103af57600080fd5b80630445b6671461026657806306fdde031461028f5780630940bbc7146102c7578063095ea7b3146102e95780630bd11f8a1461031957600080fd5b3661026157005b600080fd5b34801561027257600080fd5b5061027c601d5481565b6040519081526020015b60405180910390f35b34801561029b57600080fd5b506040805180820182526009815268536e616b654579657360b81b6020820152905161028691906120c5565b3480156102d357600080fd5b506102e76102e236600461204c565b6107c4565b005b3480156102f557600080fd5b50610309610304366004612005565b610868565b6040519015158152602001610286565b34801561032557600080fd5b50610309610334366004611f44565b60126020526000908152604090205460ff1681565b34801561035557600080fd5b5060085461027c565b34801561036a57600080fd5b50610309610379366004611f92565b6108d5565b34801561038a57600080fd5b5061027c61099e565b34801561039f57600080fd5b5060405160128152602001610286565b3480156103bb57600080fd5b506102e76103ca36600461204c565b6109f0565b3480156103db57600080fd5b506102e7610a90565b3480156103f057600080fd5b506103096103ff366004611f44565b60106020526000908152604090205460ff1681565b34801561042057600080fd5b50601c5461030990600160a01b900460ff1681565b34801561044157600080fd5b50610309610450366004611f44565b610b07565b34801561046157600080fd5b506102e761047036600461204c565b610b15565b34801561048157600080fd5b506102e7610490366004611fce565b610bb5565b3480156104a157600080fd5b5061027c600a5481565b3480156104b757600080fd5b50601c5461030990600160a81b900460ff1681565b3480156104d857600080fd5b5061027c6104e7366004611f44565b6001600160a01b03166000908152600c602052604090205490565b34801561050e57600080fd5b506102e7610c28565b34801561052357600080fd5b5061027c60095481565b34801561053957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610286565b34801561056b57600080fd5b506102e7610cba565b34801561058057600080fd5b5061030961058f366004611f44565b60116020526000908152604090205460ff1681565b3480156105b057600080fd5b506102e76105bf36600461204c565b610d2d565b3480156105d057600080fd5b506103096105df366004612005565b610dcc565b3480156105f057600080fd5b506000546001600160a01b0316610547565b34801561060e57600080fd5b506102e761061d366004611f5f565b610e95565b34801561062e57600080fd5b50601c54610547906001600160a01b031681565b34801561064e57600080fd5b5061030961065d366004612005565b610f77565b34801561066e57600080fd5b5061030961067d366004611f44565b600f6020526000908152604090205460ff1681565b34801561069e57600080fd5b506102e76106ad366004611fce565b610f84565b3480156106be57600080fd5b506102e76106cd366004611f44565b610ff7565b3480156106de57600080fd5b5061027c60035481565b3480156106f457600080fd5b5061027c600b5481565b34801561070a57600080fd5b5061027c610719366004611f5f565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561075057600080fd5b5061054761075f36600461204c565b611061565b34801561077057600080fd5b506102e761077f366004612093565b61108b565b34801561079057600080fd5b506102e761079f366004611fce565b611139565b3480156107b057600080fd5b50601b54610547906001600160a01b031681565b6000546001600160a01b031633146108115760405162461bcd60e51b8152602060048201819052602482015260008051602061223683398151915260448201526064015b60405180910390fd5b600b548111156108635760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601755565b336000818152600d602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108c39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600d602090815260408083203384529091528120546000191461098957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600d825283812033825290915291909120546109649184906111ac565b6001600160a01b0385166000908152600d602090815260408083203384529091529020555b6109948484846111e6565b90505b9392505050565b6007546001600160a01b03166000908152600c60205260408120546109eb906006546001600160a01b03166000908152600c60205260409020546109e5906008549061178b565b9061178b565b905090565b6000546001600160a01b03163314610a385760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600854610a47906103e86117cd565b8111610a8b5760405162461bcd60e51b815260206004820152601360248201527243616e2774206c696d69742074726164696e6760681b6044820152606401610808565b600955565b6000546001600160a01b03163314610ad85760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b60405133904780156108fc02916000818181858888f19350505050158015610b04573d6000803e3d6000fd5b50565b60006108cf82600019610868565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600854610b6c906103e86117cd565b8111610bb05760405162461bcd60e51b815260206004820152601360248201527243616e2774206c696d69742074726164696e6760681b6044820152606401610808565b600a55565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c705760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d025760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b601c805460ff60a01b1916600160a01b179055436003819055600254610d28919061180f565b600455565b6000546001600160a01b03163314610d755760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600b54811115610dc75760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601855565b600080546001600160a01b03163314610e155760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb90604401602060405180830381600087803b158015610e5d57600080fd5b505af1158015610e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061202f565b6000546001600160a01b03163314610edd5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03821615801590610efd57506001600160a01b03811615155b610f495760405162461bcd60e51b815260206004820152601760248201527f5a65726f20416464726573732076616c69646174696f6e0000000000000000006044820152606401610808565b601980546001600160a01b039384166001600160a01b031991821617909155601a8054929093169116179055565b60006109973384846111e6565b6000546001600160a01b03163314610fcc5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b600e818154811061107157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146110d35760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b600b548411156111255760405162461bcd60e51b815260206004820152601b60248201527f4665652063616e277420626520686967686572207468616e20362500000000006044820152606401610808565b601393909355601491909155601555601655565b6000546001600160a01b031633146111815760405162461bcd60e51b815260206004820181905260248201526000805160206122368339815191526044820152606401610808565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b600081848411156111d05760405162461bcd60e51b815260040161080891906120c5565b5060006111dd84866121e4565b95945050505050565b601e5460009060ff1615611206576111ff84848461186e565b9050610997565b6001600160a01b03841660009081526010602052604090205460ff1615801561124857506001600160a01b03831660009081526010602052604090205460ff16155b156112a657601c54600160a01b900460ff166112a65760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610808565b6112ae61195d565b156112bb576112bb6119b5565b6001600160a01b0384166000908152600f6020526040902054829060ff1615611410576001600160a01b03841660009081526010602052604090205460ff1661140b57600a546001600160a01b0385166000908152600c6020526040902054611324908561180f565b11158061134957506001600160a01b03841660009081526012602052604090205460ff165b6113955760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610808565b600954831115806113be57506001600160a01b03841660009081526011602052604090205460ff165b6113fe5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6114088584611d05565b90505b6115f1565b6001600160a01b0384166000908152600f602052604090205460ff16156114c4576001600160a01b03851660009081526010602052604090205460ff1661140b576009548311158061147a57506001600160a01b03851660009081526011602052604090205460ff165b6114ba5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6114088584611dab565b6001600160a01b03851660009081526010602052604090205460ff166115f157600a546001600160a01b0385166000908152600c602052604090205461150a908561180f565b11158061152f57506001600160a01b03841660009081526012602052604090205460ff165b61157b5760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610808565b600954831115806115a457506001600160a01b03851660009081526011602052604090205460ff165b6115e45760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610808565b6115ee8584611dd0565b90505b6001600160a01b0385166000908152600c6020526040902054611614908461178b565b6001600160a01b038087166000908152600c60205260408082209390935590861681522054611643908261180f565b6001600160a01b038581166000908152600c602052604080822093909355601a5488831680835291849020549351630a5b654b60e11b8152600481019290925260248201939093529116906314b6ca9690604401600060405180830381600087803b1580156116b157600080fd5b505af19250505080156116c2575060015b50601a546001600160a01b038581166000818152600c602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561172157600080fd5b505af1925050508015611732575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161177891815260200190565b60405180910390a3506001949350505050565b600061099783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ac565b600061099783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e7b565b60008061181c838561218b565b9050838110156109975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610808565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600c909152918220546118c89184906111ac565b6001600160a01b038086166000908152600c602052604080822093909355908516815220546118f7908361180f565b6001600160a01b038085166000818152600c602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194b9086815260200190565b60405180910390a35060019392505050565b336000908152600f602052604081205460ff161580156119805750601e5460ff16155b80156119955750601c54600160a81b900460ff165b80156109eb575050601d54306000908152600c6020526040902054101590565b601e805460ff191660011790556014546016546015546000916119e3916119dd90859061180f565b9061180f565b306000908152600c6020526040812054919250611a0d6002611a0785818689611ea9565b906117cd565b90506000611a1b838361178b565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611a5557611a55612211565b6001600160a01b039283166020918202929092010152600554825191169082906001908110611a8657611a86612211565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac94790611acc90869060009086903090429060040161211a565b600060405180830381600087803b158015611ae657600080fd5b505af1158015611afa573d6000803e3d6000fd5b505050506000611b13834761178b90919063ffffffff16565b90506000611b2c611b258a60026117cd565b899061178b565b90506000611b4e6002611a0784611a0760145488611ea990919063ffffffff16565b90506000611b6b83611a0760155487611ea990919063ffffffff16565b90506000611b7d826109e5878661178b565b6019546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611bcf576040519150601f19603f3d011682016040523d82523d6000602084013e611bd4565b606091505b50509050601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611c2857600080fd5b505af193505050508015611c3a575060015b505060008915611cec57601b5460065460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c4016060604051808303818588803b158015611caf57600080fd5b505af1158015611cc3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ce89190612065565b5050505b5050601e805460ff191690555050505050505050505050565b60135460045460009190431015611d1a575060145b6000611d2b6064611a078685611ea9565b306000908152600c6020526040902054909150611d48908261180f565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d999085815260200190565b60405180910390a36111dd848261178b565b60175460045460009190431015611d1a575060286000611d2b6064611a078685611ea9565b600080611ded6064611a0760185486611ea990919063ffffffff16565b90508015611e6957306000908152600c6020526040902054611e0f908261180f565b306000818152600c6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e609085815260200190565b60405180910390a35b611e73838261178b565b949350505050565b60008183611e9c5760405162461bcd60e51b815260040161080891906120c5565b5060006111dd84866121a3565b600082611eb8575060006108cf565b6000611ec483856121c5565b905082611ed185836121a3565b146109975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610808565b80356001600160a01b0381168114611f3f57600080fd5b919050565b600060208284031215611f5657600080fd5b61099782611f28565b60008060408385031215611f7257600080fd5b611f7b83611f28565b9150611f8960208401611f28565b90509250929050565b600080600060608486031215611fa757600080fd5b611fb084611f28565b9250611fbe60208501611f28565b9150604084013590509250925092565b60008060408385031215611fe157600080fd5b611fea83611f28565b91506020830135611ffa81612227565b809150509250929050565b6000806040838503121561201857600080fd5b61202183611f28565b946020939093013593505050565b60006020828403121561204157600080fd5b815161099781612227565b60006020828403121561205e57600080fd5b5035919050565b60008060006060848603121561207a57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156120a957600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b818110156120f2578581018301518582016040015282016120d6565b81811115612104576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561216a5784516001600160a01b031683529383019391830191600101612145565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561219e5761219e6121fb565b500190565b6000826121c057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121df576121df6121fb565b500290565b6000828210156121f6576121f66121fb565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8015158114610b0457600080fdfe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122049b62fa2db39487c43035e0eaf625785ed1922744bd5f52029c76acbc3afd03764736f6c63430008070033

Deployed Bytecode Sourcemap

5078:13414:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6815:54;;;;;;;;;;;;;;;;;;;8516:25:1;;;8504:2;8489:18;6815:54:0;;;;;;;;8086:80;;;;;;;;;;-1:-1:-1;8158:5:0;;;;;;;;;;;-1:-1:-1;;;8158:5:0;;;;8086:80;;;;8158:5;8086:80;:::i;17119:178::-;;;;;;;;;;-1:-1:-1;17119:178:0;;;;;:::i;:::-;;:::i;:::-;;8664:216;;;;;;;;;;-1:-1:-1;8664:216:0;;;;;:::i;:::-;;:::i;:::-;;;4262:14:1;;4255:22;4237:41;;4225:2;4210:18;8664:216:0;4097:187:1;6140:50:0;;;;;;;;;;-1:-1:-1;6140:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7816:88;;;;;;;;;;-1:-1:-1;7889:12:0;;7816:88;;9182:370;;;;;;;;;;-1:-1:-1;9182:370:0;;;;;:::i;:::-;;:::i;8514:142::-;;;;;;;;;;;;;:::i;7910:80::-;;;;;;;;;;-1:-1:-1;7910:80:0;;5578:2;9725:36:1;;9713:2;9698:18;7910:80:0;9583:184:1;16522:176:0;;;;;;;;;;-1:-1:-1;16522:176:0;;;;;:::i;:::-;;:::i;18194:118::-;;;;;;;;;;;;;:::i;6034:44::-;;;;;;;;;;-1:-1:-1;6034:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6737:34;;;;;;;;;;-1:-1:-1;6737:34:0;;;;-1:-1:-1;;;6737:34:0;;;;;;8888:122;;;;;;;;;;-1:-1:-1;8888:122:0;;;;;:::i;:::-;;:::i;16314:196::-;;;;;;;;;;-1:-1:-1;16314:196:0;;;;;:::i;:::-;;:::i;17497:119::-;;;;;;;;;;-1:-1:-1;17497:119:0;;;;;:::i;:::-;;:::i;5708:52::-;;;;;;;;;;;;;;;;6778:30;;;;;;;;;;-1:-1:-1;6778:30:0;;;;-1:-1:-1;;;6778:30:0;;;;;;8258:105;;;;;;;;;;-1:-1:-1;8258:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8342:18:0;8324:7;8342:18;;;:9;:18;;;;;;;8258:105;3242:148;;;;;;;;;;;;;:::i;5653:48::-;;;;;;;;;;;;;;;;8172:80;;;;;;;;;;-1:-1:-1;8224:7:0;3093:6;-1:-1:-1;;;;;3093:6:0;8172:80;;;-1:-1:-1;;;;;3093:55:1;;;3075:74;;3063:2;3048:18;8172:80:0;2929:226:1;13508:178:0;;;;;;;;;;;;;:::i;6085:48::-;;;;;;;;;;-1:-1:-1;6085:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17305:184;;;;;;;;;;-1:-1:-1;17305:184:0;;;;;:::i;:::-;;:::i;18320:167::-;;;;;;;;;;-1:-1:-1;18320:167:0;;;;;:::i;:::-;;:::i;3028:79::-;;;;;;;;;;-1:-1:-1;3066:7:0;3093:6;-1:-1:-1;;;;;3093:6:0;3028:79;;17898:288;;;;;;;;;;-1:-1:-1;17898:288:0;;;;;:::i;:::-;;:::i;6709:19::-;;;;;;;;;;-1:-1:-1;6709:19:0;;;;-1:-1:-1;;;;;6709:19:0;;;9018:156;;;;;;;;;;-1:-1:-1;9018:156:0;;;;;:::i;:::-;;:::i;5969:58::-;;;;;;;;;;-1:-1:-1;5969:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17759:131;;;;;;;;;;-1:-1:-1;17759:131:0;;;;;:::i;:::-;;:::i;16200:106::-;;;;;;;;;;-1:-1:-1;16200:106:0;;;;;:::i;:::-;;:::i;5195:26::-;;;;;;;;;;;;;;;;5767;;;;;;;;;;;;;;;;8369:133;;;;;;;;;;-1:-1:-1;8369:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8471:19:0;;;8453:7;8471:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8369:133;5933:29;;;;;;;;;;-1:-1:-1;5933:29:0;;;;;:::i;:::-;;:::i;16706:405::-;;;;;;;;;;-1:-1:-1;16706:405:0;;;;;:::i;:::-;;:::i;17624:127::-;;;;;;;;;;-1:-1:-1;17624:127:0;;;;;:::i;:::-;;:::i;6678:24::-;;;;;;;;;;-1:-1:-1;6678:24:0;;;;-1:-1:-1;;;;;6678:24:0;;;17119:178;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;;;;;;;;;17209:7:::1;;17197:8;:19;;17189:59;;;::::0;-1:-1:-1;;;17189:59:0;;5342:2:1;17189:59:0::1;::::0;::::1;5324:21:1::0;5381:2;5361:18;;;5354:30;5420:29;5400:18;;;5393:57;5467:18;;17189:59:0::1;5140:351:1::0;17189:59:0::1;17259:12;:23:::0;17119:178::o;8664:216::-;8768:10;8739:4;8756:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8756:32:0;;;;;;;;;;:41;;;8813:37;8739:4;;8756:32;;8813:37;;;;8791:6;8516:25:1;;8504:2;8489:18;;8370:177;8813:37:0;;;;;;;;-1:-1:-1;8868:4:0;8664:216;;;;;:::o;9182:370::-;-1:-1:-1;;;;;9302:19:0;;9282:4;9302:19;;;:11;:19;;;;;;;;9322:10;9302:31;;;;;;;;-1:-1:-1;;9302:52:0;9299:186;;9404:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9404:19:0;;-1:-1:-1;9404:19:0;;;:11;:19;;;;;9424:10;9404:31;;;;;;;;;;:69;;9440:6;;9404:35;:69::i;:::-;-1:-1:-1;;;;;9370:19:0;;;;;;:11;:19;;;;;;;;9390:10;9370:31;;;;;;;:103;9299:186;9504:40;9518:6;9526:9;9537:6;9504:13;:40::i;:::-;9497:47;;9182:370;;;;;;:::o;8514:142::-;8642:4;;-1:-1:-1;;;;;8642:4:0;8567:7;8342:18;;;:9;:18;;;;;;8594:54;;8621:4;;-1:-1:-1;;;;;8621:4:0;8324:7;8342:18;;;:9;:18;;;;;;8594:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;8587:61;;8514:142;:::o;16522:176::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;16609:12:::1;::::0;:22:::1;::::0;16626:4:::1;16609:16;:22::i;:::-;16597:9;:34;16589:66;;;::::0;-1:-1:-1;;;16589:66:0;;6760:2:1;16589:66:0::1;::::0;::::1;6742:21:1::0;6799:2;6779:18;;;6772:30;-1:-1:-1;;;6818:18:1;;;6811:49;6877:18;;16589:66:0::1;6558:343:1::0;16589:66:0::1;16666:12;:24:::0;16522:176::o;18194:118::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;18253:51:::1;::::0;18261:10:::1;::::0;18282:21:::1;18253:51:::0;::::1;;;::::0;::::1;::::0;;;18282:21;18261:10;18253:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18194:118::o:0;8888:122::-;8943:4;8967:35;8975:7;-1:-1:-1;;8967:7:0;:35::i;16314:196::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;16413:12:::1;::::0;:22:::1;::::0;16430:4:::1;16413:16;:22::i;:::-;16397:13;:38;16389:70;;;::::0;-1:-1:-1;;;16389:70:0;;6760:2:1;16389:70:0::1;::::0;::::1;6742:21:1::0;6799:2;6779:18;;;6772:30;-1:-1:-1;;;6818:18:1;;;6811:49;6877:18;;16389:70:0::1;6558:343:1::0;16389:70:0::1;16470:16;:32:::0;16314:196::o;17497:119::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;-1:-1:-1;;;;;17580:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17580:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17497:119::o;3242:148::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;3349:1:::1;3333:6:::0;;3312:40:::1;::::0;-1:-1:-1;;;;;3333:6:0;;::::1;::::0;3312:40:::1;::::0;3349:1;;3312:40:::1;3380:1;3363:19:::0;;-1:-1:-1;;;;;;3363:19:0::1;::::0;;3242:148::o;13508:178::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;13563:14:::1;:21:::0;;-1:-1:-1;;;;13563:21:0::1;-1:-1:-1::0;;;13563:21:0::1;::::0;;13609:12:::1;13595:11;:26:::0;;;13667:10:::1;::::0;13650:28:::1;::::0;13609:12;13650:16:::1;:28::i;:::-;13632:15;:46:::0;13508:178::o;17305:184::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;17405:7:::1;;17389:12;:23;;17381:63;;;::::0;-1:-1:-1;;;17381:63:0;;5342:2:1;17381:63:0::1;::::0;::::1;5324:21:1::0;5381:2;5361:18;;;5354:30;5420:29;5400:18;;;5393:57;5467:18;;17381:63:0::1;5140:351:1::0;17381:63:0::1;17455:11;:26:::0;17305:184::o;18320:167::-;18407:4;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;18431:48:::1;::::0;-1:-1:-1;;;18431:48:0;;18460:10:::1;18431:48;::::0;::::1;3334:74:1::0;3424:18;;;3417:34;;;-1:-1:-1;;;;;18431:28:0;::::1;::::0;::::1;::::0;3307:18:1;;18431:48:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17898:288::-:0;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;-1:-1:-1;;;;;18004:30:0;::::1;::::0;;::::1;::::0;:58:::1;;-1:-1:-1::0;;;;;;18038:24:0;::::1;::::0;::::1;18004:58;17996:96;;;::::0;-1:-1:-1;;;17996:96:0;;7108:2:1;17996:96:0::1;::::0;::::1;7090:21:1::0;7147:2;7127:18;;;7120:30;7186:25;7166:18;;;7159:53;7229:18;;17996:96:0::1;6906:347:1::0;17996:96:0::1;18103:20;:39:::0;;-1:-1:-1;;;;;18103:39:0;;::::1;-1:-1:-1::0;;;;;;18103:39:0;;::::1;;::::0;;;18153:12:::1;:25:::0;;;;;::::1;::::0;::::1;;::::0;;17898:288::o;9018:156::-;9098:4;9122:44;9136:10;9148:9;9159:6;9122:13;:44::i;17759:131::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;-1:-1:-1;;;;;17848:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:34;;-1:-1:-1;;17848:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17759:131::o;16200:106::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;16269:6:::1;:29:::0;;-1:-1:-1;;;;;;16269:29:0::1;-1:-1:-1::0;;;;;16269:29:0;;;::::1;::::0;;;::::1;::::0;;16200:106::o;5933:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5933:29:0;;-1:-1:-1;5933:29:0;:::o;16706:405::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;16884:7:::1;;16873;:18;;16865:58;;;::::0;-1:-1:-1;;;16865:58:0;;5342:2:1;16865:58:0::1;::::0;::::1;5324:21:1::0;5381:2;5361:18;;;5354:30;5420:29;5400:18;;;5393:57;5467:18;;16865:58:0::1;5140:351:1::0;16865:58:0::1;16934:11;:21:::0;;;;16966:12:::1;:35:::0;;;;17012:12:::1;:35:::0;17058:13:::1;:37:::0;16706:405::o;17624:127::-;3155:6;;-1:-1:-1;;;;;3155:6:0;2405:10;3155:22;3147:67;;;;-1:-1:-1;;;3147:67:0;;8211:2:1;3147:67:0;;;8193:21:1;;;8230:18;;;8223:30;-1:-1:-1;;;;;;;;;;;8269:18:1;;;8262:62;8341:18;;3147:67:0;8009:356:1;3147:67:0;-1:-1:-1;;;;;17711:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17711:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17624:127::o;567:192::-;653:7;689:12;681:6;;;;673:29;;;;-1:-1:-1;;;673:29:0;;;;;;;;:::i;:::-;-1:-1:-1;713:9:0;725:5;729:1;725;:5;:::i;:::-;713:17;567:192;-1:-1:-1;;;;;567:192:0:o;9560:1924::-;9672:6;;9652:4;;9672:6;;9669:63;;;9688:41;9703:6;9711:9;9722:6;9688:14;:41::i;:::-;9681:48;;;;9669:63;-1:-1:-1;;;;;9748:19:0;;;;;;:11;:19;;;;;;;;9747:20;:47;;;;-1:-1:-1;;;;;;9772:22:0;;;;;;:11;:22;;;;;;;;9771:23;9747:47;9744:124;;;9818:14;;-1:-1:-1;;;9818:14:0;;;;9810:46;;;;-1:-1:-1;;;9810:46:0;;7460:2:1;9810:46:0;;;7442:21:1;7499:2;7479:18;;;7472:30;7538:22;7518:18;;;7511:50;7578:18;;9810:46:0;7258:344:1;9810:46:0;9883:16;:14;:16::i;:::-;9880:35;;;9902:10;:8;:10::i;:::-;-1:-1:-1;;;;;9975:33:0;;9927:22;9975:33;;;:25;:33;;;;;;9952:6;;9975:33;;9972:1100;;;-1:-1:-1;;;;;10035:22:0;;;;;;:11;:22;;;;;;;;10031:354;;10122:16;;-1:-1:-1;;;;;10086:20:0;;;;;;:9;:20;;;;;;:32;;10111:6;10086:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;10142:28:0;;;;;;:17;:28;;;;;;;;10086:84;10078:128;;;;-1:-1:-1;;;10078:128:0;;6044:2:1;10078:128:0;;;6026:21:1;6083:2;6063:18;;;6056:30;6122:33;6102:18;;;6095:61;6173:18;;10078:128:0;5842:355:1;10078:128:0;10243:12;;10233:6;:22;;:52;;;-1:-1:-1;;;;;;10259:26:0;;;;;;:15;:26;;;;;;;;10233:52;10225:82;;;;-1:-1:-1;;;10225:82:0;;5698:2:1;10225:82:0;;;5680:21:1;5737:2;5717:18;;;5710:30;-1:-1:-1;;;5756:18:1;;;5749:47;5813:18;;10225:82:0;5496:341:1;10225:82:0;10343:26;10354:6;10362;10343:10;:26::i;:::-;10326:43;;10031:354;9972:1100;;;-1:-1:-1;;;;;10407:36:0;;;;;;:25;:36;;;;;;;;10404:668;;;-1:-1:-1;;;;;10471:19:0;;;;;;:11;:19;;;;;;;;10467:204;;10529:12;;10519:6;:22;;:49;;;-1:-1:-1;;;;;;10545:23:0;;;;;;:15;:23;;;;;;;;10519:49;10511:79;;;;-1:-1:-1;;;10511:79:0;;5698:2:1;10511:79:0;;;5680:21:1;5737:2;5717:18;;;5710:30;-1:-1:-1;;;5756:18:1;;;5749:47;5813:18;;10511:79:0;5496:341:1;10511:79:0;10626:27;10638:6;10646;10626:11;:27::i;10404:668::-;-1:-1:-1;;;;;10709:19:0;;;;;;:11;:19;;;;;;;;10704:357;;10794:16;;-1:-1:-1;;;;;10758:20:0;;;;;;:9;:20;;;;;;:32;;10783:6;10758:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;10814:28:0;;;;;;:17;:28;;;;;;;;10758:84;10750:128;;;;-1:-1:-1;;;10750:128:0;;6044:2:1;10750:128:0;;;6026:21:1;6083:2;6063:18;;;6056:30;6122:33;6102:18;;;6095:61;6173:18;;10750:128:0;5842:355:1;10750:128:0;10915:12;;10905:6;:22;;:49;;;-1:-1:-1;;;;;;10931:23:0;;;;;;:15;:23;;;;;;;;10905:49;10897:79;;;;-1:-1:-1;;;10897:79:0;;5698:2:1;10897:79:0;;;5680:21:1;5737:2;5717:18;;;5710:30;-1:-1:-1;;;5756:18:1;;;5749:47;5813:18;;10897:79:0;5496:341:1;10897:79:0;11012:31;11028:6;11036;11012:15;:31::i;:::-;10995:48;;10704:357;-1:-1:-1;;;;;11104:17:0;;;;;;:9;:17;;;;;;:29;;11126:6;11104:21;:29::i;:::-;-1:-1:-1;;;;;11084:17:0;;;;;;;:9;:17;;;;;;:49;;;;11167:20;;;;;;;:40;;11192:14;11167:24;:40::i;:::-;-1:-1:-1;;;;;11144:20:0;;;;;;;:9;:20;;;;;;:63;;;;11233:12;;11264:17;;;;;;;;;;;11224:58;;-1:-1:-1;;;11224:58:0;;;;;3334:74:1;;;;3424:18;;;3417:34;;;;11233:12:0;;;11224:31;;3307:18:1;;11224:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11220:74;11317:12;;-1:-1:-1;;;;;11351:20:0;;;11317:12;11351:20;;;:9;:20;;;;;;;;11308:64;;-1:-1:-1;;;11308:64:0;;;;;3334:74:1;;;;3424:18;;;3417:34;11317:12:0;;;11308:31;;3307:18:1;;11308:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11304:80;11428:9;-1:-1:-1;;;;;11411:43:0;11420:6;-1:-1:-1;;;;;11411:43:0;;11439:14;11411:43;;;;8516:25:1;;8504:2;8489:18;;8370:177;11411:43:0;;;;;;;;-1:-1:-1;11472:4:0;;9560:1924;-1:-1:-1;;;;9560:1924:0:o;425:136::-;483:7;510:43;514:1;517;510:43;;;;;;;;;;;;;;;;;:3;:43::i;1021:132::-;1079:7;1106:39;1110:1;1113;1106:39;;;;;;;;;;;;;;;;;:3;:39::i;238:181::-;296:7;;328:5;332:1;328;:5;:::i;:::-;316:17;;357:1;352;:6;;344:46;;;;-1:-1:-1;;;344:46:0;;6404:2:1;344:46:0;;;6386:21:1;6443:2;6423:18;;;6416:30;6482:29;6462:18;;;6455:57;6529:18;;344:46:0;6202:351:1;11496:330:0;11626:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11626:17:0;;11589:4;11626:17;;;:9;:17;;;;;;;:53;;11648:6;;11626:21;:53::i;:::-;-1:-1:-1;;;;;11606:17:0;;;;;;;:9;:17;;;;;;:73;;;;11713:20;;;;;;;:32;;11738:6;11713:24;:32::i;:::-;-1:-1:-1;;;;;11690:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11761:35;;;;;;;;;;11789:6;8516:25:1;;8504:2;8489:18;;8370:177;11761:35:0;;;;;;;;-1:-1:-1;11814:4:0;11496:330;;;;;:::o;13251:226::-;13360:10;13300:4;13334:37;;;:25;:37;;;;;;;;13333:38;:58;;;;-1:-1:-1;13385:6:0;;;;13384:7;13333:58;:82;;;;-1:-1:-1;13404:11:0;;-1:-1:-1;;;13404:11:0;;;;13333:82;:136;;;;-1:-1:-1;;13456:13:0;;13446:4;13428:24;;;;:9;:24;;;;;;:41;;;13251:226::o;13694:1737::-;6926:6;:13;;-1:-1:-1;;6926:13:0;6935:4;6926:13;;;13770:12:::1;::::0;13850:13:::1;::::0;13832:12:::1;::::0;6926:6;;13815:49:::1;::::0;:30:::1;::::0;13770:12;;13815:16:::1;:30::i;:::-;:34:::0;::::1;:49::i;:::-;13926:4;13877:28;13908:24:::0;;;:9:::1;:24;::::0;;;;;13793:71;;-1:-1:-1;13969:67:0::1;14034:1;13969:60;13793:71:::0;13969:60;13908:24;13994:16;13969:24:::1;:42::i;:::-;:46:::0;::::1;:60::i;:67::-;13943:93:::0;-1:-1:-1;14047:20:0::1;14070:41;:20:::0;13943:93;14070:24:::1;:41::i;:::-;14206:16;::::0;;14220:1:::1;14206:16:::0;;;;;::::1;::::0;;14047:64;;-1:-1:-1;14148:21:0::1;::::0;14124::::1;::::0;14206:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14206:16:0::1;14182:40;;14251:4;14233;14238:1;14233:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14233:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14277:4:::1;::::0;14267:7;;14277:4;::::1;::::0;14267;;14277;;14267:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14267:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14294:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14294:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;14366:12;;14294:6:::1;::::0;14409:4;;14436::::1;::::0;14456:15:::1;::::0;14294:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14495:17;14515:40;14541:13;14515:21;:25;;:40;;;;:::i;:::-;14495:60:::0;-1:-1:-1;14568:19:0::1;14590:41;14607:23;:16:::0;14628:1:::1;14607:20;:23::i;:::-;14590:12:::0;;:16:::1;:41::i;:::-;14568:63;;14652:26;14681:51;14730:1;14681:44;14713:11;14681:27;14695:12;;14681:9;:13;;:27;;;;:::i;:51::-;14652:80;;14743:26;14772:44;14804:11;14772:27;14786:12;;14772:9;:13;;:27;;;;:::i;:44::-;14743:73:::0;-1:-1:-1;14827:24:0::1;14854:57;14743:73:::0;14854:33:::1;:9:::0;14868:18;14854:13:::1;:33::i;:57::-;14953:20;::::0;14945:65:::1;::::0;14827:84;;-1:-1:-1;14925:15:0::1;::::0;-1:-1:-1;;;;;14953:20:0;;::::1;::::0;14987:18;;14925:15;14945:65;14925:15;14945:65;14987:18;14953:20;14945:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14924:86;;;15034:12;;;;;;;;;-1:-1:-1::0;;;;;15034:12:0::1;-1:-1:-1::0;;;;;15025:30:0::1;;15063:16;15025:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;15021:73:::0;-1:-1:-1;15127:5:0::1;15148:19:::0;;15145:277:::1;;15183:6;::::0;15357:4:::1;::::0;15183:227:::1;::::0;-1:-1:-1;;;15183:227:0;;15259:4:::1;15183:227;::::0;::::1;3826:34:1::0;3876:18;;;3869:34;;;15183:6:0::1;3919:18:1::0;;;3912:34;;;3962:18;;;3955:34;-1:-1:-1;;;;;15357:4:0;;::::1;4005:19:1::0;;;3998:44;15380:15:0::1;4058:19:1::0;;;4051:35;15183:6:0;::::1;::::0;:22:::1;::::0;15213:18;;3737:19:1;;15183:227:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15145:277;-1:-1:-1::0;;6944:6:0;:14;;-1:-1:-1;;6944:14:0;;;-1:-1:-1;;;;;;;;;;;13694:1737:0:o;11847:472::-;11955:11;;11996:15;;11917:7;;11955:11;11981:12;:30;11977:84;;;-1:-1:-1;12043:2:0;11977:84;12073:17;12093:40;6496:3;12093:20;:6;12104:8;12093:10;:20::i;:40::-;12191:4;12173:24;;;;:9;:24;;;;;;12073:60;;-1:-1:-1;12173:39:0;;12073:60;12173:28;:39::i;:::-;12164:4;12146:24;;;;:9;:24;;;;;;;:66;;;;12228:42;;-1:-1:-1;;;;;12228:42:0;;;;;;;12260:9;8516:25:1;;8504:2;8489:18;;8370:177;12228:42:0;;;;;;;;12290:21;:6;12301:9;12290:10;:21::i;12327:488::-;12436:12;;12478:15;;12398:7;;12436:12;12463;:30;12459:84;;;-1:-1:-1;12525:2:0;12555:17;12575:40;6496:3;12575:20;:6;12586:8;12575:10;:20::i;12823:416::-;12898:7;12917:17;12937:43;6496:3;12937:23;12948:11;;12937:6;:10;;:23;;;;:::i;:43::-;12917:63;-1:-1:-1;13005:13:0;;13001:176;;13080:4;13062:24;;;;:9;:24;;;;;;:39;;13091:9;13062:28;:39::i;:::-;13053:4;13035:24;;;;:9;:24;;;;;;;:66;;;;13122:42;;-1:-1:-1;;;;;13122:42:0;;;;;;;13154:9;8516:25:1;;8504:2;8489:18;;8370:177;13122:42:0;;;;;;;;13001:176;13209:21;:6;13220:9;13209:10;:21::i;:::-;13202:28;12823:416;-1:-1:-1;;;;12823:416:0:o;1159:189::-;1245:7;1280:12;1273:5;1265:28;;;;-1:-1:-1;;;1265:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1304:9:0;1316:5;1320:1;1316;:5;:::i;765:250::-;823:7;847:6;843:47;;-1:-1:-1;877:1:0;870:8;;843:47;902:9;914:5;918:1;914;:5;:::i;:::-;902:17;-1:-1:-1;947:1:0;938:5;942:1;902:17;938:5;:::i;:::-;:10;930:56;;;;-1:-1:-1;;;930:56:0;;7809:2:1;930:56:0;;;7791:21:1;7848:2;7828:18;;;7821:30;7887:34;7867:18;;;7860:62;-1:-1:-1;;;7938:18:1;;;7931:31;7979:19;;930:56:0;7607:397:1;14:196;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;406:260::-;474:6;482;535:2;523:9;514:7;510:23;506:32;503:52;;;551:1;548;541:12;503:52;574:29;593:9;574:29;:::i;:::-;564:39;;622:38;656:2;645:9;641:18;622:38;:::i;:::-;612:48;;406:260;;;;;:::o;671:328::-;748:6;756;764;817:2;805:9;796:7;792:23;788:32;785:52;;;833:1;830;823:12;785:52;856:29;875:9;856:29;:::i;:::-;846:39;;904:38;938:2;927:9;923:18;904:38;:::i;:::-;894:48;;989:2;978:9;974:18;961:32;951:42;;671:328;;;;;:::o;1004:315::-;1069:6;1077;1130:2;1118:9;1109:7;1105:23;1101:32;1098:52;;;1146:1;1143;1136:12;1098:52;1169:29;1188:9;1169:29;:::i;:::-;1159:39;;1248:2;1237:9;1233:18;1220:32;1261:28;1283:5;1261:28;:::i;:::-;1308:5;1298:15;;;1004:315;;;;;:::o;1324:254::-;1392:6;1400;1453:2;1441:9;1432:7;1428:23;1424:32;1421:52;;;1469:1;1466;1459:12;1421:52;1492:29;1511:9;1492:29;:::i;:::-;1482:39;1568:2;1553:18;;;;1540:32;;-1:-1:-1;;;1324:254:1:o;1583:245::-;1650:6;1703:2;1691:9;1682:7;1678:23;1674:32;1671:52;;;1719:1;1716;1709:12;1671:52;1751:9;1745:16;1770:28;1792:5;1770:28;:::i;1833:180::-;1892:6;1945:2;1933:9;1924:7;1920:23;1916:32;1913:52;;;1961:1;1958;1951:12;1913:52;-1:-1:-1;1984:23:1;;1833:180;-1:-1:-1;1833:180:1:o;2018:306::-;2106:6;2114;2122;2175:2;2163:9;2154:7;2150:23;2146:32;2143:52;;;2191:1;2188;2181:12;2143:52;2220:9;2214:16;2204:26;;2270:2;2259:9;2255:18;2249:25;2239:35;;2314:2;2303:9;2299:18;2293:25;2283:35;;2018:306;;;;;:::o;2329:385::-;2415:6;2423;2431;2439;2492:3;2480:9;2471:7;2467:23;2463:33;2460:53;;;2509:1;2506;2499:12;2460:53;-1:-1:-1;;2532:23:1;;;2602:2;2587:18;;2574:32;;-1:-1:-1;2653:2:1;2638:18;;2625:32;;2704:2;2689:18;2676:32;;-1:-1:-1;2329:385:1;-1:-1:-1;2329:385:1:o;4538:597::-;4650:4;4679:2;4708;4697:9;4690:21;4740:6;4734:13;4783:6;4778:2;4767:9;4763:18;4756:34;4808:1;4818:140;4832:6;4829:1;4826:13;4818:140;;;4927:14;;;4923:23;;4917:30;4893:17;;;4912:2;4889:26;4882:66;4847:10;;4818:140;;;4976:6;4973:1;4970:13;4967:91;;;5046:1;5041:2;5032:6;5021:9;5017:22;5013:31;5006:42;4967:91;-1:-1:-1;5119:2:1;5098:15;-1:-1:-1;;5094:29:1;5079:45;;;;5126:2;5075:54;;4538:597;-1:-1:-1;;;4538:597:1:o;8552:1026::-;8814:4;8862:3;8851:9;8847:19;8893:6;8882:9;8875:25;8919:2;8957:6;8952:2;8941:9;8937:18;8930:34;9000:3;8995:2;8984:9;8980:18;8973:31;9024:6;9059;9053:13;9090:6;9082;9075:22;9128:3;9117:9;9113:19;9106:26;;9167:2;9159:6;9155:15;9141:29;;9188:1;9198:218;9212:6;9209:1;9206:13;9198:218;;;9277:13;;-1:-1:-1;;;;;9273:62:1;9261:75;;9391:15;;;;9356:12;;;;9234:1;9227:9;9198:218;;;-1:-1:-1;;;;;;;9472:55:1;;;;9467:2;9452:18;;9445:83;-1:-1:-1;;;9559:3:1;9544:19;9537:35;9433:3;8552:1026;-1:-1:-1;;;8552:1026:1:o;9772:128::-;9812:3;9843:1;9839:6;9836:1;9833:13;9830:39;;;9849:18;;:::i;:::-;-1:-1:-1;9885:9:1;;9772:128::o;9905:217::-;9945:1;9971;9961:132;;10015:10;10010:3;10006:20;10003:1;9996:31;10050:4;10047:1;10040:15;10078:4;10075:1;10068:15;9961:132;-1:-1:-1;10107:9:1;;9905:217::o;10127:168::-;10167:7;10233:1;10229;10225:6;10221:14;10218:1;10215:21;10210:1;10203:9;10196:17;10192:45;10189:71;;;10240:18;;:::i;:::-;-1:-1:-1;10280:9:1;;10127:168::o;10300:125::-;10340:4;10368:1;10365;10362:8;10359:34;;;10373:18;;:::i;:::-;-1:-1:-1;10410:9:1;;10300:125::o;10430:127::-;10491:10;10486:3;10482:20;10479:1;10472:31;10522:4;10519:1;10512:15;10546:4;10543:1;10536:15;10562:127;10623:10;10618:3;10614:20;10611:1;10604:31;10654:4;10651:1;10644:15;10678:4;10675:1;10668:15;10826:118;10912:5;10905:13;10898:21;10891:5;10888:32;10878:60;;10934:1;10931;10924:12

Swarm Source

ipfs://49b62fa2db39487c43035e0eaf625785ed1922744bd5f52029c76acbc3afd037
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.