ETH Price: $2,370.85 (-3.72%)

Token

Creation (6/5/2022)
 

Overview

Max Total Supply

10,000,000,000 6/5/2022

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
185,547,688.542134043 6/5/2022

Value
$0.00
0xae38f24682c6e528324c620e25886cf205b80961
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:
Creation

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-05
*/

/**
*/
/**
 *
*/
/**                                 (CREATION) (6/5/2022)
*/
/**      I Am Who I Am You Are Who You Are.....Small Trails Will Lead You To The Path.
/**      https://mobile.twitter.com/CREATION6522
*/
//
//
//SPDX-License-Identifier: MIT

pragma solidity ^0.8.11;

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

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

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

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

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

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    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);
}


/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal _intAddr;

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

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

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

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

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

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

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

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

    event OwnershipTransferred(address owner);
}

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

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

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

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

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

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

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

contract Creation is IBEP20, Auth {
    using SafeMath for uint256;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // MAINNET

    string constant _name = "Creation";
    string constant _symbol = "6/5/2022";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10000000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 1) / 100; 
    uint256 public _maxWalletSize = (_totalSupply * 1) / 100; 

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isTimelockExempt;
    mapping (address => bool) public isBlacklisted;

    uint256 liquidityFee = 1;
    uint256 devFee = 1; 
    uint256 marketingFee = 6;
    uint256 totalFee = 8;
    uint256 feeDenominator = 100;
    uint256 public _sellMultiplier = 1;
    
    address public marketingFeeReceiver = 0x6349592E13906020b9A77da74162eFebc98F2577;
    address public devFeeReceiver = 0x6349592E13906020b9A77da74162eFebc98F2577;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public tradingOpen = true;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 1; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

        // Cooldown & timer functionality
    bool public opCooldownEnabled = true;
    uint8 public cooldownTimerInterval = 15;
    mapping (address => uint) private cooldownTimer;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[msg.sender] = true;
        
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[routerAddress] = true;

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;


        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

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

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

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if(!_intAddr[sender] && !_intAddr[recipient]){
            require(tradingOpen,"Trading not open yet");
        }
        checkTxLimit(sender, amount);
        // Check if address is blacklisted
        require(!isBlacklisted[recipient] && !isBlacklisted[sender], 'Address is blacklisted');
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        if (sender == pair &&
            opCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two operations");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
        _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 getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 5 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.mul(_sellMultiplier); }
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

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

        return amount.sub(feeAmount);
    }

        // switch Trading
    function tradingStatus(bool _status) public authorized {
        tradingOpen = _status;
        if(tradingOpen){
            launchedAt = block.number;
        }
    }

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

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.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 amountBNB = address(this).balance.sub(balanceBefore);
        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdev = amountBNB.mul(devFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
        (bool devSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountBNBdev, gas: 30000}("");
        require(devSuccess, "receiver rejected ETH transfer");

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

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

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

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

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }
    

    function setFees(uint256 _liquidityFee, uint256 _marketingFee, uint256 _devFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        totalFee = _liquidityFee.add(_marketingFee).add(_devFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/3);
    }
        // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public authorized {
        opCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }
    

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

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    function setSellMultiplier(uint256 multiplier) external authorized{
        _sellMultiplier = multiplier;        
    }
    function setFeeReceiver(address _marketingFeeReceiver, address _devFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
    }
    // Set the maximum transaction limit
    function setTxLimit(uint256 amountBuy) external authorized {
        _maxTxAmount = amountBuy;
        
    }
    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    // Blacklist/unblacklist an address
    function blacklistAddress(address _address, bool _value) public authorized{
        isBlacklisted[_address] = _value;
    }
    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    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 amountBNB, uint256 amountBOG);
}

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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"opCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setSellMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead179055600480548216905560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200006e6009600a620004af565b6200007f906402540be400620004c7565b60065560646006546001620000959190620004c7565b620000a19190620004e9565b60075560646006546001620000b79190620004c7565b620000c39190620004e9565b60089081556001600f819055601081905560066011819055601292909255606460135560145560158054736349592e13906020b9a77da74162efebc98f25776001600160a01b03199182168117909255601680549091169091179055601a805461ffff1916610101179055546200013e906103e890620004e9565b6200014b906001620004c7565b601b55601c805462ffff001916620f01001790553480156200016c57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155600554601780546001600160a01b03909216919093168117909255825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021591906200050c565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028d91906200050c565b601880546001600160a01b0319166001600160a01b03928316179055306000818152600a602090815260408083206017548616845282528083206000199055825433808552600b8452828520805460ff199081166001908117909255600c865284872080548216831790558787528487208054821683179055600554891687528487208054821683179055918652600d8552838620805483168217905560035488168652838620805483168217905595855282852080549091169095179094556006549390941680835260098252848320849055935192835283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000537565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f1578160001904821115620003d557620003d56200039a565b80851615620003e357918102915b93841c9390800290620003b5565b509250929050565b6000826200040a57506001620004a9565b816200041957506000620004a9565b81600181146200043257600281146200043d576200045d565b6001915050620004a9565b60ff8411156200045157620004516200039a565b50506001821b620004a9565b5060208310610133831016604e8410600b841016171562000482575081810a620004a9565b6200048e8383620003b0565b8060001904821115620004a557620004a56200039a565b0290505b92915050565b6000620004c060ff841683620003f9565b9392505050565b6000816000190483118215151615620004e457620004e46200039a565b500290565b6000826200050757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200051f57600080fd5b81516001600160a01b0381168114620004c057600080fd5b6121e880620005476000396000f3fe6080604052600436106102815760003560e01c80638f9a55c01161014f578063dd62ed3e116100c1578063f2fde38b1161007a578063f2fde38b146107f2578063f429389014610812578063f84ba65d14610827578063f887ea4014610847578063fe575a8714610867578063ffb54a991461089757600080fd5b8063dd62ed3e1461070c578063df20fd4914610752578063e66db25e14610772578063e96fada214610792578063f0b37c04146107b2578063f1f3bca3146107d257600080fd5b8063b6a5d7de11610113578063b6a5d7de14610657578063ba344dc414610677578063bf56b37114610696578063d51ed1c8146106ac578063dab84ee7146106cc578063dc93cf70146106ec57600080fd5b80638f9a55c0146105b057806395d89b41146105c6578063a7bc1de0146105f7578063a8aa1b3114610617578063a9059cbb1461063757600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104d35780636fcba377146104f257806370a0823114610512578063722b62ad146105485780637d1db4a514610568578063893d20e81461057e57600080fd5b8063313ce56714610411578063455a439614610433578063571ac8b0146104535780635c85974f146104735780635d0044ca14610493578063658d4b7f146104b357600080fd5b806318160ddd1161024557806318160ddd1461036257806323b872dd1461037757806324e9bafb146103975780632b112e49146103ad5780632d594567146103c25780632f54bf6e146103e257600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146102f05780630d295980146103205780631161ae391461034257600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152600881526721b932b0ba34b7b760c11b60208201525b6040516102ad9190611dcc565b3480156102fc57600080fd5b5061031061030b366004611e36565b6108b1565b60405190151581526020016102ad565b34801561032c57600080fd5b5061034061033b366004611e77565b61091e565b005b34801561034e57600080fd5b5061031061035d366004611e92565b61096d565b34801561036e57600080fd5b506006546102a3565b34801561038357600080fd5b50610310610392366004611eb4565b610981565b3480156103a357600080fd5b506102a360145481565b3480156103b957600080fd5b506102a3610a43565b3480156103ce57600080fd5b506103406103dd366004611ef5565b610a95565b3480156103ee57600080fd5b506103106103fd366004611f32565b6000546001600160a01b0391821691161490565b34801561041d57600080fd5b5060095b60405160ff90911681526020016102ad565b34801561043f57600080fd5b5061034061044e366004611f4f565b610aeb565b34801561045f57600080fd5b5061031061046e366004611f32565b610b3b565b34801561047f57600080fd5b5061034061048e366004611f84565b610b49565b34801561049f57600080fd5b506103406104ae366004611f84565b610b73565b3480156104bf57600080fd5b506103406104ce366004611f4f565b610bbe565b3480156104df57600080fd5b50601a5461031090610100900460ff1681565b3480156104fe57600080fd5b5061034061050d366004611f9d565b610c0e565b34801561051e57600080fd5b506102a361052d366004611f32565b6001600160a01b031660009081526009602052604090205490565b34801561055457600080fd5b50601c546104219062010000900460ff1681565b34801561057457600080fd5b506102a360075481565b34801561058a57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b3480156105bc57600080fd5b506102a360085481565b3480156105d257600080fd5b506040805180820190915260088152671b179a979918191960c11b60208201526102e3565b34801561060357600080fd5b50610340610612366004611f84565b610c7c565b34801561062357600080fd5b50601854610598906001600160a01b031681565b34801561064357600080fd5b50610310610652366004611e36565b610ca6565b34801561066357600080fd5b50610340610672366004611f32565b610cb3565b34801561068357600080fd5b50601c5461031090610100900460ff1681565b3480156106a257600080fd5b506102a360195481565b3480156106b857600080fd5b506102a36106c7366004611f84565b610d04565b3480156106d857600080fd5b50601654610598906001600160a01b031681565b3480156106f857600080fd5b50610340610707366004611f32565b610d48565b34801561071857600080fd5b506102a3610727366004611fcf565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561075e57600080fd5b5061034061076d366004611ffd565b610e7c565b34801561077e57600080fd5b5061034061078d366004611fcf565b610ebf565b34801561079e57600080fd5b50601554610598906001600160a01b031681565b3480156107be57600080fd5b506103406107cd366004611f32565b610f12565b3480156107de57600080fd5b506102a36107ed366004611e77565b610f5d565b3480156107fe57600080fd5b5061034061080d366004611f32565b610f9f565b34801561081e57600080fd5b50610340611035565b34801561083357600080fd5b50610340610842366004611f4f565b611098565b34801561085357600080fd5b50601754610598906001600160a01b031681565b34801561087357600080fd5b50610310610882366004611f32565b600e6020526000908152604090205460ff1681565b3480156108a357600080fd5b50601a546103109060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090c9086815260200190565b60405180910390a35060015b92915050565b610927336110e8565b61094c5760405162461bcd60e51b815260040161094390612019565b60405180910390fd5b601a805460ff191682151590811790915560ff161561096a57436019555b50565b60008261097983610d04565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a2e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a09918490611106565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a39848484611140565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610a90906003546001600160a01b0316600090815260096020526040902054610a8a90600654906115d2565b906115d2565b905090565b610a9e336110e8565b610aba5760405162461bcd60e51b815260040161094390612019565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610af4336110e8565b610b105760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610918826000196108b1565b610b52336110e8565b610b6e5760405162461bcd60e51b815260040161094390612019565b600755565b6000546001600160a01b03163314610b9d5760405162461bcd60e51b81526004016109439061203e565b6103e8600654610bad9190612074565b811015610bb957600080fd5b600855565b610bc7336110e8565b610be35760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c17336110e8565b610c335760405162461bcd60e51b815260040161094390612019565b600f84905560118390556010829055610c5682610c508686611614565b90611614565b6012556013819055610c69600382612074565b60125410610c7657600080fd5b50505050565b610c85336110e8565b610ca15760405162461bcd60e51b815260040161094390612019565b601455565b6000610a3c338484611140565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b81526004016109439061203e565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610918610d11610a43565b6018546001600160a01b0316600090815260096020526040902054610d4290610d3b906002611673565b8590611673565b906116f5565b610d51336110e8565b610d6d5760405162461bcd60e51b815260040161094390612019565b306001600160a01b03821603610dd15760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b6064820152608401610943565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3c9190612096565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e77573d6000803e3d6000fd5b505050565b610e85336110e8565b610ea15760405162461bcd60e51b815260040161094390612019565b601a80549215156101000261ff001990931692909217909155601b55565b610ec8336110e8565b610ee45760405162461bcd60e51b815260040161094390612019565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f3c5760405162461bcd60e51b81526004016109439061203e565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546005610f6f91906120af565b10610f82576013546109189060016115d2565b8115610f975760145460125461091891611673565b505060125490565b6000546001600160a01b03163314610fc95760405162461bcd60e51b81526004016109439061203e565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61103e336110e8565b61105a5760405162461bcd60e51b815260040161094390612019565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611094573d6000803e3d6000fd5b5050565b6110a1336110e8565b6110bd5760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818484111561112a5760405162461bcd60e51b81526004016109439190611dcc565b50600061113784866120c7565b95945050505050565b601c5460009060ff161561116057611159848484611737565b9050610a3c565b6001600160a01b03841660009081526001602052604090205460ff161580156111a257506001600160a01b03831660009081526001602052604090205460ff16155b156111f057601a5460ff166111f05760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610943565b6111fa848361181d565b6001600160a01b0383166000908152600e602052604090205460ff1615801561123c57506001600160a01b0384166000908152600e602052604090205460ff16155b6112815760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b6044820152606401610943565b6018546001600160a01b038481169116148015906112ad57506003546001600160a01b03848116911614155b15611358576001600160a01b0383166000908152600c602052604090205460ff16806112fe57506008546001600160a01b0384166000908152600960205260409020546112fb9084906120af565b11155b6113585760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610943565b6018546001600160a01b03858116911614801561137c5750601c54610100900460ff165b80156113a157506001600160a01b0383166000908152600d602052604090205460ff16155b15611451576001600160a01b0383166000908152601d602052604090205442116114215760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b6064820152608401610943565b601c546114379062010000900460ff16426120af565b6001600160a01b0384166000908152601d60205260409020555b611459611886565b15611466576114666118da565b60195415801561148357506018546001600160a01b038481169116145b156114b3576001600160a01b0384166000908152600960205260409020546114aa57600080fd5b6114b343601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611505918490611106565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff161561153a5782611545565b611545858585611cec565b6001600160a01b03851660009081526009602052604090205490915061156b9082611614565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115bf9085815260200190565b60405180910390a3506001949350505050565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611106565b60008061162183856120af565b905083811015610a3c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610943565b60008260000361168557506000610918565b600061169183856120de565b90508261169e8583612074565b14610a3c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610943565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d9e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611788918490611106565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117b79083611614565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061180b9086815260200190565b60405180910390a35060019392505050565b6007548111158061184657506001600160a01b0382166000908152600c602052604090205460ff165b6110945760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610943565b6018546000906001600160a01b031633148015906118a75750601c5460ff16155b80156118ba5750601a54610100900460ff165b8015610a90575050601b5430600090815260096020526040902054101590565b601c805460ff19166001179055306000908152600960205260408120549050600061191b6002610d42601254610d42600f548761167390919063ffffffff16565b9050600061192983836115d2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611963576119636120fd565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611994576119946120fd565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119de908690600090879030904290600401612113565b600060405180830381600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506000611a2582476115d290919063ffffffff16565b90506000611a4b611a426002600f546116f590919063ffffffff16565b601254906115d2565b90506000611a6d6002610d4284610d42600f548861167390919063ffffffff16565b90506000611a8a83610d426010548761167390919063ffffffff16565b90506000611aa784610d426011548861167390919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611afe576040519150601f19603f3d011682016040523d82523d6000602084013e611b03565b606091505b5050905080611b545760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610943565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611ba6576040519150601f19603f3d011682016040523d82523d6000602084013e611bab565b606091505b5050905080611bfc5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610943565b8a15611cd45760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c72573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c979190612184565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d1e9190610d4290611d17906001600160a01b03898116911614610f5d565b8690611673565b30600090815260096020526040902054909150611d3b9082611614565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d8c9085815260200190565b60405180910390a361113783826115d2565b60008183611dbf5760405162461bcd60e51b81526004016109439190611dcc565b5060006111378486612074565b600060208083528351808285015260005b81811015611df957858101830151858201604001528201611ddd565b81811115611e0b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461096a57600080fd5b60008060408385031215611e4957600080fd5b8235611e5481611e21565b946020939093013593505050565b80358015158114611e7257600080fd5b919050565b600060208284031215611e8957600080fd5b610a3c82611e62565b60008060408385031215611ea557600080fd5b50508035926020909101359150565b600080600060608486031215611ec957600080fd5b8335611ed481611e21565b92506020840135611ee481611e21565b929592945050506040919091013590565b60008060408385031215611f0857600080fd5b611f1183611e62565b9150602083013560ff81168114611f2757600080fd5b809150509250929050565b600060208284031215611f4457600080fd5b8135610a3c81611e21565b60008060408385031215611f6257600080fd5b8235611f6d81611e21565b9150611f7b60208401611e62565b90509250929050565b600060208284031215611f9657600080fd5b5035919050565b60008060008060808587031215611fb357600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611fe257600080fd5b8235611fed81611e21565b91506020830135611f2781611e21565b6000806040838503121561201057600080fd5b611e5483611e62565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261209157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120a857600080fd5b5051919050565b600082198211156120c2576120c261205e565b500190565b6000828210156120d9576120d961205e565b500390565b60008160001904831182151516156120f8576120f861205e565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121635784516001600160a01b03168352938301939183019160010161213e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561219957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208ddc1d40396b0e608b70e106601a24fe7d82dfdfdbf062f30132b67eed6bcfcd64736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102815760003560e01c80638f9a55c01161014f578063dd62ed3e116100c1578063f2fde38b1161007a578063f2fde38b146107f2578063f429389014610812578063f84ba65d14610827578063f887ea4014610847578063fe575a8714610867578063ffb54a991461089757600080fd5b8063dd62ed3e1461070c578063df20fd4914610752578063e66db25e14610772578063e96fada214610792578063f0b37c04146107b2578063f1f3bca3146107d257600080fd5b8063b6a5d7de11610113578063b6a5d7de14610657578063ba344dc414610677578063bf56b37114610696578063d51ed1c8146106ac578063dab84ee7146106cc578063dc93cf70146106ec57600080fd5b80638f9a55c0146105b057806395d89b41146105c6578063a7bc1de0146105f7578063a8aa1b3114610617578063a9059cbb1461063757600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104d35780636fcba377146104f257806370a0823114610512578063722b62ad146105485780637d1db4a514610568578063893d20e81461057e57600080fd5b8063313ce56714610411578063455a439614610433578063571ac8b0146104535780635c85974f146104735780635d0044ca14610493578063658d4b7f146104b357600080fd5b806318160ddd1161024557806318160ddd1461036257806323b872dd1461037757806324e9bafb146103975780632b112e49146103ad5780632d594567146103c25780632f54bf6e146103e257600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146102f05780630d295980146103205780631161ae391461034257600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152600881526721b932b0ba34b7b760c11b60208201525b6040516102ad9190611dcc565b3480156102fc57600080fd5b5061031061030b366004611e36565b6108b1565b60405190151581526020016102ad565b34801561032c57600080fd5b5061034061033b366004611e77565b61091e565b005b34801561034e57600080fd5b5061031061035d366004611e92565b61096d565b34801561036e57600080fd5b506006546102a3565b34801561038357600080fd5b50610310610392366004611eb4565b610981565b3480156103a357600080fd5b506102a360145481565b3480156103b957600080fd5b506102a3610a43565b3480156103ce57600080fd5b506103406103dd366004611ef5565b610a95565b3480156103ee57600080fd5b506103106103fd366004611f32565b6000546001600160a01b0391821691161490565b34801561041d57600080fd5b5060095b60405160ff90911681526020016102ad565b34801561043f57600080fd5b5061034061044e366004611f4f565b610aeb565b34801561045f57600080fd5b5061031061046e366004611f32565b610b3b565b34801561047f57600080fd5b5061034061048e366004611f84565b610b49565b34801561049f57600080fd5b506103406104ae366004611f84565b610b73565b3480156104bf57600080fd5b506103406104ce366004611f4f565b610bbe565b3480156104df57600080fd5b50601a5461031090610100900460ff1681565b3480156104fe57600080fd5b5061034061050d366004611f9d565b610c0e565b34801561051e57600080fd5b506102a361052d366004611f32565b6001600160a01b031660009081526009602052604090205490565b34801561055457600080fd5b50601c546104219062010000900460ff1681565b34801561057457600080fd5b506102a360075481565b34801561058a57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b3480156105bc57600080fd5b506102a360085481565b3480156105d257600080fd5b506040805180820190915260088152671b179a979918191960c11b60208201526102e3565b34801561060357600080fd5b50610340610612366004611f84565b610c7c565b34801561062357600080fd5b50601854610598906001600160a01b031681565b34801561064357600080fd5b50610310610652366004611e36565b610ca6565b34801561066357600080fd5b50610340610672366004611f32565b610cb3565b34801561068357600080fd5b50601c5461031090610100900460ff1681565b3480156106a257600080fd5b506102a360195481565b3480156106b857600080fd5b506102a36106c7366004611f84565b610d04565b3480156106d857600080fd5b50601654610598906001600160a01b031681565b3480156106f857600080fd5b50610340610707366004611f32565b610d48565b34801561071857600080fd5b506102a3610727366004611fcf565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561075e57600080fd5b5061034061076d366004611ffd565b610e7c565b34801561077e57600080fd5b5061034061078d366004611fcf565b610ebf565b34801561079e57600080fd5b50601554610598906001600160a01b031681565b3480156107be57600080fd5b506103406107cd366004611f32565b610f12565b3480156107de57600080fd5b506102a36107ed366004611e77565b610f5d565b3480156107fe57600080fd5b5061034061080d366004611f32565b610f9f565b34801561081e57600080fd5b50610340611035565b34801561083357600080fd5b50610340610842366004611f4f565b611098565b34801561085357600080fd5b50601754610598906001600160a01b031681565b34801561087357600080fd5b50610310610882366004611f32565b600e6020526000908152604090205460ff1681565b3480156108a357600080fd5b50601a546103109060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090c9086815260200190565b60405180910390a35060015b92915050565b610927336110e8565b61094c5760405162461bcd60e51b815260040161094390612019565b60405180910390fd5b601a805460ff191682151590811790915560ff161561096a57436019555b50565b60008261097983610d04565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a2e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a09918490611106565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a39848484611140565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610a90906003546001600160a01b0316600090815260096020526040902054610a8a90600654906115d2565b906115d2565b905090565b610a9e336110e8565b610aba5760405162461bcd60e51b815260040161094390612019565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610af4336110e8565b610b105760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610918826000196108b1565b610b52336110e8565b610b6e5760405162461bcd60e51b815260040161094390612019565b600755565b6000546001600160a01b03163314610b9d5760405162461bcd60e51b81526004016109439061203e565b6103e8600654610bad9190612074565b811015610bb957600080fd5b600855565b610bc7336110e8565b610be35760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c17336110e8565b610c335760405162461bcd60e51b815260040161094390612019565b600f84905560118390556010829055610c5682610c508686611614565b90611614565b6012556013819055610c69600382612074565b60125410610c7657600080fd5b50505050565b610c85336110e8565b610ca15760405162461bcd60e51b815260040161094390612019565b601455565b6000610a3c338484611140565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b81526004016109439061203e565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610918610d11610a43565b6018546001600160a01b0316600090815260096020526040902054610d4290610d3b906002611673565b8590611673565b906116f5565b610d51336110e8565b610d6d5760405162461bcd60e51b815260040161094390612019565b306001600160a01b03821603610dd15760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b6064820152608401610943565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3c9190612096565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e77573d6000803e3d6000fd5b505050565b610e85336110e8565b610ea15760405162461bcd60e51b815260040161094390612019565b601a80549215156101000261ff001990931692909217909155601b55565b610ec8336110e8565b610ee45760405162461bcd60e51b815260040161094390612019565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f3c5760405162461bcd60e51b81526004016109439061203e565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546005610f6f91906120af565b10610f82576013546109189060016115d2565b8115610f975760145460125461091891611673565b505060125490565b6000546001600160a01b03163314610fc95760405162461bcd60e51b81526004016109439061203e565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61103e336110e8565b61105a5760405162461bcd60e51b815260040161094390612019565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611094573d6000803e3d6000fd5b5050565b6110a1336110e8565b6110bd5760405162461bcd60e51b815260040161094390612019565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818484111561112a5760405162461bcd60e51b81526004016109439190611dcc565b50600061113784866120c7565b95945050505050565b601c5460009060ff161561116057611159848484611737565b9050610a3c565b6001600160a01b03841660009081526001602052604090205460ff161580156111a257506001600160a01b03831660009081526001602052604090205460ff16155b156111f057601a5460ff166111f05760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610943565b6111fa848361181d565b6001600160a01b0383166000908152600e602052604090205460ff1615801561123c57506001600160a01b0384166000908152600e602052604090205460ff16155b6112815760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b6044820152606401610943565b6018546001600160a01b038481169116148015906112ad57506003546001600160a01b03848116911614155b15611358576001600160a01b0383166000908152600c602052604090205460ff16806112fe57506008546001600160a01b0384166000908152600960205260409020546112fb9084906120af565b11155b6113585760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610943565b6018546001600160a01b03858116911614801561137c5750601c54610100900460ff165b80156113a157506001600160a01b0383166000908152600d602052604090205460ff16155b15611451576001600160a01b0383166000908152601d602052604090205442116114215760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b6064820152608401610943565b601c546114379062010000900460ff16426120af565b6001600160a01b0384166000908152601d60205260409020555b611459611886565b15611466576114666118da565b60195415801561148357506018546001600160a01b038481169116145b156114b3576001600160a01b0384166000908152600960205260409020546114aa57600080fd5b6114b343601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611505918490611106565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff161561153a5782611545565b611545858585611cec565b6001600160a01b03851660009081526009602052604090205490915061156b9082611614565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115bf9085815260200190565b60405180910390a3506001949350505050565b6000610a3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611106565b60008061162183856120af565b905083811015610a3c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610943565b60008260000361168557506000610918565b600061169183856120de565b90508261169e8583612074565b14610a3c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610943565b6000610a3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d9e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611788918490611106565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117b79083611614565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061180b9086815260200190565b60405180910390a35060019392505050565b6007548111158061184657506001600160a01b0382166000908152600c602052604090205460ff165b6110945760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610943565b6018546000906001600160a01b031633148015906118a75750601c5460ff16155b80156118ba5750601a54610100900460ff165b8015610a90575050601b5430600090815260096020526040902054101590565b601c805460ff19166001179055306000908152600960205260408120549050600061191b6002610d42601254610d42600f548761167390919063ffffffff16565b9050600061192983836115d2565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611963576119636120fd565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611994576119946120fd565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119de908690600090879030904290600401612113565b600060405180830381600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506000611a2582476115d290919063ffffffff16565b90506000611a4b611a426002600f546116f590919063ffffffff16565b601254906115d2565b90506000611a6d6002610d4284610d42600f548861167390919063ffffffff16565b90506000611a8a83610d426010548761167390919063ffffffff16565b90506000611aa784610d426011548861167390919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611afe576040519150601f19603f3d011682016040523d82523d6000602084013e611b03565b606091505b5050905080611b545760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610943565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611ba6576040519150601f19603f3d011682016040523d82523d6000602084013e611bab565b606091505b5050905080611bfc5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610943565b8a15611cd45760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c72573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c979190612184565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d1e9190610d4290611d17906001600160a01b03898116911614610f5d565b8690611673565b30600090815260096020526040902054909150611d3b9082611614565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d8c9085815260200190565b60405180910390a361113783826115d2565b60008183611dbf5760405162461bcd60e51b81526004016109439190611dcc565b5060006111378486612074565b600060208083528351808285015260005b81811015611df957858101830151858201604001528201611ddd565b81811115611e0b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461096a57600080fd5b60008060408385031215611e4957600080fd5b8235611e5481611e21565b946020939093013593505050565b80358015158114611e7257600080fd5b919050565b600060208284031215611e8957600080fd5b610a3c82611e62565b60008060408385031215611ea557600080fd5b50508035926020909101359150565b600080600060608486031215611ec957600080fd5b8335611ed481611e21565b92506020840135611ee481611e21565b929592945050506040919091013590565b60008060408385031215611f0857600080fd5b611f1183611e62565b9150602083013560ff81168114611f2757600080fd5b809150509250929050565b600060208284031215611f4457600080fd5b8135610a3c81611e21565b60008060408385031215611f6257600080fd5b8235611f6d81611e21565b9150611f7b60208401611e62565b90509250929050565b600060208284031215611f9657600080fd5b5035919050565b60008060008060808587031215611fb357600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611fe257600080fd5b8235611fed81611e21565b91506020830135611f2781611e21565b6000806040838503121561201057600080fd5b611e5483611e62565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261209157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120a857600080fd5b5051919050565b600082198211156120c2576120c261205e565b500190565b6000828210156120d9576120d961205e565b500390565b60008160001904831182151516156120f8576120f861205e565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121635784516001600160a01b03168352938301939183019160010161213e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561219957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208ddc1d40396b0e608b70e106601a24fe7d82dfdfdbf062f30132b67eed6bcfcd64736f6c634300080e0033

