ETH Price: $3,381.58 (+0.94%)
Gas: 8 Gwei

Token

CHICKEN (CHICK)
 

Overview

Max Total Supply

100,000,000,000 CHICK

Holders

264

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.464677364 CHICK

Value
$0.00
0xc2c29e61ce6b1155af0fe1001eaf5a623f686f75
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:
CHICKEN

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 2023-01-13
*/

// SPDX-License-Identifier: Unlicensed


pragma solidity ^0.8.17;

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(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

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

    string constant _name = "CHICKEN";
    string constant _symbol = "CHICK";
    uint8 constant _decimals = 9; 

    uint256 _totalSupply = 1 * 10**11 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

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

    bool public botMode = true;
    mapping (address => bool) public isboted;


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

    uint256 private liquidityFee    = 2;
    uint256 private marketingFee    = 1;
    uint256 private devFee          = 0;
    uint256 private eggFee          = 1; 
    uint256 private stakingFee      = 0;
    uint256 public totalFee         = eggFee + marketingFee + liquidityFee + devFee + stakingFee;
    uint256 private feeDenominator  = 100;

    uint256 sellMultiplier = 2400;
    uint256 buyMultiplier = 1200;
    uint256 transferMultiplier = 1000; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private eggFeeReceiver;
    address private stakingFeeReceiver;

    uint256 targetLiquidity = 30;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false;    

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 35 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[devFeeReceiver] = true;
            
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[devFeeReceiver] = true;
        isTxLimitExempt[marketingFeeReceiver] = true;
        isTxLimitExempt[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = msg.sender;
        devFeeReceiver = msg.sender;
        eggFeeReceiver = msg.sender;
        stakingFeeReceiver = DEAD; 

        _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 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 setMaxWalletPercent(uint256 maxWallPercent) external onlyOwner {
         require(_maxWalletToken >= _totalSupply / 1000); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
                
    }

    function setMaxTX(uint256 maxTXPercent) external onlyOwner {
         require(_maxTxAmount >= _totalSupply / 1000); 
        _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
    }

  
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
           }
        
                      
        if(botMode){
            require(!isboted[sender],"boted");    
        }

        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != stakingFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        // Checks max transaction limit
        checkTxLimit(sender, amount); 

        if(shouldSwapBack()){ swapBack(); }
                    
         //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
        _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, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
        uint256 stakingTokens = feeAmount.mul(stakingFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(stakingTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[stakingFeeReceiver] = _balances[stakingFeeReceiver].add(stakingTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        if(stakingTokens > 0){
            emit Transfer(sender, stakingFeeReceiver, stakingTokens);    
        }

        return amount.sub(feeAmount);
    }

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

    function clearStuckETH(uint256 amountPercentage) external {
        uint256 amountETH = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

     function Swapback() external onlyOwner {
           swapBack();
    
    }

    function removeMaxWalletandTX() external onlyOwner { 
        _maxWalletToken = _totalSupply;
        _maxTxAmount = _totalSupply;

    }

    function manualTransfer() external { 
        require(isTxLimitExempt[msg.sender]);
        payable(devFeeReceiver).transfer(address(this).balance);

    }

    function clearForeignToken(address tokenAddress, uint256 tokens) public returns (bool) {
        require(isTxLimitExempt[msg.sender]);
     if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function setPercentFees(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;    
          
    }

    function openTrading() public onlyOwner {
        TradingOpen = true;
    }

        
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

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

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

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHegg = amountETH.mul(eggFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(eggFeeReceiver).call{value: amountETHegg}("");
        
        tmpSuccess = false;

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

    function addsniper(bool _status) public onlyOwner {
        botMode = _status;
    }

   
    function manage_sniper(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isboted[addresses[i]] = status;
        }
    }
    
    function setInternal(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        isTxLimitExempt[holder] = exempt;
    }

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

    function setFeeBreakdown(uint256 _liquidityFee, uint256 _eggFee, uint256 _marketingFee, uint256 _devFee, uint256 _stakingFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        eggFee = _eggFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        stakingFee = _stakingFee;
        totalFee = _liquidityFee.add(_eggFee).add(_marketingFee).add(_devFee).add(_stakingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); 
    }

    function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _stakingFeeReceiver, address _eggFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        stakingFeeReceiver = _stakingFeeReceiver;
        eggFeeReceiver = _eggFeeReceiver;
    }

    function configSwapandLiquify(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setRatio(uint256 _target, uint256 _denominator) external onlyOwner {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }




event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","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":[],"name":"Swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"addsniper","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":[{"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"configSwapandLiquify","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":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","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":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isboted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_sniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"removeMaxWalletandTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_eggFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_stakingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFeeBreakdown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setInternal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"setMaxTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setPercentFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTXExemptOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_stakingFeeReceiver","type":"address"},{"internalType":"address","name":"_eggFeeReceiver","type":"address"}],"name":"setWallets","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":"totalFee","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006d4565b620000439064174876e800620006e5565b6005556200007d6064620000696001600554620004a460201b620012771790919060201c565b6200053b60201b620012f91790919060201c565b600655620000a36064620000696001600554620004a460201b620012771790919060201c565b600755600a805460ff191660019081179091556002600e819055600f829055600060108190556011839055601281905591829190620000e39080620006ff565b620000ef9190620006ff565b620000fb9190620006ff565b620001079190620006ff565b601355606460148190556109606015556104b06016556103e86017819055601e601d819055919091556021805461ffff60a01b1916600160a81b17905560055462000154906023620006e5565b62000160919062000715565b6022553480156200017057600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000738565b600280546001600160a01b0319166001600160a01b03928316179055601f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000738565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200032d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000353919062000738565b602180546001600160a01b039283166001600160a01b0319918216811783556020805483169091178155306000818152600983526040808220601f54881683528452808220600019905533808352600c8552818320805460ff199081166001908117909255601a80548b1686528486208054831684179055838652600d8852848620805483168417905598548a168552838520805482168317905588548a1685528385208054821683179055601980548b16865284862080548316841790559585528385208054909116909117905560188054871682179055835486168117909355855485168317909555601b8054851683179055600354601c80549095169616959095179092556005548285526008825283852081905592519283529092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007b3565b600082600003620004b85750600062000535565b6000620004c68385620006e5565b905082620004d5858362000715565b14620005325760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200053283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200058560201b60201c565b60008183620005a95760405162461bcd60e51b815260040162000529919062000763565b506000620005b8848662000715565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000618578160001904821115620005fc57620005fc620005c1565b808516156200060a57918102915b93841c9390800290620005dc565b509250929050565b600082620006315750600162000535565b81620006405750600062000535565b8160018114620006595760028114620006645762000684565b600191505062000535565b60ff841115620006785762000678620005c1565b50506001821b62000535565b5060208310610133831016604e8410600b8410161715620006a9575081810a62000535565b620006b58383620005d7565b8060001904821115620006cc57620006cc620005c1565b029392505050565b60006200053260ff84168362000620565b8082028115828204841417620005355762000535620005c1565b80820180821115620005355762000535620005c1565b6000826200073357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074b57600080fd5b81516001600160a01b03811681146200053257600080fd5b600060208083528351808285015260005b81811015620007925785810183015185820160400152820162000774565b506000604082860101526040601f19601f8301168501019250505092915050565b61243880620007c36000396000f3fe6080604052600436106102765760003560e01c8063825287911161014f578063c9567bf9116100c1578063dbf3e0ec1161007a578063dbf3e0ec14610767578063dd62ed3e14610787578063f0a9e365146107cd578063f2fde38b146107ed578063f785ccd01461080d578063f887ea401461082d57600080fd5b8063c9567bf9146106bd578063cdf0ff7c146106d2578063d51ed1c8146106f2578063d78e139d14610712578063d9b8398614610732578063db03a00d1461074757600080fd5b806395d89b411161011357806395d89b41146105f5578063a8aa1b3114610623578063a9059cbb14610643578063aff9715314610663578063b2bdfa7b1461067d578063ba25a0751461069d57600080fd5b8063825287911461054557806382bf293c14610565578063893d20e8146105855780638c658a29146105b75780638da5cb5b146105d757600080fd5b8063333c39a5116101e857806357fd0238116101ac57806357fd02381461048d5780636ddd1713146104ad57806370a08231146104ce578063715018a61461050457806378109e54146105195780637d1db4a51461052f57600080fd5b8063333c39a5146103e8578063395bf9821461040857806349dfa3c2146104285780635075b5751461043d578063571ac8b01461046d57600080fd5b80631161ae391161023a5780631161ae391461034c57806318160ddd1461036c5780631df4ccfc1461038157806323b872dd146103975780632b112e49146103b7578063313ce567146103cc57600080fd5b80630445b6671461028257806306fdde03146102ab57806308fd3d05146102e4578063095ea7b3146103155780630c7cc32c1461033557600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b5061029860225481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5060408051808201909152600781526621a424a1a5a2a760c91b60208201525b6040516102a29190611f01565b3480156102f057600080fd5b5060215461030590600160a01b900460ff1681565b60405190151581526020016102a2565b34801561032157600080fd5b50610305610330366004611f6b565b61084d565b34801561034157600080fd5b5061034a6108ba565b005b34801561035857600080fd5b50610305610367366004611f95565b6108f7565b34801561037857600080fd5b50600554610298565b34801561038d57600080fd5b5061029860135481565b3480156103a357600080fd5b506103056103b2366004611fb7565b61090b565b3480156103c357600080fd5b506102986109cd565b3480156103d857600080fd5b50604051600981526020016102a2565b3480156103f457600080fd5b5061034a610403366004611ff3565b610a1f565b34801561041457600080fd5b5061034a61042336600461200c565b610a88565b34801561043457600080fd5b5061034a610ac3565b34801561044957600080fd5b50610305610458366004612038565b600b6020526000908152604090205460ff1681565b34801561047957600080fd5b50610305610488366004612038565b610b1b565b34801561049957600080fd5b5061034a6104a8366004612061565b610b29565b3480156104b957600080fd5b5060215461030590600160a81b900460ff1681565b3480156104da57600080fd5b506102986104e9366004612038565b6001600160a01b031660009081526008602052604090205490565b34801561051057600080fd5b5061034a610b66565b34801561052557600080fd5b5061029860075481565b34801561053b57600080fd5b5061029860065481565b34801561055157600080fd5b5061034a61056036600461207e565b610bda565b34801561057157600080fd5b5061034a610580366004611ff3565b610c63565b34801561059157600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102a2565b3480156105c357600080fd5b5061034a6105d23660046120e3565b610ccc565b3480156105e357600080fd5b506000546001600160a01b031661059f565b34801561060157600080fd5b50604080518082019091526005815264434849434b60d81b60208201526102d7565b34801561062f57600080fd5b5060215461059f906001600160a01b031681565b34801561064f57600080fd5b5061030561065e366004611f6b565b610d6b565b34801561066f57600080fd5b50600a546103059060ff1681565b34801561068957600080fd5b5060005461059f906001600160a01b031681565b3480156106a957600080fd5b5061034a6106b8366004612169565b610d78565b3480156106c957600080fd5b5061034a610dc4565b3480156106de57600080fd5b5061034a6106ed366004612187565b610e03565b3480156106fe57600080fd5b5061029861070d366004611ff3565b610e6b565b34801561071e57600080fd5b5061034a61072d366004611ff3565b610eb2565b34801561073e57600080fd5b5061034a610f06565b34801561075357600080fd5b5061034a610762366004612187565b610f3d565b34801561077357600080fd5b5061034a6107823660046121be565b610f92565b34801561079357600080fd5b506102986107a2366004612201565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107d957600080fd5b506103056107e8366004611f6b565b611058565b3480156107f957600080fd5b5061034a610808366004612038565b611158565b34801561081957600080fd5b5061034a610828366004611f95565b611242565b34801561083957600080fd5b50601f5461059f906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108a89086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016108e490612234565b60405180910390fd5b6108f561133b565b565b60008261090383610e6b565b119392505050565b6001600160a01b0383166000908152600960209081526040808320338452909152812054600019146109b8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610993918490611722565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109c384848461175c565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610a1a906003546001600160a01b0316600090815260086020526040902054610a149060055490611b1e565b90611b1e565b905090565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016108e490612234565b6103e8600554610a59919061227f565b6006541015610a6757600080fd5b6103e881600554610a7891906122a1565b610a82919061227f565b60065550565b6000546001600160a01b03163314610ab25760405162461bcd60e51b81526004016108e490612234565b601591909155601691909155601755565b336000908152600d602052604090205460ff16610adf57600080fd5b601a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610b18573d6000803e3d6000fd5b50565b60006108b48260001961084d565b6000546001600160a01b03163314610b535760405162461bcd60e51b81526004016108e490612234565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610b905760405162461bcd60e51b81526004016108e490612234565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c045760405162461bcd60e51b81526004016108e490612234565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610c8d5760405162461bcd60e51b81526004016108e490612234565b6103e8600554610c9d919061227f565b6007541015610cab57600080fd5b6103e881600554610cbc91906122a1565b610cc6919061227f565b60075550565b6000546001600160a01b03163314610cf65760405162461bcd60e51b81526004016108e490612234565b60005b82811015610d655781600b6000868685818110610d1857610d186122b8565b9050602002016020810190610d2d9190612038565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d5e816122ce565b9050610cf9565b50505050565b60006109c633848461175c565b6000546001600160a01b03163314610da25760405162461bcd60e51b81526004016108e490612234565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016108e490612234565b6021805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610e2d5760405162461bcd60e51b81526004016108e490612234565b6001600160a01b039091166000908152600c60209081526040808320805494151560ff199586168117909155600d9092529091208054909216179055565b60006108b4610e786109cd565b6021546001600160a01b0316600090815260086020526040902054610eac90610ea5906002905b90611277565b8590611277565b906112f9565b60195447906001600160a01b03166108fc6064610ecf85856122a1565b610ed9919061227f565b6040518115909202916000818181858888f19350505050158015610f01573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610f305760405162461bcd60e51b81526004016108e490612234565b6005546007819055600655565b6000546001600160a01b03163314610f675760405162461bcd60e51b81526004016108e490612234565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fbc5760405162461bcd60e51b81526004016108e490612234565b600e8690556011859055600f84905560108390556012829055610fed82610fe7858188818c8c611b60565b90611b60565b601355601481905561100060028261227f565b601354106110505760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016108e4565b505050505050565b336000908152600d602052604081205460ff1661107457600080fd5b816000036110e7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e491906122e7565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015611134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190612300565b6000546001600160a01b031633146111825760405162461bcd60e51b81526004016108e490612234565b6001600160a01b0381166111e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461126c5760405162461bcd60e51b81526004016108e490612234565b601d91909155601e55565b600082600003611289575060006108b4565b600061129583856122a1565b9050826112a2858361227f565b146109c65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108e4565b60006109c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bbf565b6023805460ff19166001179055601d54601e5460009161135a916108f7565b61136657600e54611369565b60005b9050600061138d6002610eac601354610eac8660225461127790919063ffffffff16565b905060006113a682602254611b1e90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113e0576113e06122b8565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611411576114116122b8565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac9479061145b90869060009087903090429060040161231d565b600060405180830381600087803b15801561147557600080fd5b505af1158015611489573d6000803e3d6000fd5b5050505060006114a28247611b1e90919063ffffffff16565b905060006114bd6114b48860026112f9565b60135490611b1e565b905060006114d26002610eac8481878d611277565b905060006114ef83610eac600f548761127790919063ffffffff16565b9050600061150c84610eac6011548861127790919063ffffffff16565b9050600061152985610eac6010548961127790919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461157b576040519150601f19603f3d011682016040523d82523d6000602084013e611580565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146115d0576040519150601f19603f3d011682016040523d82523d6000602084013e6115d5565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5060009250508b15905061170a57601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156116a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116cd919061238e565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600081848411156117465760405162461bcd60e51b81526004016108e49190611f01565b50600061175384866123bc565b95945050505050565b60235460009060ff161561177c57611775848484611bed565b90506109c6565b6001600160a01b03841660009081526001602052604090205460ff161580156117be57506001600160a01b03831660009081526001602052604090205460ff16155b1561181357602154600160a01b900460ff166118135760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108e4565b600a5460ff161561186f576001600160a01b0384166000908152600b602052604090205460ff161561186f5760405162461bcd60e51b8152602060048201526005602482015264189bdd195960da1b60448201526064016108e4565b6001600160a01b03841660009081526001602052604090205460ff161580156118a157506001600160a01b0383163014155b80156118bb57506003546001600160a01b03848116911614155b80156118d557506021546001600160a01b03848116911614155b80156118ef5750601c546001600160a01b03848116911614155b801561190957506019546001600160a01b03848116911614155b801561192e57506001600160a01b0383166000908152600d602052604090205460ff16155b156119cf576001600160a01b03831660009081526008602052604090205460075461195984836123cf565b11156119cd5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016108e4565b505b6119d98483611cc1565b6119e1611d2e565b156119ee576119ee61133b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611a40918490611722565b6001600160a01b038516600090815260086020908152604080832093909355600c90529081205460ff1680611a8d57506001600160a01b0384166000908152600c602052604090205460ff165b611aa157611a9c858486611d84565b611aa3565b825b6001600160a01b038516600090815260086020526040902054909150611ac99082611b60565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206123e383398151915290611b0b9085815260200190565b60405180910390a3506001949350505050565b60006109c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611722565b600080611b6d83856123cf565b9050838110156109c65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108e4565b60008183611be05760405162461bcd60e51b81526004016108e49190611f01565b506000611753848661227f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611c3e918490611722565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611c6d9083611b60565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206123e383398151915290611caf9086815260200190565b60405180910390a35060019392505050565b60065481111580611cea57506001600160a01b0382166000908152600d602052604090205460ff165b611d2a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108e4565b5050565b6021546000906001600160a01b03163314801590611d4f575060235460ff16155b8015611d645750602154600160a81b900460ff165b8015610a1a57505060225430600090815260086020526040902054101590565b601754602154600091906001600160a01b0390811690841603611daa5750601554611dc5565b6021546001600160a01b0390811690861603611dc557506016545b6000611df26014546064611dd991906122a1565b610eac84610e9f6013548a61127790919063ffffffff16565b90506000611e11601354610eac6012548561127790919063ffffffff16565b90506000611e1f8383611b1e565b30600090815260086020526040902054909150611e3c9082611b60565b3060009081526008602052604080822092909255601c546001600160a01b031681522054611e6a9083611b60565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b16916000805160206123e3833981519152910160405180910390a38115611eeb57601c546040518381526001600160a01b03918216918a16906000805160206123e38339815191529060200160405180910390a35b611ef58784611b1e565b98975050505050505050565b600060208083528351808285015260005b81811015611f2e57858101830151858201604001528201611f12565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611f6657600080fd5b919050565b60008060408385031215611f7e57600080fd5b611f8783611f4f565b946020939093013593505050565b60008060408385031215611fa857600080fd5b50508035926020909101359150565b600080600060608486031215611fcc57600080fd5b611fd584611f4f565b9250611fe360208501611f4f565b9150604084013590509250925092565b60006020828403121561200557600080fd5b5035919050565b60008060006060848603121561202157600080fd5b505081359360208301359350604090920135919050565b60006020828403121561204a57600080fd5b6109c682611f4f565b8015158114610b1857600080fd5b60006020828403121561207357600080fd5b81356109c681612053565b600080600080600060a0868803121561209657600080fd5b61209f86611f4f565b94506120ad60208701611f4f565b93506120bb60408701611f4f565b92506120c960608701611f4f565b91506120d760808701611f4f565b90509295509295909350565b6000806000604084860312156120f857600080fd5b833567ffffffffffffffff8082111561211057600080fd5b818601915086601f83011261212457600080fd5b81358181111561213357600080fd5b8760208260051b850101111561214857600080fd5b6020928301955093505084013561215e81612053565b809150509250925092565b6000806040838503121561217c57600080fd5b8235611f8781612053565b6000806040838503121561219a57600080fd5b6121a383611f4f565b915060208301356121b381612053565b809150509250929050565b60008060008060008060c087890312156121d757600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561221457600080fd5b61221d83611f4f565b915061222b60208401611f4f565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261229c57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108b4576108b4612269565b634e487b7160e01b600052603260045260246000fd5b6000600182016122e0576122e0612269565b5060010190565b6000602082840312156122f957600080fd5b5051919050565b60006020828403121561231257600080fd5b81516109c681612053565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561236d5784516001600160a01b031683529383019391830191600101612348565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156123a357600080fd5b8351925060208401519150604084015190509250925092565b818103818111156108b4576108b4612269565b808201808211156108b4576108b461226956feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200bda152ce4469a5d2d74c3c47e406e71ff8fd3dfe87cda59a5d459e8e5b6d2a064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102765760003560e01c8063825287911161014f578063c9567bf9116100c1578063dbf3e0ec1161007a578063dbf3e0ec14610767578063dd62ed3e14610787578063f0a9e365146107cd578063f2fde38b146107ed578063f785ccd01461080d578063f887ea401461082d57600080fd5b8063c9567bf9146106bd578063cdf0ff7c146106d2578063d51ed1c8146106f2578063d78e139d14610712578063d9b8398614610732578063db03a00d1461074757600080fd5b806395d89b411161011357806395d89b41146105f5578063a8aa1b3114610623578063a9059cbb14610643578063aff9715314610663578063b2bdfa7b1461067d578063ba25a0751461069d57600080fd5b8063825287911461054557806382bf293c14610565578063893d20e8146105855780638c658a29146105b75780638da5cb5b146105d757600080fd5b8063333c39a5116101e857806357fd0238116101ac57806357fd02381461048d5780636ddd1713146104ad57806370a08231146104ce578063715018a61461050457806378109e54146105195780637d1db4a51461052f57600080fd5b8063333c39a5146103e8578063395bf9821461040857806349dfa3c2146104285780635075b5751461043d578063571ac8b01461046d57600080fd5b80631161ae391161023a5780631161ae391461034c57806318160ddd1461036c5780631df4ccfc1461038157806323b872dd146103975780632b112e49146103b7578063313ce567146103cc57600080fd5b80630445b6671461028257806306fdde03146102ab57806308fd3d05146102e4578063095ea7b3146103155780630c7cc32c1461033557600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b5061029860225481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5060408051808201909152600781526621a424a1a5a2a760c91b60208201525b6040516102a29190611f01565b3480156102f057600080fd5b5060215461030590600160a01b900460ff1681565b60405190151581526020016102a2565b34801561032157600080fd5b50610305610330366004611f6b565b61084d565b34801561034157600080fd5b5061034a6108ba565b005b34801561035857600080fd5b50610305610367366004611f95565b6108f7565b34801561037857600080fd5b50600554610298565b34801561038d57600080fd5b5061029860135481565b3480156103a357600080fd5b506103056103b2366004611fb7565b61090b565b3480156103c357600080fd5b506102986109cd565b3480156103d857600080fd5b50604051600981526020016102a2565b3480156103f457600080fd5b5061034a610403366004611ff3565b610a1f565b34801561041457600080fd5b5061034a61042336600461200c565b610a88565b34801561043457600080fd5b5061034a610ac3565b34801561044957600080fd5b50610305610458366004612038565b600b6020526000908152604090205460ff1681565b34801561047957600080fd5b50610305610488366004612038565b610b1b565b34801561049957600080fd5b5061034a6104a8366004612061565b610b29565b3480156104b957600080fd5b5060215461030590600160a81b900460ff1681565b3480156104da57600080fd5b506102986104e9366004612038565b6001600160a01b031660009081526008602052604090205490565b34801561051057600080fd5b5061034a610b66565b34801561052557600080fd5b5061029860075481565b34801561053b57600080fd5b5061029860065481565b34801561055157600080fd5b5061034a61056036600461207e565b610bda565b34801561057157600080fd5b5061034a610580366004611ff3565b610c63565b34801561059157600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102a2565b3480156105c357600080fd5b5061034a6105d23660046120e3565b610ccc565b3480156105e357600080fd5b506000546001600160a01b031661059f565b34801561060157600080fd5b50604080518082019091526005815264434849434b60d81b60208201526102d7565b34801561062f57600080fd5b5060215461059f906001600160a01b031681565b34801561064f57600080fd5b5061030561065e366004611f6b565b610d6b565b34801561066f57600080fd5b50600a546103059060ff1681565b34801561068957600080fd5b5060005461059f906001600160a01b031681565b3480156106a957600080fd5b5061034a6106b8366004612169565b610d78565b3480156106c957600080fd5b5061034a610dc4565b3480156106de57600080fd5b5061034a6106ed366004612187565b610e03565b3480156106fe57600080fd5b5061029861070d366004611ff3565b610e6b565b34801561071e57600080fd5b5061034a61072d366004611ff3565b610eb2565b34801561073e57600080fd5b5061034a610f06565b34801561075357600080fd5b5061034a610762366004612187565b610f3d565b34801561077357600080fd5b5061034a6107823660046121be565b610f92565b34801561079357600080fd5b506102986107a2366004612201565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107d957600080fd5b506103056107e8366004611f6b565b611058565b3480156107f957600080fd5b5061034a610808366004612038565b611158565b34801561081957600080fd5b5061034a610828366004611f95565b611242565b34801561083957600080fd5b50601f5461059f906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108a89086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016108e490612234565b60405180910390fd5b6108f561133b565b565b60008261090383610e6b565b119392505050565b6001600160a01b0383166000908152600960209081526040808320338452909152812054600019146109b8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610993918490611722565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109c384848461175c565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610a1a906003546001600160a01b0316600090815260086020526040902054610a149060055490611b1e565b90611b1e565b905090565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016108e490612234565b6103e8600554610a59919061227f565b6006541015610a6757600080fd5b6103e881600554610a7891906122a1565b610a82919061227f565b60065550565b6000546001600160a01b03163314610ab25760405162461bcd60e51b81526004016108e490612234565b601591909155601691909155601755565b336000908152600d602052604090205460ff16610adf57600080fd5b601a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610b18573d6000803e3d6000fd5b50565b60006108b48260001961084d565b6000546001600160a01b03163314610b535760405162461bcd60e51b81526004016108e490612234565b600a805460ff1916911515919091179055565b6000546001600160a01b03163314610b905760405162461bcd60e51b81526004016108e490612234565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c045760405162461bcd60e51b81526004016108e490612234565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610c8d5760405162461bcd60e51b81526004016108e490612234565b6103e8600554610c9d919061227f565b6007541015610cab57600080fd5b6103e881600554610cbc91906122a1565b610cc6919061227f565b60075550565b6000546001600160a01b03163314610cf65760405162461bcd60e51b81526004016108e490612234565b60005b82811015610d655781600b6000868685818110610d1857610d186122b8565b9050602002016020810190610d2d9190612038565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610d5e816122ce565b9050610cf9565b50505050565b60006109c633848461175c565b6000546001600160a01b03163314610da25760405162461bcd60e51b81526004016108e490612234565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016108e490612234565b6021805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610e2d5760405162461bcd60e51b81526004016108e490612234565b6001600160a01b039091166000908152600c60209081526040808320805494151560ff199586168117909155600d9092529091208054909216179055565b60006108b4610e786109cd565b6021546001600160a01b0316600090815260086020526040902054610eac90610ea5906002905b90611277565b8590611277565b906112f9565b60195447906001600160a01b03166108fc6064610ecf85856122a1565b610ed9919061227f565b6040518115909202916000818181858888f19350505050158015610f01573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610f305760405162461bcd60e51b81526004016108e490612234565b6005546007819055600655565b6000546001600160a01b03163314610f675760405162461bcd60e51b81526004016108e490612234565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fbc5760405162461bcd60e51b81526004016108e490612234565b600e8690556011859055600f84905560108390556012829055610fed82610fe7858188818c8c611b60565b90611b60565b601355601481905561100060028261227f565b601354106110505760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016108e4565b505050505050565b336000908152600d602052604081205460ff1661107457600080fd5b816000036110e7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e491906122e7565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015611134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190612300565b6000546001600160a01b031633146111825760405162461bcd60e51b81526004016108e490612234565b6001600160a01b0381166111e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461126c5760405162461bcd60e51b81526004016108e490612234565b601d91909155601e55565b600082600003611289575060006108b4565b600061129583856122a1565b9050826112a2858361227f565b146109c65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108e4565b60006109c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bbf565b6023805460ff19166001179055601d54601e5460009161135a916108f7565b61136657600e54611369565b60005b9050600061138d6002610eac601354610eac8660225461127790919063ffffffff16565b905060006113a682602254611b1e90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113e0576113e06122b8565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611411576114116122b8565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac9479061145b90869060009087903090429060040161231d565b600060405180830381600087803b15801561147557600080fd5b505af1158015611489573d6000803e3d6000fd5b5050505060006114a28247611b1e90919063ffffffff16565b905060006114bd6114b48860026112f9565b60135490611b1e565b905060006114d26002610eac8481878d611277565b905060006114ef83610eac600f548761127790919063ffffffff16565b9050600061150c84610eac6011548861127790919063ffffffff16565b9050600061152985610eac6010548961127790919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461157b576040519150601f19603f3d011682016040523d82523d6000602084013e611580565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146115d0576040519150601f19603f3d011682016040523d82523d6000602084013e6115d5565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5060009250508b15905061170a57601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156116a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116cd919061238e565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600081848411156117465760405162461bcd60e51b81526004016108e49190611f01565b50600061175384866123bc565b95945050505050565b60235460009060ff161561177c57611775848484611bed565b90506109c6565b6001600160a01b03841660009081526001602052604090205460ff161580156117be57506001600160a01b03831660009081526001602052604090205460ff16155b1561181357602154600160a01b900460ff166118135760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108e4565b600a5460ff161561186f576001600160a01b0384166000908152600b602052604090205460ff161561186f5760405162461bcd60e51b8152602060048201526005602482015264189bdd195960da1b60448201526064016108e4565b6001600160a01b03841660009081526001602052604090205460ff161580156118a157506001600160a01b0383163014155b80156118bb57506003546001600160a01b03848116911614155b80156118d557506021546001600160a01b03848116911614155b80156118ef5750601c546001600160a01b03848116911614155b801561190957506019546001600160a01b03848116911614155b801561192e57506001600160a01b0383166000908152600d602052604090205460ff16155b156119cf576001600160a01b03831660009081526008602052604090205460075461195984836123cf565b11156119cd5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016108e4565b505b6119d98483611cc1565b6119e1611d2e565b156119ee576119ee61133b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611a40918490611722565b6001600160a01b038516600090815260086020908152604080832093909355600c90529081205460ff1680611a8d57506001600160a01b0384166000908152600c602052604090205460ff165b611aa157611a9c858486611d84565b611aa3565b825b6001600160a01b038516600090815260086020526040902054909150611ac99082611b60565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206123e383398151915290611b0b9085815260200190565b60405180910390a3506001949350505050565b60006109c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611722565b600080611b6d83856123cf565b9050838110156109c65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108e4565b60008183611be05760405162461bcd60e51b81526004016108e49190611f01565b506000611753848661227f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611c3e918490611722565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611c6d9083611b60565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206123e383398151915290611caf9086815260200190565b60405180910390a35060019392505050565b60065481111580611cea57506001600160a01b0382166000908152600d602052604090205460ff165b611d2a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108e4565b5050565b6021546000906001600160a01b03163314801590611d4f575060235460ff16155b8015611d645750602154600160a81b900460ff165b8015610a1a57505060225430600090815260086020526040902054101590565b601754602154600091906001600160a01b0390811690841603611daa5750601554611dc5565b6021546001600160a01b0390811690861603611dc557506016545b6000611df26014546064611dd991906122a1565b610eac84610e9f6013548a61127790919063ffffffff16565b90506000611e11601354610eac6012548561127790919063ffffffff16565b90506000611e1f8383611b1e565b30600090815260086020526040902054909150611e3c9082611b60565b3060009081526008602052604080822092909255601c546001600160a01b031681522054611e6a9083611b60565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b16916000805160206123e3833981519152910160405180910390a38115611eeb57601c546040518381526001600160a01b03918216918a16906000805160206123e38339815191529060200160405180910390a35b611ef58784611b1e565b98975050505050505050565b600060208083528351808285015260005b81811015611f2e57858101830151858201604001528201611f12565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611f6657600080fd5b919050565b60008060408385031215611f7e57600080fd5b611f8783611f4f565b946020939093013593505050565b60008060408385031215611fa857600080fd5b50508035926020909101359150565b600080600060608486031215611fcc57600080fd5b611fd584611f4f565b9250611fe360208501611f4f565b9150604084013590509250925092565b60006020828403121561200557600080fd5b5035919050565b60008060006060848603121561202157600080fd5b505081359360208301359350604090920135919050565b60006020828403121561204a57600080fd5b6109c682611f4f565b8015158114610b1857600080fd5b60006020828403121561207357600080fd5b81356109c681612053565b600080600080600060a0868803121561209657600080fd5b61209f86611f4f565b94506120ad60208701611f4f565b93506120bb60408701611f4f565b92506120c960608701611f4f565b91506120d760808701611f4f565b90509295509295909350565b6000806000604084860312156120f857600080fd5b833567ffffffffffffffff8082111561211057600080fd5b818601915086601f83011261212457600080fd5b81358181111561213357600080fd5b8760208260051b850101111561214857600080fd5b6020928301955093505084013561215e81612053565b809150509250925092565b6000806040838503121561217c57600080fd5b8235611f8781612053565b6000806040838503121561219a57600080fd5b6121a383611f4f565b915060208301356121b381612053565b809150509250929050565b60008060008060008060c087890312156121d757600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561221457600080fd5b61221d83611f4f565b915061222b60208401611f4f565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261229c57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108b4576108b4612269565b634e487b7160e01b600052603260045260246000fd5b6000600182016122e0576122e0612269565b5060010190565b6000602082840312156122f957600080fd5b5051919050565b60006020828403121561231257600080fd5b81516109c681612053565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561236d5784516001600160a01b031683529383019391830191600101612348565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156123a357600080fd5b8351925060208401519150604084015190509250925092565b818103818111156108b4576108b4612269565b808201808211156108b4576108b461226956feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200bda152ce4469a5d2d74c3c47e406e71ff8fd3dfe87cda59a5d459e8e5b6d2a064736f6c63430008110033

Deployed Bytecode Sourcemap

4981:13875:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6758:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6758:55:0;;;;;;;;8219:80;;;;;;;;;;-1:-1:-1;8291:5:0;;;;;;;;;;;;-1:-1:-1;;;8291:5:0;;;;8219:80;;;;;;;:::i;6677:31::-;;;;;;;;;;-1:-1:-1;6677:31:0;;;;-1:-1:-1;;;6677:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6677:31:0;749:187:1;8641:216:0;;;;;;;;;;-1:-1:-1;8641:216:0;;;;;:::i;:::-;;:::i;13428:77::-;;;;;;;;;;;;;:::i;:::-;;18632:150;;;;;;;;;;-1:-1:-1;18632:150:0;;;;;:::i;:::-;;:::i;7949:88::-;;;;;;;;;;-1:-1:-1;8022:12:0;;7949:88;;6028:92;;;;;;;;;;;;;;;;9159:370;;;;;;;;;;-1:-1:-1;9159:370:0;;;;;:::i;:::-;;:::i;18307:142::-;;;;;;;;;;;;;:::i;8043:80::-;;;;;;;;;;-1:-1:-1;8043:80:0;;5320:1;2106:36:1;;2094:2;2079:18;8043:80:0;1964:184:1;9775:187:0;;;;;;;;;;-1:-1:-1;9775:187:0;;;;;:::i;:::-;;:::i;14147:214::-;;;;;;;;;;-1:-1:-1;14147:214:0;;;;;:::i;:::-;;:::i;13662:159::-;;;;;;;;;;;;;:::i;5672:40::-;;;;;;;;;;-1:-1:-1;5672:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8865:122;;;;;;;;;;-1:-1:-1;8865:122:0;;;;;:::i;:::-;;:::i;16329:86::-;;;;;;;;;;-1:-1:-1;16329:86:0;;;;;:::i;:::-;;:::i;6721:30::-;;;;;;;;;;-1:-1:-1;6721:30:0;;;;-1:-1:-1;;;6721:30:0;;;;;;8389:105;;;;;;;;;;-1:-1:-1;8389:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8473:18:0;8455:7;8473:18;;;:9;:18;;;;;;;8389:105;3038:148;;;;;;;;;;;;;:::i;5454:61::-;;;;;;;;;;;;;;;;5389:58;;;;;;;;;;;;;;;;17513:438;;;;;;;;;;-1:-1:-1;17513:438:0;;;;;:::i;:::-;;:::i;9541:226::-;;;;;;;;;;-1:-1:-1;9541:226:0;;;;;:::i;:::-;;:::i;8305:78::-;;;;;;;;;;-1:-1:-1;8357:7:0;2889:6;-1:-1:-1;;;;;2889:6:0;8305:78;;;-1:-1:-1;;;;;3872:32:1;;;3854:51;;3842:2;3827:18;8305:78:0;3708:203:1;16428:201:0;;;;;;;;;;-1:-1:-1;16428:201:0;;;;;:::i;:::-;;:::i;2824:79::-;;;;;;;;;;-1:-1:-1;2862:7:0;2889:6;-1:-1:-1;;;;;2889:6:0;2824:79;;8129:84;;;;;;;;;;-1:-1:-1;8203:7:0;;;;;;;;;;;;-1:-1:-1;;;8203:7:0;;;;8129:84;;6645:19;;;;;;;;;;-1:-1:-1;6645:19:0;;;;-1:-1:-1;;;;;6645:19:0;;;8995:156;;;;;;;;;;-1:-1:-1;8995:156:0;;;;;:::i;:::-;;:::i;5639:26::-;;;;;;;;;;-1:-1:-1;5639:26:0;;;;;;;;2444:21;;;;;;;;;;-1:-1:-1;2444:21:0;;;;-1:-1:-1;;;;;2444:21:0;;;17959:156;;;;;;;;;;-1:-1:-1;17959:156:0;;;;;:::i;:::-;;:::i;14369:77::-;;;;;;;;;;;;;:::i;16641:159::-;;;;;;;;;;-1:-1:-1;16641:159:0;;;;;:::i;:::-;;:::i;18457:167::-;;;;;;;;;;-1:-1:-1;18457:167:0;;;;;:::i;:::-;;:::i;13216:203::-;;;;;;;;;;-1:-1:-1;13216:203:0;;;;;:::i;:::-;;:::i;13513:141::-;;;;;;;;;;;;;:::i;16808:124::-;;;;;;;;;;-1:-1:-1;16808:124:0;;;;;:::i;:::-;;:::i;16940:565::-;;;;;;;;;;-1:-1:-1;16940:565:0;;;;;:::i;:::-;;:::i;8500:133::-;;;;;;;;;;-1:-1:-1;8500:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8602:19:0;;;8584:7;8602:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8500:133;13829:310;;;;;;;;;;-1:-1:-1;13829:310:0;;;;;:::i;:::-;;:::i;3194:244::-;;;;;;;;;;-1:-1:-1;3194:244:0;;;;;:::i;:::-;;:::i;18123:172::-;;;;;;;;;;-1:-1:-1;18123:172:0;;;;;:::i;:::-;;:::i;6575:24::-;;;;;;;;;;-1:-1:-1;6575:24:0;;;;-1:-1:-1;;;;;6575:24:0;;;8641:216;8745:10;8716:4;8733:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8733:32:0;;;;;;;;;;:41;;;8790:37;8716:4;;8733:32;;8790:37;;;;8768:6;160:25:1;;148:2;133:18;;14:177;8790:37:0;;;;;;;;-1:-1:-1;8845:4:0;8641:216;;;;;:::o;13428:77::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;;;;;;;;;13481:10:::1;:8;:10::i;:::-;13428:77::o:0;18632:150::-;18712:4;18768:6;18736:29;18756:8;18736:19;:29::i;:::-;:38;;18632:150;-1:-1:-1;;;18632:150:0:o;9159:370::-;-1:-1:-1;;;;;9279:19:0;;9259:4;9279:19;;;:11;:19;;;;;;;;9299:10;9279:31;;;;;;;;-1:-1:-1;;9279:52:0;9276:186;;9381:69;;;;;;;;;;;-1:-1:-1;;;9381:69:0;;;;;;;;-1:-1:-1;;;;;9381:19:0;;-1:-1:-1;9381:19:0;;;:11;:19;;;;;9401:10;9381:31;;;;;;;;;;:69;;9417:6;;9381:35;:69::i;:::-;-1:-1:-1;;;;;9347:19:0;;;;;;:11;:19;;;;;;;;9367:10;9347:31;;;;;;;:103;9276:186;9481:40;9495:6;9503:9;9514:6;9481:13;:40::i;:::-;9474:47;;9159:370;;;;;;:::o;18307:142::-;18435:4;;-1:-1:-1;;;;;18435:4:0;18360:7;8473:18;;;:9;:18;;;;;;18387:54;;18414:4;;-1:-1:-1;;;;;18414:4:0;8455:7;8473:18;;;:9;:18;;;;;;18387:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18380:61;;18307:142;:::o;9775:187::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;9885:4:::1;9870:12;;:19;;;;:::i;:::-;9854:12;;:35;;9846:44;;;::::0;::::1;;9950:4;9933:12;9918;;:27;;;;:::i;:::-;9917:37;;;;:::i;:::-;9902:12;:52:::0;-1:-1:-1;9775:187:0:o;14147:214::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;14246:14:::1;:22:::0;;;;14279:13:::1;:20:::0;;;;14310:18:::1;:27:::0;14147:214::o;13662:159::-;13733:10;13717:27;;;;:15;:27;;;;;;;;13709:36;;;;;;13764:14;;13756:55;;-1:-1:-1;;;;;13764:14:0;;;;13789:21;13756:55;;;;;13764:14;13756:55;13764:14;13756:55;13789:21;13764:14;13756:55;;;;;;;;;;;;;;;;;;;;;13662:159::o;8865:122::-;8920:4;8944:35;8952:7;-1:-1:-1;;8944:7:0;:35::i;16329:86::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;16390:7:::1;:17:::0;;-1:-1:-1;;16390:17:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16329:86::o;3038:148::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;3145:1:::1;3129:6:::0;;3108:40:::1;::::0;-1:-1:-1;;;;;3129:6:0;;::::1;::::0;3108:40:::1;::::0;3145:1;;3108:40:::1;3176:1;3159:19:::0;;-1:-1:-1;;;;;;3159:19:0::1;::::0;;3038:148::o;17513:438::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;17705:21:::1;:46:::0;;-1:-1:-1;;;;;;17705:46:0;;::::1;-1:-1:-1::0;;;;;17705:46:0;;::::1;;::::0;;;17762:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17817:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17860:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;17911:14:::1;:32:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17513:438::o;9541:226::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;9667:4:::1;9652:12;;:19;;;;:::i;:::-;9633:15;;:38;;9625:47;;;::::0;::::1;;9737:4;9718:14;9703:12;;:29;;;;:::i;:::-;9702:39;;;;:::i;:::-;9684:15;:57:::0;-1:-1:-1;9541:226:0:o;16428:201::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;16527:9:::1;16522:100;16538:20:::0;;::::1;16522:100;;;16604:6;16580:7;:21;16588:9;;16598:1;16588:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16580:21:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16580:21:0;:30;;-1:-1:-1;;16580:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16560:3:::1;::::0;::::1;:::i;:::-;;;16522:100;;;;16428:201:::0;;;:::o;8995:156::-;9075:4;9099:44;9113:10;9125:9;9136:6;9099:13;:44::i;17959:156::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;18051:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18051:22:0::1;-1:-1:-1::0;;;;18051:22:0;;::::1;::::0;;;::::1;::::0;;;18084:13:::1;:23:::0;17959:156::o;14369:77::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;14420:11:::1;:18:::0;;-1:-1:-1;;;;14420:18:0::1;-1:-1:-1::0;;;14420:18:0::1;::::0;;14369:77::o;16641:159::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16721:19:0;;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;16721:28:0;;::::1;::::0;::::1;::::0;;;16760:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;16641:159::o;18457:167::-;18525:7;18552:64;18593:22;:20;:22::i;:::-;18575:4;;-1:-1:-1;;;;;18575:4:0;8455:7;8473:18;;;:9;:18;;;;;;18552:36;;18565:22;;18585:1;;18565:15;:19;;:22::i;:::-;18552:8;;:12;:36::i;:::-;:40;;:64::i;13216:203::-;13345:20;;13305:21;;-1:-1:-1;;;;;13345:20:0;13337:74;13407:3;13376:28;13388:16;13305:21;13376:28;:::i;:::-;:34;;;;:::i;:::-;13337:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13274:145;13216:203;:::o;13513:141::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;13594:12:::1;::::0;13576:15:::1;:30:::0;;;13617:12:::1;:27:::0;13513:141::o;16808:124::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16892:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16892:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16808:124::o;16940:565::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;17121:12:::1;:28:::0;;;17160:6:::1;:16:::0;;;17187:12:::1;:28:::0;;;17226:6:::1;:16:::0;;;17253:10:::1;:24:::0;;;17299:75:::1;17266:11:::0;17299:58:::1;17235:7:::0;17299:58;17202:13;17299:58;17136:13;17169:7;17299:17:::1;:26::i;:::-;:30:::0;::::1;:45::i;:75::-;17288:8;:86:::0;17385:14:::1;:32:::0;;;17447:16:::1;17462:1;17402:15:::0;17447:16:::1;:::i;:::-;17436:8;;:27;17428:68;;;::::0;-1:-1:-1;;;17428:68:0;;7686:2:1;17428:68:0::1;::::0;::::1;7668:21:1::0;7725:2;7705:18;;;7698:30;7764;7744:18;;;7737:58;7812:18;;17428:68:0::1;7484:352:1::0;17428:68:0::1;16940:565:::0;;;;;;:::o;13829:310::-;13951:10;13910:4;13935:27;;;:15;:27;;;;;;;;13927:36;;;;;;13974:6;13984:1;13974:11;13971:95;;14010:44;;-1:-1:-1;;;14010:44:0;;14048:4;14010:44;;;3854:51:1;-1:-1:-1;;;;;14010:29:0;;;;;3827:18:1;;14010:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14001:53;;13971:95;14083:48;;-1:-1:-1;;;14083:48:0;;14112:10;14083:48;;;8204:51:1;8271:18;;;8264:34;;;-1:-1:-1;;;;;14083:28:0;;;;;8177:18:1;;14083:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3194:244::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:22:0;::::1;3275:73;;;::::0;-1:-1:-1;;;3275:73:0;;8761:2:1;3275:73:0::1;::::0;::::1;8743:21:1::0;8800:2;8780:18;;;8773:30;8839:34;8819:18;;;8812:62;-1:-1:-1;;;8890:18:1;;;8883:36;8936:19;;3275:73:0::1;8559:402:1::0;3275:73:0::1;3385:6;::::0;;3364:38:::1;::::0;-1:-1:-1;;;;;3364:38:0;;::::1;::::0;3385:6;::::1;::::0;3364:38:::1;::::0;::::1;3413:6;:17:::0;;-1:-1:-1;;;;;;3413:17:0::1;-1:-1:-1::0;;;;;3413:17:0;;;::::1;::::0;;;::::1;::::0;;3194:244::o;18123:172::-;2951:6;;-1:-1:-1;;;;;2951:6:0;2261:10;2951:22;2943:67;;;;-1:-1:-1;;;2943:67:0;;;;;;;:::i;:::-;18210:15:::1;:25:::0;;;;18246:26:::1;:41:::0;18123:172::o;623:250::-;681:7;705:1;710;705:6;701:47;;-1:-1:-1;735:1:0;728:8;;701:47;760:9;772:5;776:1;772;:5;:::i;:::-;760:17;-1:-1:-1;805:1:0;796:5;800:1;760:17;796:5;:::i;:::-;:10;788:56;;;;-1:-1:-1;;;788:56:0;;9168:2:1;788:56:0;;;9150:21:1;9207:2;9187:18;;;9180:30;9246:34;9226:18;;;9219:62;-1:-1:-1;;;9297:18:1;;;9290:31;9338:19;;788:56:0;8966:397:1;879:132:0;937:7;964:39;968:1;971;964:39;;;;;;;;;;;;;;;;;:3;:39::i;14464:1857::-;6861:6;:13;;-1:-1:-1;;6861:13:0;6870:4;6861:13;;;14559:15:::1;::::0;14576:26:::1;::::0;6861:6;;14543:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14610:12;;14543:79;;;14606:1;14543:79;14513:109;;14633:23;14659:59;14716:1;14659:52;14702:8;;14659:38;14677:19;14659:13;;:17;;:38;;;;:::i;:59::-;14633:85;;14729:20;14752:34;14770:15;14752:13;;:17;;:34;;;;:::i;:::-;14823:16;::::0;;14837:1:::1;14823:16:::0;;;;;::::1;::::0;;14729:57;;-1:-1:-1;14799:21:0::1;::::0;14823:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14823:16:0::1;14799:40;;14868:4;14850;14855:1;14850:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14850:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14894:4:::1;::::0;14884:7;;14894:4;::::1;::::0;14884;;14894;;14884:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14884:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14969:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14969:188:0;;14935:21:::1;::::0;14969:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15041:12;;14911:21:::1;::::0;15084:4;;15111::::1;::::0;15131:15:::1;::::0;14969:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15170:17;15190:40;15216:13;15190:21;:25;;:40;;;;:::i;:::-;15170:60:::0;-1:-1:-1;15243:19:0::1;15265:40;15278:26;:19:::0;15302:1:::1;15278:23;:26::i;:::-;15265:8;::::0;;:12:::1;:40::i;:::-;15243:62:::0;-1:-1:-1;15326:26:0::1;15355:58;15411:1;15355:51;15243:62:::0;15355:51;:9;15369:19;15355:13:::1;:34::i;:58::-;15326:87;;15424:26;15453:44;15485:11;15453:27;15467:12;;15453:9;:13;;:27;;;;:::i;:44::-;15424:73;;15508:20;15531:38;15557:11;15531:21;15545:6;;15531:9;:13;;:21;;;;:::i;:38::-;15508:61;;15580:20;15603:38;15629:11;15603:21;15617:6;;15603:9;:13;;:21;;;;:::i;:38::-;15683:20;::::0;15675:65:::1;::::0;15580:61;;-1:-1:-1;15655:15:0::1;::::0;-1:-1:-1;;;;;15683:20:0;;::::1;::::0;15717:18;;15655:15;15675:65;15655:15;15675:65;15717:18;15683:20;15675:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15775:14:0::1;::::0;15767:53:::1;::::0;15654:86;;-1:-1:-1;;;;;;15775:14:0::1;::::0;15803:12;;15767:53:::1;::::0;;;15803:12;15775:14;15767:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15855:14:0::1;::::0;15847:53:::1;::::0;15751:69;;-1:-1:-1;;;;;;15855:14:0::1;::::0;15883:12;;15847:53:::1;::::0;;;15883:12;15855:14;15847:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15934:5:0::1;::::0;-1:-1:-1;;15955:19:0;;;-1:-1:-1;15952:362:0::1;;15990:6;::::0;16164:21:::1;::::0;15990:244:::1;::::0;-1:-1:-1;;;15990:244:0;;16066:4:::1;15990:244;::::0;::::1;11036:34:1::0;11086:18;;;11079:34;;;15990:6:0::1;11129:18:1::0;;;11122:34;;;11172:18;;;11165:34;-1:-1:-1;;;;;16164:21:0;;::::1;11215:19:1::0;;;11208:44;16204:15:0::1;11268:19:1::0;;;11261:35;15990:6:0;::::1;::::0;:22:::1;::::0;16020:18;;10970:19:1;;15990:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16254:48:0::1;::::0;;11792:25:1;;;11848:2;11833:18;;11826:34;;;16254:48:0::1;::::0;-1:-1:-1;11765:18:1;16254:48:0::1;;;;;;;15952:362;-1:-1:-1::0;;6879:6:0;:14;;-1:-1:-1;;6879:14:0;;;-1:-1:-1;;;;;;;;;;14464:1857:0:o;425:192::-;511:7;547:12;539:6;;;;531:29;;;;-1:-1:-1;;;531:29:0;;;;;;;;:::i;:::-;-1:-1:-1;571:9:0;583:5;587:1;583;:5;:::i;:::-;571:17;425:192;-1:-1:-1;;;;;425:192:0:o;9974:1414::-;10086:6;;10066:4;;10086:6;;10083:63;;;10102:41;10117:6;10125:9;10136:6;10102:14;:41::i;:::-;10095:48;;;;10083:63;-1:-1:-1;;;;;10162:22:0;;;;;;:14;:22;;;;;;;;10161:23;:53;;;;-1:-1:-1;;;;;;10189:25:0;;;;;;:14;:25;;;;;;;;10188:26;10161:53;10158:140;;;10238:11;;-1:-1:-1;;;10238:11:0;;;;10230:43;;;;-1:-1:-1;;;10230:43:0;;12206:2:1;10230:43:0;;;12188:21:1;12245:2;12225:18;;;12218:30;-1:-1:-1;;;12264:18:1;;;12257:50;12324:18;;10230:43:0;12004:344:1;10230:43:0;10345:7;;;;10342:75;;;-1:-1:-1;;;;;10377:15:0;;;;;;:7;:15;;;;;;;;10376:16;10368:33;;;;-1:-1:-1;;;10368:33:0;;12555:2:1;10368:33:0;;;12537:21:1;12594:1;12574:18;;;12567:29;-1:-1:-1;;;12612:18:1;;;12605:35;12657:18;;10368:33:0;12353:328:1;10368:33:0;-1:-1:-1;;;;;10434:22:0;;;;;;:14;:22;;;;;;;;10433:23;:53;;;;-1:-1:-1;;;;;;10460:26:0;;10481:4;10460:26;;10433:53;:84;;;;-1:-1:-1;10512:4:0;;-1:-1:-1;;;;;10491:26:0;;;10512:4;;10491:26;;10433:84;:105;;;;-1:-1:-1;10534:4:0;;-1:-1:-1;;;;;10521:17:0;;;10534:4;;10521:17;;10433:105;:140;;;;-1:-1:-1;10555:18:0;;-1:-1:-1;;;;;10542:31:0;;;10555:18;;10542:31;;10433:140;:177;;;;-1:-1:-1;10590:20:0;;-1:-1:-1;;;;;10577:33:0;;;10590:20;;10577:33;;10433:177;:208;;;;-1:-1:-1;;;;;;10615:26:0;;;;;;:15;:26;;;;;;;;10614:27;10433:208;10429:400;;;-1:-1:-1;;;;;8473:18:0;;10657;8473;;;:9;:18;;;;;;10746:15;;10722:19;10735:6;8473:18;10722:19;:::i;:::-;10721:40;;10713:114;;;;-1:-1:-1;;;10713:114:0;;13018:2:1;10713:114:0;;;13000:21:1;13057:2;13037:18;;;13030:30;13096:34;13076:18;;;13069:62;13167:32;13147:18;;;13140:60;13217:19;;10713:114:0;12816:426:1;10713:114:0;10642:187;10429:400;10882:28;10895:6;10903;10882:12;:28::i;:::-;10927:16;:14;:16::i;:::-;10924:35;;;10946:10;:8;:10::i;:::-;11039:53;;;;;;;;;;;-1:-1:-1;;;11039:53:0;;;;;;;;-1:-1:-1;;;;;11039:17:0;;-1:-1:-1;11039:17:0;;;:9;:17;;;;;;;;:53;;11061:6;;11039:21;:53::i;:::-;-1:-1:-1;;;;;11019:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11131:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11154:22:0;;;;;;:11;:22;;;;;;;;11131:45;11130:93;;11189:34;11197:6;11205;11213:9;11189:7;:34::i;:::-;11130:93;;;11180:6;11130:93;-1:-1:-1;;;;;11257:20:0;;;;;;:9;:20;;;;;;11105:118;;-1:-1:-1;11257:40:0;;11105:118;11257:24;:40::i;:::-;-1:-1:-1;;;;;11234:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11315:43;;;;;;-1:-1:-1;;;;;;;;;;;11315:43:0;;;11343:14;160:25:1;;148:2;133:18;;14:177;11315:43:0;;;;;;;;-1:-1:-1;11376:4:0;;9974:1414;-1:-1:-1;;;;9974:1414:0:o;283:136::-;341:7;368:43;372:1;375;368:43;;;;;;;;;;;;;;;;;:3;:43::i;96:181::-;154:7;;186:5;190:1;186;:5;:::i;:::-;174:17;;215:1;210;:6;;202:46;;;;-1:-1:-1;;;202:46:0;;13449:2:1;202:46:0;;;13431:21:1;13488:2;13468:18;;;13461:30;13527:29;13507:18;;;13500:57;13574:18;;202:46:0;13247:351:1;1017:189:0;1103:7;1138:12;1131:5;1123:28;;;;-1:-1:-1;;;1123:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1162:9:0;1174:5;1178:1;1174;:5;:::i;11400:330::-;11530:53;;;;;;;;;;;-1:-1:-1;;;11530:53:0;;;;;;;;-1:-1:-1;;;;;11530:17:0;;11493:4;11530:17;;;:9;:17;;;;;;;:53;;11552:6;;11530:21;:53::i;:::-;-1:-1:-1;;;;;11510:17:0;;;;;;;:9;:17;;;;;;:73;;;;11617:20;;;;;;;:32;;11642:6;11617:24;:32::i;:::-;-1:-1:-1;;;;;11594:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11665:35;;;;;;-1:-1:-1;;;;;;;;;;;11665:35:0;;;11693:6;160:25:1;;148:2;133:18;;14:177;11665:35:0;;;;;;;;-1:-1:-1;11718:4:0;11400:330;;;;;:::o;11738:166::-;11835:12;;11825:6;:22;;:49;;;-1:-1:-1;;;;;;11851:23:0;;;;;;:15;:23;;;;;;;;11825:49;11817:79;;;;-1:-1:-1;;;11817:79:0;;13805:2:1;11817:79:0;;;13787:21:1;13844:2;13824:18;;;13817:30;-1:-1:-1;;;13863:18:1;;;13856:47;13920:18;;11817:79:0;13603:341:1;11817:79:0;11738:166;;:::o;13011:197::-;13098:4;;13060;;-1:-1:-1;;;;;13098:4:0;13084:10;:18;;;;:38;;-1:-1:-1;13116:6:0;;;;13115:7;13084:38;:62;;;;-1:-1:-1;13135:11:0;;-1:-1:-1;;;13135:11:0;;;;13084:62;:116;;;;-1:-1:-1;;13187:13:0;;13177:4;13159:24;;;;:9;:24;;;;;;:41;;;13011:197::o;12034:969::-;12171:18;;12218:4;;12120:7;;12171:18;-1:-1:-1;;;;;12218:4:0;;;12205:17;;;;12202:154;;-1:-1:-1;12252:14:0;;12202:154;;;12297:4;;-1:-1:-1;;;;;12297:4:0;;;12287:14;;;;12284:72;;-1:-1:-1;12331:13:0;;12284:72;12368:17;12388:62;12429:14;;12446:3;12429:20;;;;:::i;:::-;12388:36;12413:10;12388:20;12399:8;;12388:6;:10;;:20;;;;:::i;:62::-;12368:82;;12461:21;12485:39;12515:8;;12485:25;12499:10;;12485:9;:13;;:25;;;;:::i;:39::-;12461:63;-1:-1:-1;12535:22:0;12560:28;:9;12461:63;12560:13;:28::i;:::-;12646:4;12628:24;;;;:9;:24;;;;;;12535:53;;-1:-1:-1;12628:44:0;;12535:53;12628:28;:44::i;:::-;12619:4;12601:24;;;;:9;:24;;;;;;:71;;;;12725:18;;-1:-1:-1;;;;;12725:18:0;12715:29;;;;:48;;12749:13;12715:33;:48::i;:::-;12693:18;;-1:-1:-1;;;;;12693:18:0;;;12683:29;;;;:9;:29;;;;;;;;;:80;;;;12779:47;160:25:1;;;12804:4:0;;12779:47;;;;-1:-1:-1;;;;;;;;;;;12779:47:0;133:18:1;12779:47:0;;;;;;;12850:17;;12847:108;;12905:18;;12888:51;;160:25:1;;;-1:-1:-1;;;;;12905:18:0;;;;12888:51;;;-1:-1:-1;;;;;;;;;;;12888:51:0;148:2:1;133:18;12888:51:0;;;;;;;12847:108;12974:21;:6;12985:9;12974:10;:21::i;:::-;12967:28;12034:969;-1:-1:-1;;;;;;;;12034:969:0:o;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;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:248::-;1446:6;1454;1507:2;1495:9;1486:7;1482:23;1478:32;1475:52;;;1523:1;1520;1513:12;1475:52;-1:-1:-1;;1546:23:1;;;1616:2;1601:18;;;1588:32;;-1:-1:-1;1378:248:1:o;1631:328::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1816:29;1835:9;1816:29;:::i;:::-;1806:39;;1864:38;1898:2;1887:9;1883:18;1864:38;:::i;:::-;1854:48;;1949:2;1938:9;1934:18;1921:32;1911:42;;1631:328;;;;;:::o;2153:180::-;2212:6;2265:2;2253:9;2244:7;2240:23;2236:32;2233:52;;;2281:1;2278;2271:12;2233:52;-1:-1:-1;2304:23:1;;2153:180;-1:-1:-1;2153:180:1:o;2338:316::-;2415:6;2423;2431;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;-1:-1:-1;;2523:23:1;;;2593:2;2578:18;;2565:32;;-1:-1:-1;2644:2:1;2629:18;;;2616:32;;2338:316;-1:-1:-1;2338:316:1:o;2659:186::-;2718:6;2771:2;2759:9;2750:7;2746:23;2742:32;2739:52;;;2787:1;2784;2777:12;2739:52;2810:29;2829:9;2810:29;:::i;2850:118::-;2936:5;2929:13;2922:21;2915:5;2912:32;2902:60;;2958:1;2955;2948:12;2973:241;3029:6;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3137:9;3124:23;3156:28;3178:5;3156:28;:::i;3219:484::-;3314:6;3322;3330;3338;3346;3399:3;3387:9;3378:7;3374:23;3370:33;3367:53;;;3416:1;3413;3406:12;3367:53;3439:29;3458:9;3439:29;:::i;:::-;3429:39;;3487:38;3521:2;3510:9;3506:18;3487:38;:::i;:::-;3477:48;;3544:38;3578:2;3567:9;3563:18;3544:38;:::i;:::-;3534:48;;3601:38;3635:2;3624:9;3620:18;3601:38;:::i;:::-;3591:48;;3658:39;3692:3;3681:9;3677:19;3658:39;:::i;:::-;3648:49;;3219:484;;;;;;;;:::o;3916:750::-;4008:6;4016;4024;4077:2;4065:9;4056:7;4052:23;4048:32;4045:52;;;4093:1;4090;4083:12;4045:52;4133:9;4120:23;4162:18;4203:2;4195:6;4192:14;4189:34;;;4219:1;4216;4209:12;4189:34;4257:6;4246:9;4242:22;4232:32;;4302:7;4295:4;4291:2;4287:13;4283:27;4273:55;;4324:1;4321;4314:12;4273:55;4364:2;4351:16;4390:2;4382:6;4379:14;4376:34;;;4406:1;4403;4396:12;4376:34;4461:7;4454:4;4444:6;4441:1;4437:14;4433:2;4429:23;4425:34;4422:47;4419:67;;;4482:1;4479;4472:12;4419:67;4513:4;4505:13;;;;-1:-1:-1;4537:6:1;-1:-1:-1;;4578:20:1;;4565:34;4608:28;4565:34;4608:28;:::i;:::-;4655:5;4645:15;;;3916:750;;;;;:::o;4671:309::-;4736:6;4744;4797:2;4785:9;4776:7;4772:23;4768:32;4765:52;;;4813:1;4810;4803:12;4765:52;4852:9;4839:23;4871:28;4893:5;4871:28;:::i;4985:315::-;5050:6;5058;5111:2;5099:9;5090:7;5086:23;5082:32;5079:52;;;5127:1;5124;5117:12;5079:52;5150:29;5169:9;5150:29;:::i;:::-;5140:39;;5229:2;5218:9;5214:18;5201:32;5242:28;5264:5;5242:28;:::i;:::-;5289:5;5279:15;;;4985:315;;;;;:::o;5305:523::-;5409:6;5417;5425;5433;5441;5449;5502:3;5490:9;5481:7;5477:23;5473:33;5470:53;;;5519:1;5516;5509:12;5470:53;-1:-1:-1;;5542:23:1;;;5612:2;5597:18;;5584:32;;-1:-1:-1;5663:2:1;5648:18;;5635:32;;5714:2;5699:18;;5686:32;;-1:-1:-1;5765:3:1;5750:19;;5737:33;;-1:-1:-1;5817:3:1;5802:19;5789:33;;-1:-1:-1;5305:523:1;-1:-1:-1;5305:523:1:o;5833:260::-;5901:6;5909;5962:2;5950:9;5941:7;5937:23;5933:32;5930:52;;;5978:1;5975;5968:12;5930:52;6001:29;6020:9;6001:29;:::i;:::-;5991:39;;6049:38;6083:2;6072:9;6068:18;6049:38;:::i;:::-;6039:48;;5833:260;;;;;:::o;6324:356::-;6526:2;6508:21;;;6545:18;;;6538:30;6604:34;6599:2;6584:18;;6577:62;6671:2;6656:18;;6324:356::o;6685:127::-;6746:10;6741:3;6737:20;6734:1;6727:31;6777:4;6774:1;6767:15;6801:4;6798:1;6791:15;6817:217;6857:1;6883;6873:132;;6927:10;6922:3;6918:20;6915:1;6908:31;6962:4;6959:1;6952:15;6990:4;6987:1;6980:15;6873:132;-1:-1:-1;7019:9:1;;6817:217::o;7039:168::-;7112:9;;;7143;;7160:15;;;7154:22;;7140:37;7130:71;;7181:18;;:::i;7212:127::-;7273:10;7268:3;7264:20;7261:1;7254:31;7304:4;7301:1;7294:15;7328:4;7325:1;7318:15;7344:135;7383:3;7404:17;;;7401:43;;7424:18;;:::i;:::-;-1:-1:-1;7471:1:1;7460:13;;7344:135::o;7841:184::-;7911:6;7964:2;7952:9;7943:7;7939:23;7935:32;7932:52;;;7980:1;7977;7970:12;7932:52;-1:-1:-1;8003:16:1;;7841:184;-1:-1:-1;7841:184:1:o;8309:245::-;8376:6;8429:2;8417:9;8408:7;8404:23;8400:32;8397:52;;;8445:1;8442;8435:12;8397:52;8477:9;8471:16;8496:28;8518:5;8496:28;:::i;9500:980::-;9762:4;9810:3;9799:9;9795:19;9841:6;9830:9;9823:25;9867:2;9905:6;9900:2;9889:9;9885:18;9878:34;9948:3;9943:2;9932:9;9928:18;9921:31;9972:6;10007;10001:13;10038:6;10030;10023:22;10076:3;10065:9;10061:19;10054:26;;10115:2;10107:6;10103:15;10089:29;;10136:1;10146:195;10160:6;10157:1;10154:13;10146:195;;;10225:13;;-1:-1:-1;;;;;10221:39:1;10209:52;;10316:15;;;;10281:12;;;;10257:1;10175:9;10146:195;;;-1:-1:-1;;;;;;;10397:32:1;;;;10392:2;10377:18;;10370:60;-1:-1:-1;;;10461:3:1;10446:19;10439:35;10358:3;9500:980;-1:-1:-1;;;9500:980:1:o;11307:306::-;11395:6;11403;11411;11464:2;11452:9;11443:7;11439:23;11435:32;11432:52;;;11480:1;11477;11470:12;11432:52;11509:9;11503:16;11493:26;;11559:2;11548:9;11544:18;11538:25;11528:35;;11603:2;11592:9;11588:18;11582:25;11572:35;;11307:306;;;;;:::o;11871:128::-;11938:9;;;11959:11;;;11956:37;;;11973:18;;:::i;12686:125::-;12751:9;;;12772:10;;;12769:36;;;12785:18;;:::i

Swarm Source

ipfs://0bda152ce4469a5d2d74c3c47e406e71ff8fd3dfe87cda59a5d459e8e5b6d2a0
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.