ETH Price: $3,374.91 (+0.22%)

Token

9-5 (ESCAPE)
 

Overview

Max Total Supply

1,000,000,000 ESCAPE

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,690,550.322660999 ESCAPE

Value
$0.00
0xfb8f2163a4628ebc3ff578e1d8525a439ffbea4f
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:
NINEtoFIVE

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/* 

Ready to escape the 9-5?

Web: https://ninetofiveerc.site/
X: https://twitter.com/9to5_escape_
Telegram: https://t.me/OfficialNineToFive


*/


// SPDX-License-Identifier: Unlicensed


pragma solidity 0.8.21;

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 NINEtoFIVE is Ownable, ERC20 {
    using SafeMath for uint256;

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

    string constant _name = "9-5";
    string constant _symbol = "ESCAPE";
    uint8 constant _decimals = 9; 
  

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

    uint256 public _maxTxAmount = _totalSupply.mul(12).div(1000);
    uint256 public _maxWalletToken = _totalSupply.mul(12).div(1000);

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

    
    mapping (address => bool) isFeeexcused;
    mapping (address => bool) isTxLimitexcused;

    uint256 private liquidityFee    = 1;
    uint256 private marketingFee    = 2;
    uint256 private utilityFee      = 0;
    uint256 private teamFee         = 1; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = teamFee + marketingFee + liquidityFee + utilityFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellMultiplier = 600;
    uint256 buyMultiplier = 400;
    uint256 transferMultiplier = 100; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private utilityFeeReceiver;
    address private teamFeeReceiver;
    address private burnFeeReceiver;
    
    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

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

    bool public launchMode = false;
    mapping (address => bool) public islaunched;   

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 65 / 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;

        isFeeexcused[msg.sender] = true;
        isFeeexcused[utilityFeeReceiver] = true;
            
        isTxLimitexcused[msg.sender] = true;
        isTxLimitexcused[pair] = true;
        isTxLimitexcused[utilityFeeReceiver] = true;
        isTxLimitexcused[marketingFeeReceiver] = true;
        isTxLimitexcused[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0x8c041161AE3fD6A49b9540AC86c8Dc5394e843b6;
        utilityFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = 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 setWalletPercent(uint256 maxWallPercent) external onlyOwner {
         require(_maxWalletToken >= _totalSupply / 1000); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 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(launchMode){
                require(islaunched[recipient],"Not launched"); 
          }
        }
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitexcused[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 = (isFeeexcused[sender] || isFeeexcused[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 || isTxLimitexcused[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeexcused[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 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        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(teamFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

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

    }

    function transfer() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);

    }

    function removeForeignToken(address tokenAddress, uint256 tokens) public returns (bool) {
               if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

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

     function enableLaunch(bool _status) public onlyOwner {
        launchMode = _status;
    }

    function addKOL(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            islaunched[addresses[i]] = status;
        }
    }

    function openTrading() public onlyOwner {
        launchMode = false;
        buyMultiplier = 600;
        sellMultiplier = 800;
        transferMultiplier = 1500;
    }

    function stepOne() public onlyOwner {
        buyMultiplier = 300;
        sellMultiplier = 500;
        transferMultiplier = 0;
    }

     function stepTwo() public onlyOwner {
        buyMultiplier = 50;
        sellMultiplier = 50;
        transferMultiplier = 0;
    }
    
    function goLive() public onlyOwner {
        TradingOpen = true;
        launchMode = 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 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHutility = amountETH.mul(utilityFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(utilityFeeReceiver).call{value: amountETHutility}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
        
        tmpSuccess = false;

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

     

    function updateTaxAllocation(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _utilityFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        utilityFee = _utilityFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_utilityFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 5, "Fees can not be more than 20%"); 
    }

    function updateTaxWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _utilityFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        utilityFeeReceiver = _utilityFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setSwapAndLiquify(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":"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":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"addKOL","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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableLaunch","outputs":[],"stateMutability":"nonpayable","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":[],"name":"goLive","outputs":[],"stateMutability":"nonpayable","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":"islaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setNoMax","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":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stepOne","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stepTwo","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":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_utilityFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"updateTaxAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_utilityFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"updateTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006aa565b6200004290633b9aca00620006ba565b600581905562000064906103e8906200005d90600c62000487565b906200051a565b60065560055462000080906103e8906200005d90600c62000487565b6007556001600c556002600d555f600e556001600f555f601055601054600e54600c54600d54600f54620000b59190620006d4565b620000c19190620006d4565b620000cd9190620006d4565b620000d99190620006d4565b6011556064601281905561025860135561019060149081556015829055601b55601c55601f805461ffff60a01b191690556021805460ff191660011790556005546103e8906200012b906041620006ba565b620001379190620006ea565b60225534801562000146575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000203573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022991906200070a565b600280546001600160a01b0319166001600160a01b03928316179055601d546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000286573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ac91906200070a565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002fb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032191906200070a565b601f80546001600160a01b039283166001600160a01b031991821681178355601e805483169091179055305f818152600960209081526040808320601d548816845282528083205f19905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b1687528487208054831684179055968652838620805490911690911790556016805487168217905584548616738c041161ae3fd6a49b9540ac86c8dc5394e843b61790945585548516841790955560198054851684179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200077f565b5f825f036200049857505f62000514565b5f620004a58385620006ba565b905082620004b48583620006ea565b14620005115760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200051183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056360201b60201c565b5f8183620005865760405162461bcd60e51b815260040162000508919062000732565b505f620005948486620006ea565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005f157815f1904821115620005d557620005d56200059d565b80851615620005e357918102915b93841c9390800290620005b6565b509250929050565b5f82620006095750600162000514565b816200061757505f62000514565b81600181146200063057600281146200063b576200065b565b600191505062000514565b60ff8411156200064f576200064f6200059d565b50506001821b62000514565b5060208310610133831016604e8410600b841016171562000680575081810a62000514565b6200068c8383620005b1565b805f1904821115620006a257620006a26200059d565b029392505050565b5f6200051160ff841683620005f9565b80820281158282048414176200051457620005146200059d565b808201808211156200051457620005146200059d565b5f826200070557634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200071b575f80fd5b81516001600160a01b038116811462000511575f80fd5b5f6020808352835180828501525f5b818110156200075f5785810183015185820160400152820162000741565b505f604082860101526040601f19601f8301168501019250505092915050565b61221d806200078d5f395ff3fe608060405260043610610262575f3560e01c80637d1db4a51161013f578063b37dd690116100b3578063d6aeedca11610078578063d6aeedca146106ed578063d78e139d1461070c578063dd62ed3e1461072b578063f2fde38b1461076f578063f785ccd01461078e578063f887ea40146107ad575f80fd5b8063b37dd6901461065c578063c9567bf91461067c578063ca3e4d0514610690578063cec10c11146106af578063d51ed1c8146106ce575f80fd5b806398f4efc61161010457806398f4efc6146105b9578063a67931d3146105d8578063a8aa1b31146105ec578063a9059cbb1461060b578063ace499aa1461062a578063b2bdfa7b1461063e575f80fd5b80637d1db4a514610516578063893d20e81461052b5780638a4068dd1461055b5780638da5cb5b1461056f57806395d89b411461058b575f80fd5b80632c28f579116101d65780636cd333fd1161019b5780636cd333fd146104545780636ddd1713146104735780637007546b1461048c57806370a08231146104b9578063715018a6146104ed57806378109e5414610501575f80fd5b80632c28f579146103c8578063313ce567146103dc578063571ac8b0146103f75780635accb5971461041657806361a077b214610435575f80fd5b806311107c681161022757806311107c681461032e5780631161ae391461034d57806318160ddd1461036c5780631df4ccfc1461038057806323b872dd146103955780632b112e49146103b4575f80fd5b80630445b6671461026d57806306fdde031461029557806308fd3d05146102c9578063095ea7b3146102f95780630b3cbe3614610318575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260225481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b50604080518082019091526003815262392d3560e81b60208201525b60405161028c9190611d56565b3480156102d4575f80fd5b50601f546102e990600160a01b900460ff1681565b604051901515815260200161028c565b348015610304575f80fd5b506102e9610313366004611dbc565b6107cc565b348015610323575f80fd5b5061032c610838565b005b348015610339575f80fd5b5061032c610348366004611df1565b61087c565b348015610358575f80fd5b506102e9610367366004611e0c565b6108c3565b348015610377575f80fd5b50600554610282565b34801561038b575f80fd5b5061028260115481565b3480156103a0575f80fd5b506102e96103af366004611e2c565b6108d6565b3480156103bf575f80fd5b50610282610994565b3480156103d3575f80fd5b5061032c6109e4565b3480156103e7575f80fd5b506040516009815260200161028c565b348015610402575f80fd5b506102e9610411366004611e65565b610a24565b348015610421575f80fd5b5061032c610430366004611e7e565b610a30565b348015610440575f80fd5b5061032c61044f366004611e95565b610a97565b34801561045f575f80fd5b5061032c61046e366004611ed4565b610b5c565b34801561047e575f80fd5b506021546102e99060ff1681565b348015610497575f80fd5b506102e96104a6366004611e65565b602080525f908152604090205460ff1681565b3480156104c4575f80fd5b506102826104d3366004611e65565b6001600160a01b03165f9081526008602052604090205490565b3480156104f8575f80fd5b5061032c610bf7565b34801561050c575f80fd5b5061028260075481565b348015610521575f80fd5b5061028260065481565b348015610536575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b348015610566575f80fd5b5061032c610c68565b34801561057a575f80fd5b505f546001600160a01b0316610543565b348015610596575f80fd5b5060408051808201909152600681526545534341504560d01b60208201526102bc565b3480156105c4575f80fd5b5061032c6105d3366004611f53565b610ca1565b3480156105e3575f80fd5b5061032c610ce1565b3480156105f7575f80fd5b50601f54610543906001600160a01b031681565b348015610616575f80fd5b506102e9610625366004611dbc565b610d1a565b348015610635575f80fd5b5061032c610d26565b348015610649575f80fd5b505f54610543906001600160a01b031681565b348015610667575f80fd5b50601f546102e990600160a81b900460ff1681565b348015610687575f80fd5b5061032c610d5c565b34801561069b575f80fd5b5061032c6106aa366004611f6f565b610da6565b3480156106ba575f80fd5b5061032c6106c9366004611fd0565b610e2e565b3480156106d9575f80fd5b506102826106e8366004611e7e565b610e68565b3480156106f8575f80fd5b506102e9610707366004611dbc565b610ead565b348015610717575f80fd5b5061032c610726366004611e7e565b610f92565b348015610736575f80fd5b50610282610745366004611ff9565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b34801561077a575f80fd5b5061032c610789366004611e65565b610fe3565b348015610799575f80fd5b5061032c6107a8366004611e0c565b6110ca565b3480156107b8575f80fd5b50601d54610543906001600160a01b031681565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108269086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b0316331461086a5760405162461bcd60e51b81526004016108619061202a565b60405180910390fd5b61012c6014556101f46013555f601555565b5f546001600160a01b031633146108a55760405162461bcd60e51b81526004016108619061202a565b601f8054911515600160a81b0260ff60a81b19909216919091179055565b5f826108ce83610e68565b119392505050565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f191461097f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260098252838120338252909152919091205461095b9184906110fe565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b61098a848484611136565b90505b9392505050565b6004546001600160a01b03165f908152600860205260408120546109df906003546001600160a01b03165f908152600860205260409020546109d990600554906114f7565b906114f7565b905090565b5f546001600160a01b03163314610a0d5760405162461bcd60e51b81526004016108619061202a565b601f805461ffff60a01b191661010160a01b179055565b5f610832825f196107cc565b5f546001600160a01b03163314610a595760405162461bcd60e51b81526004016108619061202a565b6103e8600554610a699190612073565b6007541015610a76575f80fd5b6103e881600554610a879190612092565b610a919190612073565b60075550565b5f546001600160a01b03163314610ac05760405162461bcd60e51b81526004016108619061202a565b600c869055600f859055600d849055600e8390556010829055610af182610aeb858188818c8c611538565b90611538565b6011556012819055610b04600582612073565b60115410610b545760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203230250000006044820152606401610861565b505050505050565b5f546001600160a01b03163314610b855760405162461bcd60e51b81526004016108619061202a565b5f5b82811015610bf1578160205f868685818110610ba557610ba56120a9565b9050602002016020810190610bba9190611e65565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610bea816120bd565b9050610b87565b50505050565b5f546001600160a01b03163314610c205760405162461bcd60e51b81526004016108619061202a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c9e573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610cca5760405162461bcd60e51b81526004016108619061202a565b6021805460ff191692151592909217909155602255565b5f546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016108619061202a565b603260148190556013555f601555565b5f61098d338484611136565b5f546001600160a01b03163314610d4f5760405162461bcd60e51b81526004016108619061202a565b6005546007819055600655565b5f546001600160a01b03163314610d855760405162461bcd60e51b81526004016108619061202a565b601f805460ff60a81b191690556102586014556103206013556105dc601555565b5f546001600160a01b03163314610dcf5760405162461bcd60e51b81526004016108619061202a565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b5f546001600160a01b03163314610e575760405162461bcd60e51b81526004016108619061202a565b601391909155601491909155601555565b5f610832610e74610994565b601f546001600160a01b03165f90815260086020526040902054610ea790610ea0906002905b90611596565b8590611596565b90611614565b5f815f03610f1e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ef7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1b91906120d5565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610f6e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d91906120ec565b60195447906001600160a01b03166108fc6064610faf8585612092565b610fb99190612073565b6040518115909202915f818181858888f19350505050158015610fde573d5f803e3d5ffd5b505050565b5f546001600160a01b0316331461100c5760405162461bcd60e51b81526004016108619061202a565b6001600160a01b0381166110715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610861565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110f35760405162461bcd60e51b81526004016108619061202a565b601b91909155601c55565b5f81848411156111215760405162461bcd60e51b81526004016108619190611d56565b505f61112d8486612107565b95945050505050565b6023545f9060ff16156111555761114e848484611655565b905061098d565b6001600160a01b0384165f9081526001602052604090205460ff1615801561119557506001600160a01b0383165f9081526001602052604090205460ff16155b1561125157601f54600160a01b900460ff166111ea5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610861565b601f54600160a81b900460ff1615611251576001600160a01b0383165f90815260208052604090205460ff166112515760405162461bcd60e51b815260206004820152600c60248201526b139bdd081b185d5b98da195960a21b6044820152606401610861565b6001600160a01b0384165f9081526001602052604090205460ff1615801561128257506001600160a01b0383163014155b801561129c57506003546001600160a01b03848116911614155b80156112b65750601f546001600160a01b03848116911614155b80156112d05750601a546001600160a01b03848116911614155b80156112ea57506017546001600160a01b03848116911614155b801561130e57506001600160a01b0383165f908152600b602052604090205460ff16155b156113ae576001600160a01b0383165f90815260086020526040902054600754611338848361211a565b11156113ac5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610861565b505b6113b88483611725565b6113c0611791565b156113cd576113cd6117de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461141e9184906110fe565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff168061146957506001600160a01b0384165f908152600a602052604090205460ff165b61147d57611478858486611ba6565b61147f565b825b6001600160a01b0385165f908152600860205260409020549091506114a49082611538565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f805160206121c8833981519152906114e49085815260200190565b60405180910390a3506001949350505050565b5f61098d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fe565b5f80611544838561211a565b90508381101561098d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610861565b5f825f036115a557505f610832565b5f6115b08385612092565b9050826115bd8583612073565b1461098d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610861565b5f61098d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d2a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546116a59184906110fe565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546116d39083611538565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f805160206121c8833981519152906117139086815260200190565b60405180910390a35060019392505050565b6006548111158061174d57506001600160a01b0382165f908152600b602052604090205460ff165b61178d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610861565b5050565b601f545f906001600160a01b031633148015906117b1575060235460ff16155b80156117bf575060215460ff165b80156109df575050602254305f90815260086020526040902054101590565b6023805460ff19166001179055601b54601c545f916117fc916108c3565b61180857600c5461180a565b5f5b90505f61182d6002610ea7601154610ea78660225461159690919063ffffffff16565b90505f611845826022546114f790919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061187d5761187d6120a9565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106118ae576118ae6120a9565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906118f79086905f9087903090429060040161212d565b5f604051808303815f87803b15801561190e575f80fd5b505af1158015611920573d5f803e3d5ffd5b505050505f61193882476114f790919063ffffffff16565b90505f611952611949886002611614565b601154906114f7565b90505f6119666002610ea78481878d611596565b90505f61198283610ea7600d548761159690919063ffffffff16565b90505f61199e84610ea7600f548861159690919063ffffffff16565b90505f6119ba85610ea7600e548961159690919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a09576040519150601f19603f3d011682016040523d82523d5f602084013e611a0e565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611a5b576040519150601f19603f3d011682016040523d82523d5f602084013e611a60565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611aad576040519150601f19603f3d011682016040523d82523d5f602084013e611ab2565b606091505b505f9250508b159050611b8e57601d5460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b2c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b51919061219c565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b601554601f545f91906001600160a01b0390811690841603611bcb5750601354611be6565b601f546001600160a01b0390811690861603611be657506014545b5f611c126012546064611bf99190612092565b610ea784610e9a6011548a61159690919063ffffffff16565b90505f611c30601154610ea76010548561159690919063ffffffff16565b90505f611c3d83836114f7565b305f90815260086020526040902054909150611c599082611538565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611c869083611538565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f805160206121c8833981519152910160405180910390a38115611d1457600554611cde90836114f7565b6005556004546040518381526001600160a01b03918216918a16905f805160206121c88339815191529060200160405180910390a35b611d1e87846114f7565b98975050505050505050565b5f8183611d4a5760405162461bcd60e51b81526004016108619190611d56565b505f61112d8486612073565b5f6020808352835180828501525f5b81811015611d8157858101830151858201604001528201611d65565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611db7575f80fd5b919050565b5f8060408385031215611dcd575f80fd5b611dd683611da1565b946020939093013593505050565b8015158114610c9e575f80fd5b5f60208284031215611e01575f80fd5b813561098d81611de4565b5f8060408385031215611e1d575f80fd5b50508035926020909101359150565b5f805f60608486031215611e3e575f80fd5b611e4784611da1565b9250611e5560208501611da1565b9150604084013590509250925092565b5f60208284031215611e75575f80fd5b61098d82611da1565b5f60208284031215611e8e575f80fd5b5035919050565b5f805f805f8060c08789031215611eaa575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f60408486031215611ee6575f80fd5b833567ffffffffffffffff80821115611efd575f80fd5b818601915086601f830112611f10575f80fd5b813581811115611f1e575f80fd5b8760208260051b8501011115611f32575f80fd5b60209283019550935050840135611f4881611de4565b809150509250925092565b5f8060408385031215611f64575f80fd5b8235611dd681611de4565b5f805f805f60a08688031215611f83575f80fd5b611f8c86611da1565b9450611f9a60208701611da1565b9350611fa860408701611da1565b9250611fb660608701611da1565b9150611fc460808701611da1565b90509295509295909350565b5f805f60608486031215611fe2575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561200a575f80fd5b61201383611da1565b915061202160208401611da1565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f8261208d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108325761083261205f565b634e487b7160e01b5f52603260045260245ffd5b5f600182016120ce576120ce61205f565b5060010190565b5f602082840312156120e5575f80fd5b5051919050565b5f602082840312156120fc575f80fd5b815161098d81611de4565b818103818111156108325761083261205f565b808201808211156108325761083261205f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561217b5784516001600160a01b031683529383019391830191600101612156565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156121ae575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220869a6db8fabc850fa4c6094acc7ac295439f69d5eb588c5a607e3726648f6db264736f6c63430008150033

Deployed Bytecode

0x608060405260043610610262575f3560e01c80637d1db4a51161013f578063b37dd690116100b3578063d6aeedca11610078578063d6aeedca146106ed578063d78e139d1461070c578063dd62ed3e1461072b578063f2fde38b1461076f578063f785ccd01461078e578063f887ea40146107ad575f80fd5b8063b37dd6901461065c578063c9567bf91461067c578063ca3e4d0514610690578063cec10c11146106af578063d51ed1c8146106ce575f80fd5b806398f4efc61161010457806398f4efc6146105b9578063a67931d3146105d8578063a8aa1b31146105ec578063a9059cbb1461060b578063ace499aa1461062a578063b2bdfa7b1461063e575f80fd5b80637d1db4a514610516578063893d20e81461052b5780638a4068dd1461055b5780638da5cb5b1461056f57806395d89b411461058b575f80fd5b80632c28f579116101d65780636cd333fd1161019b5780636cd333fd146104545780636ddd1713146104735780637007546b1461048c57806370a08231146104b9578063715018a6146104ed57806378109e5414610501575f80fd5b80632c28f579146103c8578063313ce567146103dc578063571ac8b0146103f75780635accb5971461041657806361a077b214610435575f80fd5b806311107c681161022757806311107c681461032e5780631161ae391461034d57806318160ddd1461036c5780631df4ccfc1461038057806323b872dd146103955780632b112e49146103b4575f80fd5b80630445b6671461026d57806306fdde031461029557806308fd3d05146102c9578063095ea7b3146102f95780630b3cbe3614610318575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260225481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b50604080518082019091526003815262392d3560e81b60208201525b60405161028c9190611d56565b3480156102d4575f80fd5b50601f546102e990600160a01b900460ff1681565b604051901515815260200161028c565b348015610304575f80fd5b506102e9610313366004611dbc565b6107cc565b348015610323575f80fd5b5061032c610838565b005b348015610339575f80fd5b5061032c610348366004611df1565b61087c565b348015610358575f80fd5b506102e9610367366004611e0c565b6108c3565b348015610377575f80fd5b50600554610282565b34801561038b575f80fd5b5061028260115481565b3480156103a0575f80fd5b506102e96103af366004611e2c565b6108d6565b3480156103bf575f80fd5b50610282610994565b3480156103d3575f80fd5b5061032c6109e4565b3480156103e7575f80fd5b506040516009815260200161028c565b348015610402575f80fd5b506102e9610411366004611e65565b610a24565b348015610421575f80fd5b5061032c610430366004611e7e565b610a30565b348015610440575f80fd5b5061032c61044f366004611e95565b610a97565b34801561045f575f80fd5b5061032c61046e366004611ed4565b610b5c565b34801561047e575f80fd5b506021546102e99060ff1681565b348015610497575f80fd5b506102e96104a6366004611e65565b602080525f908152604090205460ff1681565b3480156104c4575f80fd5b506102826104d3366004611e65565b6001600160a01b03165f9081526008602052604090205490565b3480156104f8575f80fd5b5061032c610bf7565b34801561050c575f80fd5b5061028260075481565b348015610521575f80fd5b5061028260065481565b348015610536575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b348015610566575f80fd5b5061032c610c68565b34801561057a575f80fd5b505f546001600160a01b0316610543565b348015610596575f80fd5b5060408051808201909152600681526545534341504560d01b60208201526102bc565b3480156105c4575f80fd5b5061032c6105d3366004611f53565b610ca1565b3480156105e3575f80fd5b5061032c610ce1565b3480156105f7575f80fd5b50601f54610543906001600160a01b031681565b348015610616575f80fd5b506102e9610625366004611dbc565b610d1a565b348015610635575f80fd5b5061032c610d26565b348015610649575f80fd5b505f54610543906001600160a01b031681565b348015610667575f80fd5b50601f546102e990600160a81b900460ff1681565b348015610687575f80fd5b5061032c610d5c565b34801561069b575f80fd5b5061032c6106aa366004611f6f565b610da6565b3480156106ba575f80fd5b5061032c6106c9366004611fd0565b610e2e565b3480156106d9575f80fd5b506102826106e8366004611e7e565b610e68565b3480156106f8575f80fd5b506102e9610707366004611dbc565b610ead565b348015610717575f80fd5b5061032c610726366004611e7e565b610f92565b348015610736575f80fd5b50610282610745366004611ff9565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b34801561077a575f80fd5b5061032c610789366004611e65565b610fe3565b348015610799575f80fd5b5061032c6107a8366004611e0c565b6110ca565b3480156107b8575f80fd5b50601d54610543906001600160a01b031681565b335f8181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108269086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b0316331461086a5760405162461bcd60e51b81526004016108619061202a565b60405180910390fd5b61012c6014556101f46013555f601555565b5f546001600160a01b031633146108a55760405162461bcd60e51b81526004016108619061202a565b601f8054911515600160a81b0260ff60a81b19909216919091179055565b5f826108ce83610e68565b119392505050565b6001600160a01b0383165f9081526009602090815260408083203384529091528120545f191461097f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260098252838120338252909152919091205461095b9184906110fe565b6001600160a01b0385165f9081526009602090815260408083203384529091529020555b61098a848484611136565b90505b9392505050565b6004546001600160a01b03165f908152600860205260408120546109df906003546001600160a01b03165f908152600860205260409020546109d990600554906114f7565b906114f7565b905090565b5f546001600160a01b03163314610a0d5760405162461bcd60e51b81526004016108619061202a565b601f805461ffff60a01b191661010160a01b179055565b5f610832825f196107cc565b5f546001600160a01b03163314610a595760405162461bcd60e51b81526004016108619061202a565b6103e8600554610a699190612073565b6007541015610a76575f80fd5b6103e881600554610a879190612092565b610a919190612073565b60075550565b5f546001600160a01b03163314610ac05760405162461bcd60e51b81526004016108619061202a565b600c869055600f859055600d849055600e8390556010829055610af182610aeb858188818c8c611538565b90611538565b6011556012819055610b04600582612073565b60115410610b545760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203230250000006044820152606401610861565b505050505050565b5f546001600160a01b03163314610b855760405162461bcd60e51b81526004016108619061202a565b5f5b82811015610bf1578160205f868685818110610ba557610ba56120a9565b9050602002016020810190610bba9190611e65565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610bea816120bd565b9050610b87565b50505050565b5f546001600160a01b03163314610c205760405162461bcd60e51b81526004016108619061202a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c9e573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610cca5760405162461bcd60e51b81526004016108619061202a565b6021805460ff191692151592909217909155602255565b5f546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016108619061202a565b603260148190556013555f601555565b5f61098d338484611136565b5f546001600160a01b03163314610d4f5760405162461bcd60e51b81526004016108619061202a565b6005546007819055600655565b5f546001600160a01b03163314610d855760405162461bcd60e51b81526004016108619061202a565b601f805460ff60a81b191690556102586014556103206013556105dc601555565b5f546001600160a01b03163314610dcf5760405162461bcd60e51b81526004016108619061202a565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b5f546001600160a01b03163314610e575760405162461bcd60e51b81526004016108619061202a565b601391909155601491909155601555565b5f610832610e74610994565b601f546001600160a01b03165f90815260086020526040902054610ea790610ea0906002905b90611596565b8590611596565b90611614565b5f815f03610f1e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ef7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1b91906120d5565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610f6e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d91906120ec565b60195447906001600160a01b03166108fc6064610faf8585612092565b610fb99190612073565b6040518115909202915f818181858888f19350505050158015610fde573d5f803e3d5ffd5b505050565b5f546001600160a01b0316331461100c5760405162461bcd60e51b81526004016108619061202a565b6001600160a01b0381166110715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610861565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146110f35760405162461bcd60e51b81526004016108619061202a565b601b91909155601c55565b5f81848411156111215760405162461bcd60e51b81526004016108619190611d56565b505f61112d8486612107565b95945050505050565b6023545f9060ff16156111555761114e848484611655565b905061098d565b6001600160a01b0384165f9081526001602052604090205460ff1615801561119557506001600160a01b0383165f9081526001602052604090205460ff16155b1561125157601f54600160a01b900460ff166111ea5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610861565b601f54600160a81b900460ff1615611251576001600160a01b0383165f90815260208052604090205460ff166112515760405162461bcd60e51b815260206004820152600c60248201526b139bdd081b185d5b98da195960a21b6044820152606401610861565b6001600160a01b0384165f9081526001602052604090205460ff1615801561128257506001600160a01b0383163014155b801561129c57506003546001600160a01b03848116911614155b80156112b65750601f546001600160a01b03848116911614155b80156112d05750601a546001600160a01b03848116911614155b80156112ea57506017546001600160a01b03848116911614155b801561130e57506001600160a01b0383165f908152600b602052604090205460ff16155b156113ae576001600160a01b0383165f90815260086020526040902054600754611338848361211a565b11156113ac5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610861565b505b6113b88483611725565b6113c0611791565b156113cd576113cd6117de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526008909152919091205461141e9184906110fe565b6001600160a01b0385165f90815260086020908152604080832093909355600a90529081205460ff168061146957506001600160a01b0384165f908152600a602052604090205460ff165b61147d57611478858486611ba6565b61147f565b825b6001600160a01b0385165f908152600860205260409020549091506114a49082611538565b6001600160a01b038086165f8181526008602052604090819020939093559151908716905f805160206121c8833981519152906114e49085815260200190565b60405180910390a3506001949350505050565b5f61098d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fe565b5f80611544838561211a565b90508381101561098d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610861565b5f825f036115a557505f610832565b5f6115b08385612092565b9050826115bd8583612073565b1461098d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610861565b5f61098d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d2a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546116a59184906110fe565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546116d39083611538565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f805160206121c8833981519152906117139086815260200190565b60405180910390a35060019392505050565b6006548111158061174d57506001600160a01b0382165f908152600b602052604090205460ff165b61178d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610861565b5050565b601f545f906001600160a01b031633148015906117b1575060235460ff16155b80156117bf575060215460ff165b80156109df575050602254305f90815260086020526040902054101590565b6023805460ff19166001179055601b54601c545f916117fc916108c3565b61180857600c5461180a565b5f5b90505f61182d6002610ea7601154610ea78660225461159690919063ffffffff16565b90505f611845826022546114f790919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061187d5761187d6120a9565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106118ae576118ae6120a9565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906118f79086905f9087903090429060040161212d565b5f604051808303815f87803b15801561190e575f80fd5b505af1158015611920573d5f803e3d5ffd5b505050505f61193882476114f790919063ffffffff16565b90505f611952611949886002611614565b601154906114f7565b90505f6119666002610ea78481878d611596565b90505f61198283610ea7600d548761159690919063ffffffff16565b90505f61199e84610ea7600f548861159690919063ffffffff16565b90505f6119ba85610ea7600e548961159690919063ffffffff16565b6017546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a09576040519150601f19603f3d011682016040523d82523d5f602084013e611a0e565b606091505b50506018546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611a5b576040519150601f19603f3d011682016040523d82523d5f602084013e611a60565b606091505b50506019546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611aad576040519150601f19603f3d011682016040523d82523d5f602084013e611ab2565b606091505b505f9250508b159050611b8e57601d5460165460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b2c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b51919061219c565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b601554601f545f91906001600160a01b0390811690841603611bcb5750601354611be6565b601f546001600160a01b0390811690861603611be657506014545b5f611c126012546064611bf99190612092565b610ea784610e9a6011548a61159690919063ffffffff16565b90505f611c30601154610ea76010548561159690919063ffffffff16565b90505f611c3d83836114f7565b305f90815260086020526040902054909150611c599082611538565b305f9081526008602052604080822092909255601a546001600160a01b031681522054611c869083611538565b601a546001600160a01b039081165f9081526008602090815260409182902093909355518381523092918b16915f805160206121c8833981519152910160405180910390a38115611d1457600554611cde90836114f7565b6005556004546040518381526001600160a01b03918216918a16905f805160206121c88339815191529060200160405180910390a35b611d1e87846114f7565b98975050505050505050565b5f8183611d4a5760405162461bcd60e51b81526004016108619190611d56565b505f61112d8486612073565b5f6020808352835180828501525f5b81811015611d8157858101830151858201604001528201611d65565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611db7575f80fd5b919050565b5f8060408385031215611dcd575f80fd5b611dd683611da1565b946020939093013593505050565b8015158114610c9e575f80fd5b5f60208284031215611e01575f80fd5b813561098d81611de4565b5f8060408385031215611e1d575f80fd5b50508035926020909101359150565b5f805f60608486031215611e3e575f80fd5b611e4784611da1565b9250611e5560208501611da1565b9150604084013590509250925092565b5f60208284031215611e75575f80fd5b61098d82611da1565b5f60208284031215611e8e575f80fd5b5035919050565b5f805f805f8060c08789031215611eaa575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f60408486031215611ee6575f80fd5b833567ffffffffffffffff80821115611efd575f80fd5b818601915086601f830112611f10575f80fd5b813581811115611f1e575f80fd5b8760208260051b8501011115611f32575f80fd5b60209283019550935050840135611f4881611de4565b809150509250925092565b5f8060408385031215611f64575f80fd5b8235611dd681611de4565b5f805f805f60a08688031215611f83575f80fd5b611f8c86611da1565b9450611f9a60208701611da1565b9350611fa860408701611da1565b9250611fb660608701611da1565b9150611fc460808701611da1565b90509295509295909350565b5f805f60608486031215611fe2575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561200a575f80fd5b61201383611da1565b915061202160208401611da1565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f8261208d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108325761083261205f565b634e487b7160e01b5f52603260045260245ffd5b5f600182016120ce576120ce61205f565b5060010190565b5f602082840312156120e5575f80fd5b5051919050565b5f602082840312156120fc575f80fd5b815161098d81611de4565b818103818111156108325761083261205f565b808201808211156108325761083261205f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561217b5784516001600160a01b031683529383019391830191600101612156565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156121ae575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220869a6db8fabc850fa4c6094acc7ac295439f69d5eb588c5a607e3726648f6db264736f6c63430008150033

Deployed Bytecode Sourcemap

5141:13901:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6943:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6943:55:0;;;;;;;;8464:80;;;;;;;;;;-1:-1:-1;8536:5:0;;;;;;;;;;;;-1:-1:-1;;;8536:5:0;;;;8464:80;;;;;;;:::i;6773:31::-;;;;;;;;;;-1:-1:-1;6773:31:0;;;;-1:-1:-1;;;6773:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6773:31:0;749:187:1;8886:216:0;;;;;;;;;;-1:-1:-1;8886:216:0;;;;;:::i;:::-;;:::i;14795:138::-;;;;;;;;;;;;;:::i;:::-;;14308:92;;;;;;;;;;-1:-1:-1;14308:92:0;;;;;:::i;:::-;;:::i;18816:150::-;;;;;;;;;;-1:-1:-1;18816:150:0;;;;;:::i;:::-;;:::i;8194:88::-;;;;;;;;;;-1:-1:-1;8267:12:0;;8194:88;;6119:94;;;;;;;;;;;;;;;;9404:370;;;;;;;;;;-1:-1:-1;9404:370:0;;;;;:::i;:::-;;:::i;18491:142::-;;;;;;;;;;;;;:::i;15090:100::-;;;;;;;;;;;;;:::i;8288:80::-;;;;;;;;;;-1:-1:-1;8288:80:0;;5480:1;2475:36:1;;2463:2;2448:18;8288:80:0;2333:184:1;9110:122:0;;;;;;;;;;-1:-1:-1;9110:122:0;;;;;:::i;:::-;;:::i;9786:223::-;;;;;;;;;;-1:-1:-1;9786:223:0;;;;;:::i;:::-;;:::i;17100:580::-;;;;;;;;;;-1:-1:-1;17100:580:0;;;;;:::i;:::-;;:::i;14408:197::-;;;;;;;;;;-1:-1:-1;14408:197:0;;;;;:::i;:::-;;:::i;6906:30::-;;;;;;;;;;-1:-1:-1;6906:30:0;;;;;;;;6851:43;;;;;;;;;;-1:-1:-1;6851:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8634:105;;;;;;;;;;-1:-1:-1;8634:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8718:18:0;8700:7;8718:18;;;:9;:18;;;;;;;8634:105;3198:148;;;;;;;;;;;;;:::i;5619:63::-;;;;;;;;;;;;;;;;5552:60;;;;;;;;;;;;;;;;8550:78;;;;;;;;;;-1:-1:-1;8602:7:0;3049:6;-1:-1:-1;;;;;3049:6:0;8550:78;;;-1:-1:-1;;;;;4345:32:1;;;4327:51;;4315:2;4300:18;8550:78:0;4181:203:1;13673:118:0;;;;;;;;;;;;;:::i;2984:79::-;;;;;;;;;;-1:-1:-1;3022:7:0;3049:6;-1:-1:-1;;;;;3049:6:0;2984:79;;8374:84;;;;;;;;;;-1:-1:-1;8448:7:0;;;;;;;;;;;;-1:-1:-1;;;8448:7:0;;;;8374:84;;18146:153;;;;;;;;;;-1:-1:-1;18146:153:0;;;;;:::i;:::-;;:::i;14942:136::-;;;;;;;;;;;;;:::i;6741:19::-;;;;;;;;;;-1:-1:-1;6741:19:0;;;;-1:-1:-1;;;;;6741:19:0;;;9240:156;;;;;;;;;;-1:-1:-1;9240:156:0;;;;;:::i;:::-;;:::i;13536:129::-;;;;;;;;;;;;;:::i;2604:21::-;;;;;;;;;;-1:-1:-1;2604:21:0;;;;-1:-1:-1;;;;;2604:21:0;;;6814:30;;;;;;;;;;-1:-1:-1;6814:30:0;;;;-1:-1:-1;;;6814:30:0;;;;;;14613:174;;;;;;;;;;;;;:::i;17688:450::-;;;;;;;;;;-1:-1:-1;17688:450:0;;;;;:::i;:::-;;:::i;14092:207::-;;;;;;;;;;-1:-1:-1;14092:207:0;;;;;:::i;:::-;;:::i;18641:167::-;;;;;;;;;;-1:-1:-1;18641:167:0;;;;;:::i;:::-;;:::i;13799:285::-;;;;;;;;;;-1:-1:-1;13799:285:0;;;;;:::i;:::-;;:::i;13323:198::-;;;;;;;;;;-1:-1:-1;13323:198:0;;;;;:::i;:::-;;:::i;8745:133::-;;;;;;;;;;-1:-1:-1;8745:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8847:19:0;;;8829:7;8847:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8745:133;3354:244;;;;;;;;;;-1:-1:-1;3354:244:0;;;;;:::i;:::-;;:::i;18307:172::-;;;;;;;;;;-1:-1:-1;18307:172:0;;;;;:::i;:::-;;:::i;6671:24::-;;;;;;;;;;-1:-1:-1;6671:24:0;;;;-1:-1:-1;;;;;6671:24:0;;;8886:216;8990:10;8961:4;8978:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8978:32:0;;;;;;;;;;:41;;;9035:37;8961:4;;8978:32;;9035:37;;;;9013:6;160:25:1;;148:2;133:18;;14:177;9035:37:0;;;;;;;;-1:-1:-1;9090:4:0;8886:216;;;;;:::o;14795:138::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;;;;;;;;;14858:3:::1;14842:13;:19:::0;14889:3:::1;14872:14;:20:::0;-1:-1:-1;14903:18:0::1;:22:::0;14795:138::o;14308:92::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;14372:10:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;14372:20:0::1;-1:-1:-1::0;;;;14372:20:0;;::::1;::::0;;;::::1;::::0;;14308:92::o;18816:150::-;18896:4;18952:6;18920:29;18940:8;18920:19;:29::i;:::-;:38;;18816:150;-1:-1:-1;;;18816:150:0:o;9404:370::-;-1:-1:-1;;;;;9524:19:0;;9504:4;9524:19;;;:11;:19;;;;;;;;9544:10;9524:31;;;;;;;;-1:-1:-1;;9524:52:0;9521:186;;9626:69;;;;;;;;;;;-1:-1:-1;;;9626:69:0;;;;;;;;-1:-1:-1;;;;;9626:19:0;;-1:-1:-1;9626:19:0;;;:11;:19;;;;;9646:10;9626:31;;;;;;;;;;:69;;9662:6;;9626:35;:69::i;:::-;-1:-1:-1;;;;;9592:19:0;;;;;;:11;:19;;;;;;;;9612:10;9592:31;;;;;;;:103;9521:186;9726:40;9740:6;9748:9;9759:6;9726:13;:40::i;:::-;9719:47;;9404:370;;;;;;:::o;18491:142::-;18619:4;;-1:-1:-1;;;;;18619:4:0;18544:7;8718:18;;;:9;:18;;;;;;18571:54;;18598:4;;-1:-1:-1;;;;;18598:4:0;8700:7;8718:18;;;:9;:18;;;;;;18571:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18564:61;;18491:142;:::o;15090:100::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;15136:11:::1;:18:::0;;-1:-1:-1;;;;15165:17:0;-1:-1:-1;;;15165:17:0;;;15090:100::o;9110:122::-;9165:4;9189:35;9197:7;-1:-1:-1;;9189:7:0;:35::i;9786:223::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;9909:4:::1;9894:12;;:19;;;;:::i;:::-;9875:15;;:38;;9867:47;;;::::0;::::1;;9979:4;9960:14;9945:12;;:29;;;;:::i;:::-;9944:39;;;;:::i;:::-;9926:15;:57:::0;-1:-1:-1;9786:223:0:o;17100:580::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;17287:12:::1;:28:::0;;;17326:7:::1;:18:::0;;;17355:12:::1;:28:::0;;;17394:10:::1;:24:::0;;;17429:7:::1;:18:::0;;;17469:77:::1;17439:8:::0;17469:63:::1;17407:11:::0;17469:63;17370:13;17469:63;17302:13;17336:8;17469:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:77::-;17458:8;:88:::0;17557:14:::1;:32:::0;;;17619:18:::1;17636:1;17574:15:::0;17619:18:::1;:::i;:::-;17608:8;;:29;17600:71;;;::::0;-1:-1:-1;;;17600:71:0;;7094:2:1;17600:71:0::1;::::0;::::1;7076:21:1::0;7133:2;7113:18;;;7106:30;7172:31;7152:18;;;7145:59;7221:18;;17600:71:0::1;6892:353:1::0;17600:71:0::1;17100:580:::0;;;;;;:::o;14408:197::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;14500:9:::1;14495:103;14511:20:::0;;::::1;14495:103;;;14580:6;14553:10;:24;14564:9;;14574:1;14564:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14553:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14553:24:0;:33;;-1:-1:-1;;14553:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14533:3:::1;::::0;::::1;:::i;:::-;;;14495:103;;;;14408:197:::0;;;:::o;3198:148::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;3305:1:::1;3289:6:::0;;3268:40:::1;::::0;-1:-1:-1;;;;;3289:6:0;;::::1;::::0;3268:40:::1;::::0;3305:1;;3268:40:::1;3336:1;3319:19:::0;;-1:-1:-1;;;;;;3319:19:0::1;::::0;;3198:148::o;13673:118::-;13727:21;;13719:62;;-1:-1:-1;;;;;13727:21:0;;;;13759;13719:62;;;;;13727:21;13719:62;13727:21;13719:62;13759:21;13727;13719:62;;;;;;;;;;;;;;;;;;;;;13673:118::o;18146:153::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;18235:11:::1;:22:::0;;-1:-1:-1;;18235:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;18268:13:::1;:23:::0;18146:153::o;14942:136::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;15005:2:::1;14989:13;:18:::0;;;15018:14:::1;:19:::0;-1:-1:-1;15048:18:0::1;:22:::0;14942:136::o;9240:156::-;9320:4;9344:44;9358:10;9370:9;9381:6;9344:13;:44::i;13536:129::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;13605:12:::1;::::0;13587:15:::1;:30:::0;;;13628:12:::1;:27:::0;13536:129::o;14613:174::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;14664:10:::1;:18:::0;;-1:-1:-1;;;;14664:18:0::1;::::0;;14709:3:::1;14693:13;:19:::0;14740:3:::1;14723:14;:20:::0;14775:4:::1;14664:10;14754:25:::0;14613:174::o;17688:450::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;17888:21:::1;:46:::0;;-1:-1:-1;;;;;;17888:46:0;;::::1;-1:-1:-1::0;;;;;17888:46:0;;::::1;;::::0;;;17945:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18000:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18051:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18096:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17688:450::o;14092:207::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;14184:14:::1;:22:::0;;;;14217:13:::1;:20:::0;;;;14248:18:::1;:27:::0;14092:207::o;18641:167::-;18709:7;18736:64;18777:22;:20;:22::i;:::-;18759:4;;-1:-1:-1;;;;;18759:4:0;8700:7;8718:18;;;:9;:18;;;;;;18736:36;;18749:22;;18769:1;;18749:15;:19;;:22::i;:::-;18736:8;;:12;:36::i;:::-;:40;;:64::i;13799:285::-;13881:4;13908:6;13918:1;13908:11;13905:95;;13944:44;;-1:-1:-1;;;13944:44:0;;13982:4;13944:44;;;4327:51:1;-1:-1:-1;;;;;13944:29:0;;;;;4300:18:1;;13944:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13935:53;;13905:95;14046:21;;14017:59;;-1:-1:-1;;;14017:59:0;;-1:-1:-1;;;;;14046:21:0;;;14017:59;;;7885:51:1;7952:18;;;7945:34;;;14017:28:0;;;;;;7858:18:1;;14017:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13323:198::-;13452:15;;13412:21;;-1:-1:-1;;;;;13452:15:0;13444:69;13509:3;13478:28;13490:16;13412:21;13478:28;:::i;:::-;:34;;;;:::i;:::-;13444:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13381:140;13323:198;:::o;3354:244::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3443:22:0;::::1;3435:73;;;::::0;-1:-1:-1;;;3435:73:0;;8442:2:1;3435:73:0::1;::::0;::::1;8424:21:1::0;8481:2;8461:18;;;8454:30;8520:34;8500:18;;;8493:62;-1:-1:-1;;;8571:18:1;;;8564:36;8617:19;;3435:73:0::1;8240:402:1::0;3435:73:0::1;3545:6;::::0;;3524:38:::1;::::0;-1:-1:-1;;;;;3524:38:0;;::::1;::::0;3545:6;::::1;::::0;3524:38:::1;::::0;::::1;3573:6;:17:::0;;-1:-1:-1;;;;;;3573:17:0::1;-1:-1:-1::0;;;;;3573:17:0;;;::::1;::::0;;;::::1;::::0;;3354:244::o;18307:172::-;3111:6;;-1:-1:-1;;;;;3111:6:0;2421:10;3111:22;3103:67;;;;-1:-1:-1;;;3103:67:0;;;;;;;:::i;:::-;18394:15:::1;:25:::0;;;;18430:26:::1;:41:::0;18307:172::o;585:192::-;671:7;707:12;699:6;;;;691:29;;;;-1:-1:-1;;;691:29:0;;;;;;;;:::i;:::-;-1:-1:-1;731:9:0;743:5;747:1;743;:5;:::i;:::-;731:17;585:192;-1:-1:-1;;;;;585:192:0:o;10028:1427::-;10140:6;;10120:4;;10140:6;;10137:63;;;10156:41;10171:6;10179:9;10190:6;10156:14;:41::i;:::-;10149:48;;;;10137:63;-1:-1:-1;;;;;10216:22:0;;;;;;:14;:22;;;;;;;;10215:23;:53;;;;-1:-1:-1;;;;;;10243:25:0;;;;;;:14;:25;;;;;;;;10242:26;10215:53;10212:245;;;10292:11;;-1:-1:-1;;;10292:11:0;;;;10284:43;;;;-1:-1:-1;;;10284:43:0;;8982:2:1;10284:43:0;;;8964:21:1;9021:2;9001:18;;;8994:30;-1:-1:-1;;;9040:18:1;;;9033:50;9100:18;;10284:43:0;8780:344:1;10284:43:0;10356:10;;-1:-1:-1;;;10356:10:0;;;;10353:93;;;-1:-1:-1;;;;;10394:21:0;;;;;;:10;:21;;;;;;;;10386:45;;;;-1:-1:-1;;;10386:45:0;;9331:2:1;10386:45:0;;;9313:21:1;9370:2;9350:18;;;9343:30;-1:-1:-1;;;9389:18:1;;;9382:42;9441:18;;10386:45:0;9129:336:1;10386:45:0;-1:-1:-1;;;;;10489:22:0;;;;;;:14;:22;;;;;;;;10488:23;:53;;;;-1:-1:-1;;;;;;10515:26:0;;10536:4;10515:26;;10488:53;:84;;;;-1:-1:-1;10567:4:0;;-1:-1:-1;;;;;10546:26:0;;;10567:4;;10546:26;;10488:84;:105;;;;-1:-1:-1;10589:4:0;;-1:-1:-1;;;;;10576:17:0;;;10589:4;;10576:17;;10488:105;:137;;;;-1:-1:-1;10610:15:0;;-1:-1:-1;;;;;10597:28:0;;;10610:15;;10597:28;;10488:137;:174;;;;-1:-1:-1;10642:20:0;;-1:-1:-1;;;;;10629:33:0;;;10642:20;;10629:33;;10488:174;:206;;;;-1:-1:-1;;;;;;10667:27:0;;;;;;:16;:27;;;;;;;;10666:28;10488:206;10484:398;;;-1:-1:-1;;;;;8718:18:0;;10710;8718;;;:9;:18;;;;;;10799:15;;10775:19;10788:6;8718:18;10775:19;:::i;:::-;10774:40;;10766:114;;;;-1:-1:-1;;;10766:114:0;;9802:2:1;10766:114:0;;;9784:21:1;9841:2;9821:18;;;9814:30;9880:34;9860:18;;;9853:62;9951:32;9931:18;;;9924:60;10001:19;;10766:114:0;9600:426:1;10766:114:0;10695:187;10484:398;10947:28;10960:6;10968;10947:12;:28::i;:::-;10992:16;:14;:16::i;:::-;10989:35;;;11011:10;:8;:10::i;:::-;11104:53;;;;;;;;;;;-1:-1:-1;;;11104:53:0;;;;;;;;-1:-1:-1;;;;;11104:17:0;;-1:-1:-1;11104:17:0;;;:9;:17;;;;;;;;:53;;11126:6;;11104:21;:53::i;:::-;-1:-1:-1;;;;;11084:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11196:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;11220:23:0;;;;;;:12;:23;;;;;;;;11196:47;11195:95;;11256:34;11264:6;11272;11280:9;11256:7;:34::i;:::-;11195:95;;;11247:6;11195:95;-1:-1:-1;;;;;11324:20:0;;;;;;:9;:20;;;;;;11170:120;;-1:-1:-1;11324:40:0;;11170:120;11324:24;:40::i;:::-;-1:-1:-1;;;;;11301:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11382:43;;;;;;-1:-1:-1;;;;;;;;;;;11382:43:0;;;11410:14;160:25:1;;148:2;133:18;;14:177;11382:43:0;;;;;;;;-1:-1:-1;11443:4:0;;10028:1427;-1:-1:-1;;;;10028:1427:0:o;443:136::-;501:7;528:43;532:1;535;528:43;;;;;;;;;;;;;;;;;:3;:43::i;256:181::-;314:7;;346:5;350:1;346;:5;:::i;:::-;334:17;;375:1;370;:6;;362:46;;;;-1:-1:-1;;;362:46:0;;10233:2:1;362:46:0;;;10215:21:1;10272:2;10252:18;;;10245:30;10311:29;10291:18;;;10284:57;10358:18;;362:46:0;10031:351:1;783:250:0;841:7;865:1;870;865:6;861:47;;-1:-1:-1;895:1:0;888:8;;861:47;920:9;932:5;936:1;932;:5;:::i;:::-;920:17;-1:-1:-1;965:1:0;956:5;960:1;920:17;956:5;:::i;:::-;:10;948:56;;;;-1:-1:-1;;;948:56:0;;10589:2:1;948:56:0;;;10571:21:1;10628:2;10608:18;;;10601:30;10667:34;10647:18;;;10640:62;-1:-1:-1;;;10718:18:1;;;10711:31;10759:19;;948:56:0;10387:397:1;1039:132:0;1097:7;1124:39;1128:1;1131;1124:39;;;;;;;;;;;;;;;;;:3;:39::i;11467:330::-;11597:53;;;;;;;;;;;-1:-1:-1;;;11597:53:0;;;;;;;;-1:-1:-1;;;;;11597:17:0;;11560:4;11597:17;;;:9;:17;;;;;;;:53;;11619:6;;11597:21;:53::i;:::-;-1:-1:-1;;;;;11577:17:0;;;;;;;:9;:17;;;;;;:73;;;;11684:20;;;;;;;:32;;11709:6;11684:24;:32::i;:::-;-1:-1:-1;;;;;11661:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11732:35;;;;;;-1:-1:-1;;;;;;;;;;;11732:35:0;;;11760:6;160:25:1;;148:2;133:18;;14:177;11732:35:0;;;;;;;;-1:-1:-1;11785:4:0;11467:330;;;;;:::o;11805:167::-;11902:12;;11892:6;:22;;:50;;;-1:-1:-1;;;;;;11918:24:0;;;;;;:16;:24;;;;;;;;11892:50;11884:80;;;;-1:-1:-1;;;11884:80:0;;10991:2:1;11884:80:0;;;10973:21:1;11030:2;11010:18;;;11003:30;-1:-1:-1;;;11049:18:1;;;11042:47;11106:18;;11884:80:0;10789:341:1;11884:80:0;11805:167;;:::o;13118:197::-;13205:4;;13167;;-1:-1:-1;;;;;13205:4:0;13191:10;:18;;;;:38;;-1:-1:-1;13223:6:0;;;;13222:7;13191:38;:62;;;;-1:-1:-1;13242:11:0;;;;13191:62;:116;;;;-1:-1:-1;;13294:13:0;;13284:4;13266:24;;;;:9;:24;;;;;;:41;;;13118:197::o;15206:1877::-;7046:6;:13;;-1:-1:-1;;7046:13:0;7055:4;7046:13;;;15301:15:::1;::::0;15318:26:::1;::::0;7046:6;;15285:60:::1;::::0;:15:::1;:60::i;:::-;:79;;15352:12;;15285:79;;;15348:1;15285:79;15255:109;;15375:23;15401:59;15458:1;15401:52;15444:8;;15401:38;15419:19;15401:13;;:17;;:38;;;;:::i;:59::-;15375:85;;15471:20;15494:34;15512:15;15494:13;;:17;;:34;;;;:::i;:::-;15565:16;::::0;;15579:1:::1;15565:16:::0;;;;;::::1;::::0;;15471:57;;-1:-1:-1;15541:21:0::1;::::0;15565:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15565:16:0::1;15541:40;;15610:4;15592;15597:1;15592:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15592:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15636:4:::1;::::0;15626:7;;15636:4;::::1;::::0;15626;;15636;;15626:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15626:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15711:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15711:188:0;;15677:21:::1;::::0;15711:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15783:12;;15653:21:::1;::::0;15826:4;;15853::::1;::::0;15873:15:::1;::::0;15711:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15912:17;15932:40;15958:13;15932:21;:25;;:40;;;;:::i;:::-;15912:60:::0;-1:-1:-1;15985:19:0::1;16007:40;16020:26;:19:::0;16044:1:::1;16020:23;:26::i;:::-;16007:8;::::0;;:12:::1;:40::i;:::-;15985:62:::0;-1:-1:-1;16068:26:0::1;16097:58;16153:1;16097:51;15985:62:::0;16097:51;:9;16111:19;16097:13:::1;:34::i;:58::-;16068:87;;16166:26;16195:44;16227:11;16195:27;16209:12;;16195:9;:13;;:27;;;;:::i;:44::-;16166:73;;16250:21;16274:39;16301:11;16274:22;16288:7;;16274:9;:13;;:22;;;;:::i;:39::-;16250:63;;16324:24;16351:42;16381:11;16351:25;16365:10;;16351:9;:13;;:25;;;;:::i;:42::-;16435:20;::::0;16427:65:::1;::::0;16324:69;;-1:-1:-1;16407:15:0::1;::::0;-1:-1:-1;;;;;16435:20:0;;::::1;::::0;16469:18;;16407:15;16427:65;16407:15;16427:65;16469:18;16435:20;16427:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16527:18:0::1;::::0;16519:61:::1;::::0;16406:86;;-1:-1:-1;;;;;;16527:18:0::1;::::0;16559:16;;16519:61:::1;::::0;;;16559:16;16527:18;16519:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16615:15:0::1;::::0;16607:55:::1;::::0;16503:77;;-1:-1:-1;;;;;;16615:15:0::1;::::0;16644:13;;16607:55:::1;::::0;;;16644:13;16615:15;16607:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16696:5:0::1;::::0;-1:-1:-1;;16717:19:0;;;-1:-1:-1;16714:362:0::1;;16752:6;::::0;16926:21:::1;::::0;16752:244:::1;::::0;-1:-1:-1;;;16752:244:0;;16828:4:::1;16752:244;::::0;::::1;12803:34:1::0;12853:18;;;12846:34;;;16752:6:0::1;12896:18:1::0;;;12889:34;;;12939:18;;;12932:34;-1:-1:-1;;;;;16926:21:0;;::::1;12982:19:1::0;;;12975:44;16966:15:0::1;13035:19:1::0;;;13028:35;16752:6:0;::::1;::::0;:22:::1;::::0;16782:18;;12737:19:1;;16752:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17016:48:0::1;::::0;;13559:25:1;;;13615:2;13600:18;;13593:34;;;17016:48:0::1;::::0;-1:-1:-1;13532:18:1;17016:48:0::1;;;;;;;16714:362;-1:-1:-1::0;;7064:6:0;:14;;-1:-1:-1;;7064:14:0;;;-1:-1:-1;;;;;;;;;;15206:1877:0:o;12103:1007::-;12240:18;;12287:4;;12189:7;;12240:18;-1:-1:-1;;;;;12287:4:0;;;12274:17;;;;12271:154;;-1:-1:-1;12321:14:0;;12271:154;;;12366:4;;-1:-1:-1;;;;;12366:4:0;;;12356:14;;;;12353:72;;-1:-1:-1;12400:13:0;;12353:72;12437:17;12457:62;12498:14;;12515:3;12498:20;;;;:::i;:::-;12457:36;12482:10;12457:20;12468:8;;12457:6;:10;;:20;;;;:::i;:62::-;12437:82;;12530:18;12551:36;12578:8;;12551:22;12565:7;;12551:9;:13;;:22;;;;:::i;:36::-;12530:57;-1:-1:-1;12598:22:0;12623:25;:9;12530:57;12623:13;:25::i;:::-;12706:4;12688:24;;;;:9;:24;;;;;;12598:50;;-1:-1:-1;12688:44:0;;12598:50;12688:28;:44::i;:::-;12679:4;12661:24;;;;:9;:24;;;;;;:71;;;;12782:15;;-1:-1:-1;;;;;12782:15:0;12772:26;;;;:42;;12803:10;12772:30;:42::i;:::-;12753:15;;-1:-1:-1;;;;;12753:15:0;;;12743:26;;;;:9;:26;;;;;;;;;:71;;;;12830:47;160:25:1;;;12855:4:0;;12830:47;;;;-1:-1:-1;;;;;;;;;;;12830:47:0;133:18:1;12830:47:0;;;;;;;12911:14;;12908:154;;12956:12;;:28;;12973:10;12956:16;:28::i;:::-;12941:12;:43;13021:4;;13004:34;;160:25:1;;;-1:-1:-1;;;;;13021:4:0;;;;13004:34;;;-1:-1:-1;;;;;;;;;;;13004:34:0;148:2:1;133:18;13004:34:0;;;;;;;12908:154;13081:21;:6;13092:9;13081:10;:21::i;:::-;13074:28;12103:1007;-1:-1:-1;;;;;;;;12103:1007:0:o;1177:189::-;1263:7;1298:12;1291:5;1283:28;;;;-1:-1:-1;;;1283:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1322:9:0;1334:5;1338:1;1334;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;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:118::-;1464:5;1457:13;1450:21;1443:5;1440:32;1430:60;;1486:1;1483;1476:12;1501:241;1557:6;1610:2;1598:9;1589:7;1585:23;1581:32;1578:52;;;1626:1;1623;1616:12;1578:52;1665:9;1652:23;1684:28;1706:5;1684:28;:::i;1747:248::-;1815:6;1823;1876:2;1864:9;1855:7;1851:23;1847:32;1844:52;;;1892:1;1889;1882:12;1844:52;-1:-1:-1;;1915:23:1;;;1985:2;1970:18;;;1957:32;;-1:-1:-1;1747:248:1:o;2000:328::-;2077:6;2085;2093;2146:2;2134:9;2125:7;2121:23;2117:32;2114:52;;;2162:1;2159;2152:12;2114:52;2185:29;2204:9;2185:29;:::i;:::-;2175:39;;2233:38;2267:2;2256:9;2252:18;2233:38;:::i;:::-;2223:48;;2318:2;2307:9;2303:18;2290:32;2280:42;;2000:328;;;;;:::o;2522:186::-;2581:6;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:29;2692:9;2673:29;:::i;2713:180::-;2772:6;2825:2;2813:9;2804:7;2800:23;2796:32;2793:52;;;2841:1;2838;2831:12;2793:52;-1:-1:-1;2864:23:1;;2713:180;-1:-1:-1;2713:180:1:o;2898:523::-;3002:6;3010;3018;3026;3034;3042;3095:3;3083:9;3074:7;3070:23;3066:33;3063:53;;;3112:1;3109;3102:12;3063:53;-1:-1:-1;;3135:23:1;;;3205:2;3190:18;;3177:32;;-1:-1:-1;3256:2:1;3241:18;;3228:32;;3307:2;3292:18;;3279:32;;-1:-1:-1;3358:3:1;3343:19;;3330:33;;-1:-1:-1;3410:3:1;3395:19;3382:33;;-1:-1:-1;2898:523:1;-1:-1:-1;2898:523:1:o;3426:750::-;3518:6;3526;3534;3587:2;3575:9;3566:7;3562:23;3558:32;3555:52;;;3603:1;3600;3593:12;3555:52;3643:9;3630:23;3672:18;3713:2;3705:6;3702:14;3699:34;;;3729:1;3726;3719:12;3699:34;3767:6;3756:9;3752:22;3742:32;;3812:7;3805:4;3801:2;3797:13;3793:27;3783:55;;3834:1;3831;3824:12;3783:55;3874:2;3861:16;3900:2;3892:6;3889:14;3886:34;;;3916:1;3913;3906:12;3886:34;3971:7;3964:4;3954:6;3951:1;3947:14;3943:2;3939:23;3935:34;3932:47;3929:67;;;3992:1;3989;3982:12;3929:67;4023:4;4015:13;;;;-1:-1:-1;4047:6:1;-1:-1:-1;;4088:20:1;;4075:34;4118:28;4075:34;4118:28;:::i;:::-;4165:5;4155:15;;;3426:750;;;;;:::o;4389:309::-;4454:6;4462;4515:2;4503:9;4494:7;4490:23;4486:32;4483:52;;;4531:1;4528;4521:12;4483:52;4570:9;4557:23;4589:28;4611:5;4589:28;:::i;4703:484::-;4798:6;4806;4814;4822;4830;4883:3;4871:9;4862:7;4858:23;4854:33;4851:53;;;4900:1;4897;4890:12;4851:53;4923:29;4942:9;4923:29;:::i;:::-;4913:39;;4971:38;5005:2;4994:9;4990:18;4971:38;:::i;:::-;4961:48;;5028:38;5062:2;5051:9;5047:18;5028:38;:::i;:::-;5018:48;;5085:38;5119:2;5108:9;5104:18;5085:38;:::i;:::-;5075:48;;5142:39;5176:3;5165:9;5161:19;5142:39;:::i;:::-;5132:49;;4703:484;;;;;;;;:::o;5192:316::-;5269:6;5277;5285;5338:2;5326:9;5317:7;5313:23;5309:32;5306:52;;;5354:1;5351;5344:12;5306:52;-1:-1:-1;;5377:23:1;;;5447:2;5432:18;;5419:32;;-1:-1:-1;5498:2:1;5483:18;;;5470:32;;5192:316;-1:-1:-1;5192:316:1:o;5513:260::-;5581:6;5589;5642:2;5630:9;5621:7;5617:23;5613:32;5610:52;;;5658:1;5655;5648:12;5610:52;5681:29;5700:9;5681:29;:::i;:::-;5671:39;;5729:38;5763:2;5752:9;5748:18;5729:38;:::i;:::-;5719:48;;5513:260;;;;;:::o;6004:356::-;6206:2;6188:21;;;6225:18;;;6218:30;6284:34;6279:2;6264:18;;6257:62;6351:2;6336:18;;6004:356::o;6365:127::-;6426:10;6421:3;6417:20;6414:1;6407:31;6457:4;6454:1;6447:15;6481:4;6478:1;6471:15;6497:217;6537:1;6563;6553:132;;6607:10;6602:3;6598:20;6595:1;6588:31;6642:4;6639:1;6632:15;6670:4;6667:1;6660:15;6553:132;-1:-1:-1;6699:9:1;;6497:217::o;6719:168::-;6792:9;;;6823;;6840:15;;;6834:22;;6820:37;6810:71;;6861:18;;:::i;7250:127::-;7311:10;7306:3;7302:20;7299:1;7292:31;7342:4;7339:1;7332:15;7366:4;7363:1;7356:15;7382:135;7421:3;7442:17;;;7439:43;;7462:18;;:::i;:::-;-1:-1:-1;7509:1:1;7498:13;;7382:135::o;7522:184::-;7592:6;7645:2;7633:9;7624:7;7620:23;7616:32;7613:52;;;7661:1;7658;7651:12;7613:52;-1:-1:-1;7684:16:1;;7522:184;-1:-1:-1;7522:184:1:o;7990:245::-;8057:6;8110:2;8098:9;8089:7;8085:23;8081:32;8078:52;;;8126:1;8123;8116:12;8078:52;8158:9;8152:16;8177:28;8199:5;8177:28;:::i;8647:128::-;8714:9;;;8735:11;;;8732:37;;;8749:18;;:::i;9470:125::-;9535:9;;;9556:10;;;9553:36;;;9569:18;;:::i;11267:980::-;11529:4;11577:3;11566:9;11562:19;11608:6;11597:9;11590:25;11634:2;11672:6;11667:2;11656:9;11652:18;11645:34;11715:3;11710:2;11699:9;11695:18;11688:31;11739:6;11774;11768:13;11805:6;11797;11790:22;11843:3;11832:9;11828:19;11821:26;;11882:2;11874:6;11870:15;11856:29;;11903:1;11913:195;11927:6;11924:1;11921:13;11913:195;;;11992:13;;-1:-1:-1;;;;;11988:39:1;11976:52;;12083:15;;;;12048:12;;;;12024:1;11942:9;11913:195;;;-1:-1:-1;;;;;;;12164:32:1;;;;12159:2;12144:18;;12137:60;-1:-1:-1;;;12228:3:1;12213:19;12206:35;12125:3;11267:980;-1:-1:-1;;;11267:980:1:o;13074:306::-;13162:6;13170;13178;13231:2;13219:9;13210:7;13206:23;13202:32;13199:52;;;13247:1;13244;13237:12;13199:52;13276:9;13270:16;13260:26;;13326:2;13315:9;13311:18;13305:25;13295:35;;13370:2;13359:9;13355:18;13349:25;13339:35;;13074:306;;;;;:::o

Swarm Source

ipfs://869a6db8fabc850fa4c6094acc7ac295439f69d5eb588c5a607e3726648f6db2
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.