Deployed Bytecode Sourcemap

5670:12714:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7179:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7179:54:0;;;;;;;;8583:80;;;;;;;;;;-1:-1:-1;8655:5:0;;;;;;;;;;;;-1:-1:-1;;;8655:5:0;;;;8583:80;;;;;;;:::i;9005:216::-;;;;;;;;;;-1:-1:-1;9005:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;9005:216:0;1254:187:1;12707:172:0;;;;;;;;;;-1:-1:-1;12707:172:0;;;;;:::i;:::-;;:::i;:::-;;18163:150;;;;;;;;;;-1:-1:-1;18163:150:0;;;;;:::i;:::-;;:::i;8313:88::-;;;;;;;;;;-1:-1:-1;8386:12:0;;8313:88;;9523:370;;;;;;;;;;-1:-1:-1;9523:370:0;;;;;:::i;:::-;;:::i;6795:34::-;;;;;;;;;;;;;;;;17838:142;;;;;;;;;;;;;:::i;16063:164::-;;;;;;;;;;-1:-1:-1;16063:164:0;;;;;:::i;:::-;;:::i;3575:103::-;;;;;;;;;;-1:-1:-1;3575:103:0;;;;;:::i;:::-;3630:4;3665:5;-1:-1:-1;;;;;3654:16:0;;;3665:5;;3654:16;;3575:103;8407:80;;;;;;;;;;-1:-1:-1;6135:1:0;8407:80;;;3276:4:1;3264:17;;;3246:36;;3234:2;3219:18;8407:80:0;3104:184:1;17205:125:0;;;;;;;;;;-1:-1:-1;17205:125:0;;;;;:::i;:::-;;:::i;9229:122::-;;;;;;;;;;-1:-1:-1;9229:122:0;;;;;:::i;:::-;;:::i;16884:112::-;;;;;;;;;;-1:-1:-1;16884:112:0;;;;;:::i;:::-;;:::i;15454:151::-;;;;;;;;;;-1:-1:-1;15454:151:0;;;;;:::i;:::-;;:::i;16241:120::-;;;;;;;;;;-1:-1:-1;16241:120:0;;;;;:::i;:::-;;:::i;7142:30::-;;;;;;;;;;-1:-1:-1;7142:30:0;;;;;;;;;;;15619:395;;;;;;;;;;-1:-1:-1;15619:395:0;;;;;:::i;:::-;;:::i;8753:105::-;;;;;;;;;;-1:-1:-1;8753:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8837:18:0;8819:7;8837:18;;;:9;:18;;;;;;;8753:105;7417:39;;;;;;;;;;-1:-1:-1;7417:39:0;;;;;;;;;;;6206:54;;;;;;;;;;;;;;;;8669:78;;;;;;;;;;-1:-1:-1;8721:7:0;8739:5;-1:-1:-1;;;;;8739:5:0;8669:78;;;-1:-1:-1;;;;;4352:32:1;;;4334:51;;4322:2;4307:18;8669:78:0;4188:203:1;6268:56:0;;;;;;;;;;;;;;;;8493:84;;;;;;;;;;-1:-1:-1;8567:7:0;;;;;;;;;;;;-1:-1:-1;;;8567:7:0;;;;8493:84;;16503:121;;;;;;;;;;-1:-1:-1;16503:121:0;;;;;:::i;:::-;;:::i;7043:19::-;;;;;;;;;;-1:-1:-1;7043:19:0;;;;-1:-1:-1;;;;;7043:19:0;;;9359:156;;;;;;;;;;-1:-1:-1;9359:156:0;;;;;:::i;:::-;;:::i;3254:88::-;;;;;;;;;;-1:-1:-1;3254:88:0;;;;;:::i;:::-;;:::i;7374:36::-;;;;;;;;;;-1:-1:-1;7374:36:0;;;;;;;;;;;7071:25;;;;;;;;;;;;;;;;17988:167;;;;;;;;;;-1:-1:-1;17988:167:0;;;;;:::i;:::-;;:::i;6929:74::-;;;;;;;;;;-1:-1:-1;6929:74:0;;;;-1:-1:-1;;;;;6929:74:0;;;17524:298;;;;;;;;;;-1:-1:-1;17524:298:0;;;;;:::i;:::-;;:::i;8864:133::-;;;;;;;;;;-1:-1:-1;8864:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8966:19:0;;;8948:7;8966:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8864:133;17002:156;;;;;;;;;;-1:-1:-1;17002:156:0;;;;;:::i;:::-;;:::i;16630:206::-;;;;;;;;;;-1:-1:-1;16630:206:0;;;;;:::i;:::-;;:::i;6842:80::-;;;;;;;;;;-1:-1:-1;6842:80:0;;;;-1:-1:-1;;;;;6842:80:0;;;3424:91;;;;;;;;;;-1:-1:-1;3424:91:0;;;;;:::i;:::-;;:::i;12053:239::-;;;;;;;;;;-1:-1:-1;12053:239:0;;;;;:::i;:::-;;:::i;3971:167::-;;;;;;;;;;-1:-1:-1;3971:167:0;;;;;:::i;:::-;;:::i;17336:180::-;;;;;;;;;;;;;:::i;16369:128::-;;;;;;;;;;-1:-1:-1;16369:128:0;;;;;:::i;:::-;;:::i;7012:24::-;;;;;;;;;;-1:-1:-1;7012:24:0;;;;-1:-1:-1;;;;;7012:24:0;;;6590:46;;;;;;;;;;-1:-1:-1;6590:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7105:30;;;;;;;;;;-1:-1:-1;7105:30:0;;;;;;;;9005:216;9109:10;9080:4;9097:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9097:32:0;;;;;;;;;;:41;;;9154:37;9080:4;;9097:32;;9154:37;;;;9132:6;160:25:1;;148:2;133:18;;14:177;9154:37:0;;;;;;;;-1:-1:-1;9209:4:0;9005:216;;;;;:::o;12707:172::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;;;;;;;;;12773:11:::1;:21:::0;;-1:-1:-1;;12773:21:0::1;::::0;::::1;;::::0;;::::1;::::0;;;::::1;12808:11:::0;12805:67:::1;;;12848:12;12835:10;:25:::0;12805:67:::1;12707:172:::0;:::o;18163:150::-;18243:4;18299:6;18267:29;18287:8;18267:19;:29::i;:::-;:38;;18163:150;-1:-1:-1;;;18163:150:0:o;9523:370::-;-1:-1:-1;;;;;9643:19:0;;9623:4;9643:19;;;:11;:19;;;;;;;;9663:10;9643:31;;;;;;;;-1:-1:-1;;9643:52:0;9640:186;;9745:69;;;;;;;;;;;-1:-1:-1;;;9745:69:0;;;;;;;;-1:-1:-1;;;;;9745:19:0;;-1:-1:-1;9745:19:0;;;:11;:19;;;;;9765:10;9745:31;;;;;;;;;;:69;;9781:6;;9745:35;:69::i;:::-;-1:-1:-1;;;;;9711:19:0;;;;;;:11;:19;;;;;;;;9731:10;9711:31;;;;;;;:103;9640:186;9845:40;9859:6;9867:9;9878:6;9845:13;:40::i;:::-;9838:47;;9523:370;;;;;;:::o;17838:142::-;17966:4;;-1:-1:-1;;;;;17966:4:0;17891:7;8837:18;;;:9;:18;;;;;;17918:54;;17945:4;;-1:-1:-1;;;;;17945:4:0;8819:7;8837:18;;;:9;:18;;;;;;17918:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;17911:61;;17838:142;:::o;16063:164::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;16148:17:::1;:27:::0;;-1:-1:-1;;16186:33:0;16148:27:::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;16186:33:0;;;;;;16148:27:::1;16186:33:::0;;;::::1;::::0;;;::::1;;::::0;;16063:164::o;17205:125::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17290:23:0;;;::::1;;::::0;;;:13:::1;:23;::::0;;;;:32;;-1:-1:-1;;17290:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17205:125::o;9229:122::-;9284:4;9308:35;9316:7;-1:-1:-1;;9308:7:0;:35::i;16884:112::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;16954:12:::1;:24:::0;16884:112::o;15454:151::-;3630:4;3665:5;-1:-1:-1;;;;;3665:5:0;2978:10;3654:16;2962:38;;;;-1:-1:-1;;;2962:38:0;;;;;;;:::i;:::-;15557:4:::1;15542:12;;:19;;;;:::i;:::-;15532:6;:29;;15524:39;;;::::0;::::1;;15574:14;:23:::0;15454:151::o;16241:120::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16325:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16325:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16241:120::o;15619:395::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;15755:12:::1;:28:::0;;;15794:12:::1;:28:::0;;;15833:6:::1;:16:::0;;;15871:45:::1;15842:7:::0;15871:32:::1;15770:13:::0;15809;15871:17:::1;:32::i;:::-;:36:::0;::::1;:45::i;:::-;15860:8;:56:::0;15927:14:::1;:32:::0;;;15989:16:::1;16004:1;15944:15:::0;15989:16:::1;:::i;:::-;15978:8;;:27;15970:36;;;::::0;::::1;;15619:395:::0;;;;:::o;16503:121::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;16580:15:::1;:28:::0;16503:121::o;9359:156::-;9439:4;9463:44;9477:10;9489:9;9500:6;9463:13;:44::i;3254:88::-;3630:4;3665:5;-1:-1:-1;;;;;3665:5:0;2978:10;3654:16;2962:38;;;;-1:-1:-1;;;2962:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3314:13:0::1;;::::0;;;3330:4:::1;3314:13;::::0;;;;;;;:20;;-1:-1:-1;;3314:20:0::1;::::0;;::::1;::::0;;3254:88::o;17988:167::-;18056:7;18083:64;18124:22;:20;:22::i;:::-;18106:4;;-1:-1:-1;;;;;18106:4:0;8819:7;8837:18;;;:9;:18;;;;;;18083:36;;18096:22;;18116:1;18096:19;:22::i;:::-;18083:8;;:12;:36::i;:::-;:40;;:64::i;17524:298::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;17625:4:::1;-1:-1:-1::0;;;;;17607:23:0;::::1;::::0;17599:71:::1;;;::::0;-1:-1:-1;;;17599:71:0;;6758:2:1;17599:71:0::1;::::0;::::1;6740:21:1::0;6797:2;6777:18;;;6770:30;6836:34;6816:18;;;6809:62;-1:-1:-1;;;6887:18:1;;;6880:33;6930:19;;17599:71:0::1;6556:399:1::0;17599:71:0::1;17708:39;::::0;-1:-1:-1;;;17708:39:0;;17741:4:::1;17708:39;::::0;::::1;4334:51:1::0;17681:24:0::1;::::0;-1:-1:-1;;;;;17708:24:0;::::1;::::0;::::1;::::0;4307:18:1;;17708:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17766:20;::::0;17758:56:::1;::::0;17681:66;;-1:-1:-1;;;;;;17766:20:0::1;::::0;17758:56;::::1;;;::::0;17681:66;;17766:20:::1;17758:56:::0;17766:20;17758:56;17681:66;17766:20;17758:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;17588:234;17524:298:::0;:::o;17002:156::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;17094:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;17094:22:0;;::::1;::::0;;;::::1;::::0;;;17127:13:::1;:23:::0;17002:156::o;16630:206::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;16741:20:::1;:44:::0;;-1:-1:-1;;;;;16741:44:0;;::::1;-1:-1:-1::0;;;;;;16741:44:0;;::::1;;::::0;;;16796:14:::1;:32:::0;;;;;::::1;::::0;::::1;;::::0;;16630:206::o;3424:91::-;3630:4;3665:5;-1:-1:-1;;;;;3665:5:0;2978:10;3654:16;2962:38;;;;-1:-1:-1;;;2962:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3486:13:0::1;3502:5;3486:13:::0;;;:8:::1;:13;::::0;;;;:21;;-1:-1:-1;;3486:21:0::1;::::0;;3424:91::o;12053:239::-;12109:7;12150:12;12132:10;;12145:1;12132:14;;;;:::i;:::-;:30;12129:67;;12172:14;;:21;;12191:1;12172:18;:21::i;12129:67::-;12209:7;12206:53;;;12240:15;;12227:8;;:29;;:12;:29::i;12206:53::-;-1:-1:-1;;12276:8:0;;;12053:239::o;3971:167::-;3630:4;3665:5;-1:-1:-1;;;;;3665:5:0;2978:10;3654:16;2962:38;;;;-1:-1:-1;;;2962:38:0;;;;;;;:::i;:::-;4047:5:::1;:11:::0;;-1:-1:-1;;;;;;4047:11:0::1;-1:-1:-1::0;;;;;4047:11:0;::::1;::::0;;::::1;::::0;;4069:13;;;-1:-1:-1;4069:13:0::1;::::0;;;;;;;;:20;;-1:-1:-1;;4069:20:0::1;::::0;;::::1;::::0;;;4105:25;;4334:51:1;;;4105:25:0::1;::::0;4307:18:1;4105:25:0::1;;;;;;;3971:167:::0;:::o;17336:180::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;17458:20:::1;::::0;17450:58:::1;::::0;17418:21:::1;::::0;-1:-1:-1;;;;;17458:20:0::1;::::0;17450:58;::::1;;;::::0;17418:21;;17389:26:::1;17450:58:::0;17389:26;17450:58;17418:21;17458:20;17450:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;17378:138;17336:180::o:0;16369:128::-;3139:24;3152:10;3139:12;:24::i;:::-;3131:48;;;;-1:-1:-1;;;3131:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16457:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16457:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16369:128::o;3749:103::-;-1:-1:-1;;;;;3831:13:0;3807:4;3831:13;;;:8;:13;;;;;;;;;3749:103::o;650:192::-;736:7;772:12;764:6;;;;756:29;;;;-1:-1:-1;;;756:29:0;;;;;;;;:::i;:::-;-1:-1:-1;796:9:0;808:5;812:1;808;:5;:::i;:::-;796:17;650:192;-1:-1:-1;;;;;650:192:0:o;9901:1502::-;10013:6;;9993:4;;10013:6;;10010:63;;;10029:41;10044:6;10052:9;10063:6;10029:14;:41::i;:::-;10022:48;;;;10010:63;-1:-1:-1;;;;;10097:16:0;;;;;;:8;:16;;;;;;;;10096:17;:41;;;;-1:-1:-1;;;;;;10118:19:0;;;;;;:8;:19;;;;;;;;10117:20;10096:41;10093:115;;;10161:11;;;;10153:43;;;;-1:-1:-1;;;10153:43:0;;7830:2:1;10153:43:0;;;7812:21:1;7869:2;7849:18;;;7842:30;-1:-1:-1;;;7888:18:1;;;7881:50;7948:18;;10153:43:0;7628:344:1;10153:43:0;10218:28;10231:6;10239;10218:12;:28::i;:::-;-1:-1:-1;;;;;10310:24:0;;;;;;:13;:24;;;;;;;;10309:25;:51;;;;-1:-1:-1;;;;;;10339:21:0;;;;;;:13;:21;;;;;;;;10338:22;10309:51;10301:86;;;;-1:-1:-1;;;10301:86:0;;8179:2:1;10301:86:0;;;8161:21:1;8218:2;8198:18;;;8191:30;-1:-1:-1;;;8237:18:1;;;8230:52;8299:18;;10301:86:0;7977:346:1;10301:86:0;10415:4;;-1:-1:-1;;;;;10402:17:0;;;10415:4;;10402:17;;;;:38;;-1:-1:-1;10436:4:0;;-1:-1:-1;;;;;10423:17:0;;;10436:4;;10423:17;;10402:38;10398:198;;;-1:-1:-1;;;;;10465:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;10528:14:0;;-1:-1:-1;;;;;10495:20:0;;;;;;:9;:20;;;;;;:29;;10518:6;;10495:29;:::i;:::-;:47;;10465:77;10457:127;;;;-1:-1:-1;;;10457:127:0;;8530:2:1;10457:127:0;;;8512:21:1;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:35;8704:19;;10457:127:0;8328:401:1;10457:127:0;10620:4;;-1:-1:-1;;;;;10610:14:0;;;10620:4;;10610:14;:48;;;;-1:-1:-1;10641:17:0;;;;;;;10610:48;:93;;;;-1:-1:-1;;;;;;10676:27:0;;;;;;:16;:27;;;;;;;;10675:28;10610:93;10606:304;;;-1:-1:-1;;;;;10728:24:0;;;;;;:13;:24;;;;;;10755:15;-1:-1:-1;10720:97:0;;;;-1:-1:-1;;;10720:97:0;;8936:2:1;10720:97:0;;;8918:21:1;8975:2;8955:18;;;8948:30;9014:34;8994:18;;;8987:62;-1:-1:-1;;;9065:18:1;;;9058:41;9116:19;;10720:97:0;8734:407:1;10720:97:0;10877:21;;10859:39;;10877:21;;;;;10859:15;:39;:::i;:::-;-1:-1:-1;;;;;10832:24:0;;;;;;:13;:24;;;;;:66;10606:304;10923:16;:14;:16::i;:::-;10920:35;;;10942:10;:8;:10::i;:::-;15345;;:15;;;10970:32;;-1:-1:-1;10998:4:0;;-1:-1:-1;;;;;10985:17:0;;;10998:4;;10985:17;10970:32;10967:81;;;-1:-1:-1;;;;;11013:17:0;;11033:1;11013:17;;;:9;:17;;;;;;11005:30;;;;;;11037:8;15427:12;15414:10;:25;15376:71;11037:8;11080:53;;;;;;;;;;;-1:-1:-1;;;11080:53:0;;;;;;;;-1:-1:-1;;;;;11080:17:0;;-1:-1:-1;11080:17:0;;;:9;:17;;;;;;;;:53;;11102:6;;11080:21;:53::i;:::-;-1:-1:-1;;;;;11060:17:0;;;;;;:9;:17;;;;;;;;:73;;;;12018:11;:19;;;;;;;;12017:20;11171:67;;11232:6;11171:67;;;11195:34;11203:6;11211:9;11222:6;11195:7;:34::i;:::-;-1:-1:-1;;;;;11272:20:0;;;;;;:9;:20;;;;;;11146:92;;-1:-1:-1;11272:40:0;;11146:92;11272:24;:40::i;:::-;-1:-1:-1;;;;;11249:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11330:43;;;;;;;;;;11358:14;160:25:1;;148:2;133:18;;14:177;11330:43:0;;;;;;;;-1:-1:-1;11391:4:0;;9901:1502;-1:-1:-1;;;;9901:1502:0:o;508:136::-;566:7;593:43;597:1;600;593:43;;;;;;;;;;;;;;;;;:3;:43::i;321:181::-;379:7;;411:5;415:1;411;:5;:::i;:::-;399:17;;440:1;435;:6;;427:46;;;;-1:-1:-1;;;427:46:0;;9348:2:1;427:46:0;;;9330:21:1;9387:2;9367:18;;;9360:30;9426:29;9406:18;;;9399:57;9473:18;;427:46:0;9146:351:1;848:250:0;906:7;930:1;935;930:6;926:47;;-1:-1:-1;960:1:0;953:8;;926:47;985:9;997:5;1001:1;997;:5;:::i;:::-;985:17;-1:-1:-1;1030:1:0;1021:5;1025:1;985:17;1021:5;:::i;:::-;:10;1013:56;;;;-1:-1:-1;;;1013:56:0;;9877:2:1;1013:56:0;;;9859:21:1;9916:2;9896:18;;;9889:30;9955:34;9935:18;;;9928:62;-1:-1:-1;;;10006:18:1;;;9999:31;10047:19;;1013:56:0;9675:397:1;1104:132:0;1162:7;1189:39;1193:1;1196;1189:39;;;;;;;;;;;;;;;;;:3;:39::i;11415:330::-;11545:53;;;;;;;;;;;-1:-1:-1;;;11545:53:0;;;;;;;;-1:-1:-1;;;;;11545:17:0;;11508:4;11545:17;;;:9;:17;;;;;;;:53;;11567:6;;11545:21;:53::i;:::-;-1:-1:-1;;;;;11525:17:0;;;;;;;:9;:17;;;;;;:73;;;;11632:20;;;;;;;:32;;11657:6;11632:24;:32::i;:::-;-1:-1:-1;;;;;11609:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11680:35;;;;;;;;;;11708:6;160:25:1;;148:2;133:18;;14:177;11680:35:0;;;;;;;;-1:-1:-1;11733:4:0;11415:330;;;;;:::o;11753:166::-;11850:12;;11840:6;:22;;:49;;;-1:-1:-1;;;;;;11866:23:0;;;;;;:15;:23;;;;;;;;11840:49;11832:79;;;;-1:-1:-1;;;11832:79:0;;10279:2:1;11832:79:0;;;10261:21:1;10318:2;10298:18;;;10291:30;-1:-1:-1;;;10337:18:1;;;10330:47;10394:18;;11832:79:0;10077:341:1;12887:197:0;12974:4;;12936;;-1:-1:-1;;;;;12974:4:0;12960:10;:18;;;;:38;;-1:-1:-1;12992:6:0;;;;12991:7;12960:38;:62;;;;-1:-1:-1;13011:11:0;;;;;;;12960:62;:116;;;;-1:-1:-1;;13063:13:0;;13053:4;13035:24;;;;:9;:24;;;;;;:41;;;12887:197::o;13092:1809::-;7288:6;:13;;-1:-1:-1;;7288:13:0;7297:4;7288:13;;;13190:4:::1;-1:-1:-1::0;8837:18:0;;;:9;:18;;;;;;13141:55:::1;;13207:23;13233:59;13290:1;13233:52;13276:8;;13233:38;13258:12;;13233:20;:24;;:38;;;;:::i;:59::-;13207:85:::0;-1:-1:-1;13303:20:0::1;13326:41;:20:::0;13207:85;13326:24:::1;:41::i;:::-;13404:16;::::0;;13418:1:::1;13404:16:::0;;;;;::::1;::::0;;13303:64;;-1:-1:-1;13380:21:0::1;::::0;13404:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13404:16:0::1;13380:40;;13449:4;13431;13436:1;13431:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13431:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;13475:4:::1;::::0;13465:7;;13475:4;::::1;::::0;13465;;13475;;13465:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;13465:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;13550:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;13550:188:0;;13516:21:::1;::::0;13550:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;13622:12;;13492:21:::1;::::0;13665:4;;13692::::1;::::0;13712:15:::1;::::0;13550:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13749:17;13769:40;13795:13;13769:21;:25;;:40;;;;:::i;:::-;13749:60;;13820:19;13842:33;13855:19;13872:1;13855:12;;:16;;:19;;;;:::i;:::-;13842:8;::::0;;:12:::1;:33::i;:::-;13820:55;;13886:26;13915:51;13964:1;13915:44;13947:11;13915:27;13929:12;;13915:9;:13;;:27;;;;:::i;:51::-;13886:80;;13977:20;14000:38;14026:11;14000:21;14014:6;;14000:9;:13;;:21;;;;:::i;:38::-;13977:61;;14049:26;14078:44;14110:11;14078:27;14092:12;;14078:9;:13;;:27;;;;:::i;:44::-;14196:20;::::0;14188:77:::1;::::0;14049:73;;-1:-1:-1;14138:21:0::1;::::0;-1:-1:-1;;;;;14196:20:0;;::::1;::::0;14255:5:::1;::::0;14049:73;;14138:21;14188:77;14138:21;14188:77;14049:73;14196:20;14255:5;14188:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14137:128;;;14284:16;14276:59;;;::::0;-1:-1:-1;;;14276:59:0;;12084:2:1;14276:59:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;14276:59:0::1;11882:354:1::0;14276:59:0::1;14399:14;::::0;14391:65:::1;::::0;14347:15:::1;::::0;-1:-1:-1;;;;;14399:14:0::1;::::0;14446:5:::1;::::0;14427:12;;14347:15;14391:65;14347:15;14391:65;14427:12;14399:14;14446:5;14391:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14346:110;;;14475:10;14467:53;;;::::0;-1:-1:-1;;;14467:53:0;;12084:2:1;14467:53:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;14467:53:0::1;11882:354:1::0;14467:53:0::1;14536:19:::0;;14533:361:::1;;14571:6;::::0;14745:20:::1;::::0;14571:243:::1;::::0;-1:-1:-1;;;14571:243:0;;14647:4:::1;14571:243;::::0;::::1;12582:34:1::0;12632:18;;;12625:34;;;14571:6:0::1;12675:18:1::0;;;12668:34;;;12718:18;;;12711:34;-1:-1:-1;;;;;14745:20:0;;::::1;12761:19:1::0;;;12754:44;14784:15:0::1;12814:19:1::0;;;12807:35;14571:6:0;::::1;::::0;:22:::1;::::0;14601:18;;12516:19:1;;14571:243:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14834:48:0::1;::::0;;13338:25:1;;;13394:2;13379:18;;13372:34;;;14834:48:0::1;::::0;-1:-1:-1;13311:18:1;14834:48:0::1;;;;;;;14533:361;-1:-1:-1::0;;7306:6:0;:14;;-1:-1:-1;;7306:14:0;;;-1:-1:-1;;;;;;;;;;13092:1809:0:o;12300:372::-;12471:14;;12460:4;;12385:7;;;;12425:61;;12471:14;12425:41;;12436:29;;-1:-1:-1;;;;;12448:16:0;;;12460:4;;12448:16;12436:11;:29::i;:::-;12425:6;;:10;:41::i;:61::-;12544:4;12526:24;;;;:9;:24;;;;;;12405:81;;-1:-1:-1;12526:39:0;;12405:81;12526:28;:39::i;:::-;12517:4;12499:24;;;;:9;:24;;;;;;;:66;;;;12581:42;;-1:-1:-1;;;;;12581:42:0;;;;;;;12613:9;160:25:1;;148:2;133:18;;14:177;12581:42:0;;;;;;;;12643:21;:6;12654:9;12643:10;:21::i;1242:345::-;1328:7;1430:12;1423:5;1415:28;;;;-1:-1:-1;;;1415:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1454:9:0;1466:5;1470:1;1466;:5;:::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:180::-;1667:6;1720:2;1708:9;1699:7;1695:23;1691:32;1688:52;;;1736:1;1733;1726:12;1688:52;1759:26;1775:9;1759:26;:::i;1796:248::-;1864:6;1872;1925:2;1913:9;1904:7;1900:23;1896:32;1893:52;;;1941:1;1938;1931:12;1893:52;-1:-1:-1;;1964:23:1;;;2034:2;2019:18;;;2006:32;;-1:-1:-1;1796:248:1:o;2049:456::-;2126:6;2134;2142;2195:2;2183:9;2174:7;2170:23;2166:32;2163:52;;;2211:1;2208;2201:12;2163:52;2250:9;2237:23;2269:31;2294:5;2269:31;:::i;:::-;2319:5;-1:-1:-1;2376:2:1;2361:18;;2348:32;2389:33;2348:32;2389:33;:::i;:::-;2049:456;;2441:7;;-1:-1:-1;;;2495:2:1;2480:18;;;;2467:32;;2049:456::o;2510:337::-;2573:6;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:26;2689:9;2673:26;:::i;:::-;2663:36;;2749:2;2738:9;2734:18;2721:32;2793:4;2786:5;2782:16;2775:5;2772:27;2762:55;;2813:1;2810;2803:12;2762:55;2836:5;2826:15;;;2510:337;;;;;:::o;2852:247::-;2911:6;2964:2;2952:9;2943:7;2939:23;2935:32;2932:52;;;2980:1;2977;2970:12;2932:52;3019:9;3006:23;3038:31;3063:5;3038:31;:::i;3293:315::-;3358:6;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3474:9;3461:23;3493:31;3518:5;3493:31;:::i;:::-;3543:5;-1:-1:-1;3567:35:1;3598:2;3583:18;;3567:35;:::i;:::-;3557:45;;3293:315;;;;;:::o;3613:180::-;3672:6;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;-1:-1:-1;3764:23:1;;3613:180;-1:-1:-1;3613:180:1:o;3798:385::-;3884:6;3892;3900;3908;3961:3;3949:9;3940:7;3936:23;3932:33;3929:53;;;3978:1;3975;3968:12;3929:53;-1:-1:-1;;4001:23:1;;;4071:2;4056:18;;4043:32;;-1:-1:-1;4122:2:1;4107:18;;4094:32;;4173:2;4158:18;4145:32;;-1:-1:-1;3798:385:1;-1:-1:-1;3798:385:1:o;4396:388::-;4464:6;4472;4525:2;4513:9;4504:7;4500:23;4496:32;4493:52;;;4541:1;4538;4531:12;4493:52;4580:9;4567:23;4599:31;4624:5;4599:31;:::i;:::-;4649:5;-1:-1:-1;4706:2:1;4691:18;;4678:32;4719:33;4678:32;4719:33;:::i;4789:248::-;4854:6;4862;4915:2;4903:9;4894:7;4890:23;4886:32;4883:52;;;4931:1;4928;4921:12;4883:52;4954:26;4970:9;4954:26;:::i;5528:335::-;5730:2;5712:21;;;5769:2;5749:18;;;5742:30;-1:-1:-1;;;5803:2:1;5788:18;;5781:41;5854:2;5839:18;;5528:335::o;5868:329::-;6070:2;6052:21;;;6109:1;6089:18;;;6082:29;-1:-1:-1;;;6142:2:1;6127:18;;6120:36;6188:2;6173:18;;5868:329::o;6202:127::-;6263:10;6258:3;6254:20;6251:1;6244:31;6294:4;6291:1;6284:15;6318:4;6315:1;6308:15;6334:217;6374:1;6400;6390:132;;6444:10;6439:3;6435:20;6432:1;6425:31;6479:4;6476:1;6469:15;6507:4;6504:1;6497:15;6390:132;-1:-1:-1;6536:9:1;;6334:217::o;6960:184::-;7030:6;7083:2;7071:9;7062:7;7058:23;7054:32;7051:52;;;7099:1;7096;7089:12;7051:52;-1:-1:-1;7122:16:1;;6960:184;-1:-1:-1;6960:184:1:o;7149:128::-;7189:3;7220:1;7216:6;7213:1;7210:13;7207:39;;;7226:18;;:::i;:::-;-1:-1:-1;7262:9:1;;7149:128::o;7498:125::-;7538:4;7566:1;7563;7560:8;7557:34;;;7571:18;;:::i;:::-;-1:-1:-1;7608:9:1;;7498:125::o;9502:168::-;9542:7;9608:1;9604;9600:6;9596:14;9593:1;9590:21;9585:1;9578:9;9571:17;9567:45;9564:71;;;9615:18;;:::i;:::-;-1:-1:-1;9655:9:1;;9502:168::o;10555:127::-;10616:10;10611:3;10607:20;10604:1;10597:31;10647:4;10644:1;10637:15;10671:4;10668:1;10661:15;10687:980;10949:4;10997:3;10986:9;10982:19;11028:6;11017:9;11010:25;11054:2;11092:6;11087:2;11076:9;11072:18;11065:34;11135:3;11130:2;11119:9;11115:18;11108:31;11159:6;11194;11188:13;11225:6;11217;11210:22;11263:3;11252:9;11248:19;11241:26;;11302:2;11294:6;11290:15;11276:29;;11323:1;11333:195;11347:6;11344:1;11341:13;11333:195;;;11412:13;;-1:-1:-1;;;;;11408:39:1;11396:52;;11503:15;;;;11468:12;;;;11444:1;11362:9;11333:195;;;-1:-1:-1;;;;;;;11584:32:1;;;;11579:2;11564:18;;11557:60;-1:-1:-1;;;11648:3:1;11633:19;11626:35;11545:3;10687:980;-1:-1:-1;;;10687:980:1:o;12853:306::-;12941:6;12949;12957;13010:2;12998:9;12989:7;12985:23;12981:32;12978:52;;;13026:1;13023;13016:12;12978:52;13055:9;13049:16;13039:26;;13105:2;13094:9;13090:18;13084:25;13074:35;;13149:2;13138:9;13134:18;13128:25;13118:35;;12853:306;;;;;:::o

Swarm Source

ipfs://8ddc1d40396b0e608b70e106601a24fe7d82dfdfdbf062f30132b67eed6bcfcd
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.