ETH Price: $2,054.87 (+5.32%)
 

Overview

Max Total Supply

4,200,000,000,000 TBG

Holders

24

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
TheBigGuy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-05-15
*/

/***The Big Guy*/

// SPDX-License-Identifier:MIT
pragma solidity ^0.8.10;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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 Ownable is Context {
    address private _owner;

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

    /**
     * @dev DEV IS SET AS THE OWNER .
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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;
        // assert(a == b * c + a % b); //  

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IUniSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniSwapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniSwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract TheBigGuy is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "TheBigGuy"; //  
    string private _symbol = "TBG"; // 
    uint8 private _decimals = 18; //  

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    uint256 _buyLiquidityFee = 0;
    uint256 _buyMarketingFee = 0;

    uint256 _sellLiquidityFee = 0;
    uint256 _sellMarketingFee = 0;

    uint256 public totalBuyFee;
    uint256 public totalSellFee;

    address public marketingWallet = address(0x000000000000);
    address public liquidityReciever = address(0x000000000000);
    address private FundsRescueWallet;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isBot;

    uint256 private _totalSupply = 4_200_000_000_000 * 10**_decimals;

    uint256 denominator = 100;

    uint256 public minimumTokensBeforeSwap = 30_000_000 * 10**_decimals;
    uint256 public _maxTxAmount =  _totalSupply.mul(1).div(denominator);     //1%
    uint256 public _walletMax = _totalSupply.mul(2).div(denominator);    //2%

    bool public transferFeeEnabled = true;
    uint256 public initalTransferFee = 99; // 
    uint256 public launchedAt; 
    uint256 public snipingTime = 300 seconds; // 
    bool public trading; 

    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier onlyGuard() {
        require(msg.sender == FundsRescueWallet,"Error: Guarded!");
        _;
    }

    IUniSwapRouter public uniswapRouter;
    address public uniswapPair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {

        // //uniswap Swap
        IUniSwapRouter _dexRouter = IUniSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapPair = IUniSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        uniswapRouter = _dexRouter;

        _allowances[address(this)][address(uniswapRouter)] = ~uint256(0);

        FundsRescueWallet = msg.sender;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[address(uniswapRouter)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(uniswapRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(uniswapRouter)] = true;

        isMarketPair[address(uniswapPair)] = true;

        totalBuyFee = _buyLiquidityFee.add(_buyMarketingFee);
        totalSellFee = _sellLiquidityFee.add(_sellMarketingFee);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
       return _balances[account];     
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        require(!isBot[sender], "ERC20: Bot detected");
        require(!isBot[msg.sender], "ERC20: Bot detected");
        require(!isBot[tx.origin], "ERC20: Bot detected");

        if(inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
                require(trading, "ERC20: trading not enable yet");

                if (
                    block.timestamp < launchedAt + snipingTime &&
                    sender != address(uniswapRouter)
                ) {
                    if (uniswapPair == sender) {
                        isBot[recipient] = true;
                    } else if (uniswapPair == recipient) {
                        isBot[sender] = true;
                    }
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }

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

            emit Transfer(sender, recipient, finalAmount);
            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 shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { //buy
                feeAmount = amount.mul(totalBuyFee).div(denominator);
            } 
            else if(isMarketPair[recipient]) { //sell
                feeAmount = amount.mul(totalSellFee).div(denominator);
            }
            else {
                if(transferFeeEnabled) {
                    feeAmount = amount.mul(initalTransferFee).div(denominator);
                }
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function swapAndLiquify(uint contractBalance) private lockTheSwap {

        uint256 totalShares = totalBuyFee.add(totalSellFee);

        if(totalShares == 0) return;

        uint256 _liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee);
        // uint256 _MarketingShare = _buyMarketingFee.add(_sellMarketingFee);

        uint256 tokensForLP = contractBalance.mul(_liquidityShare).div(totalShares).div(2);
        uint256 tokensForSwap = contractBalance.sub(tokensForLP);

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        uint256 totalETHFee = totalShares.sub(_liquidityShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity);

        if(amountETHMarketing > 0)
            payable(marketingWallet).transfer(amountETHMarketing);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        _approve(address(this), address(uniswapRouter), tokenAmount);

        // make the swap
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapRouter), tokenAmount);

        // add the liquidity
        uniswapRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            liquidityReciever,
            block.timestamp
        );
    }

    function enableSwapAndLiquifiy(bool _status) external onlyOwner {
        swapAndLiquifyEnabled = _status;
        emit SwapAndLiquifyEnabledUpdated(_status);
    }

    function setSwapThreshold(uint _newLimit) external onlyOwner {
        minimumTokensBeforeSwap = _newLimit;
    }

    function setBuyFee(uint _newLp, uint _newMarketing) external onlyOwner {
        _buyLiquidityFee = _newLp;
        _buyMarketingFee = _newMarketing;
        totalBuyFee = _buyLiquidityFee.add(_buyMarketingFee);
    }

    function setSellFee(uint _newLp, uint _newMarketing) external onlyOwner {
        _sellLiquidityFee = _newLp;
        _sellMarketingFee = _newMarketing;
        totalSellFee = _sellLiquidityFee.add(_sellMarketingFee);
    }

    function setMarketingWl(address _newWl) external onlyOwner {
        marketingWallet = _newWl;
    }

    function setLiquidityWl(address _newWl) external onlyOwner {
        liquidityReciever = _newWl;
    }

    function startTrading() external onlyOwner {
        require(!trading, "ERC20: Already Enabled");
        trading = true;
        launchedAt = block.timestamp;
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyGuard { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyGuard {
        adr.transfer(recipient,amount);
    }

    function addOrRemoveBots(address[] calldata accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; i++) {
            isBot[accounts[i]] = value;
        }
    }

    function disableTransferFee(bool _status) external onlyOwner {
        transferFeeEnabled = _status;
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
    }

    function setRouter(address _newRouter) external onlyOwner {
        uniswapRouter = IUniSwapRouter(_newRouter);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"EnableTxLimit","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":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemoveBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"disableTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableSwapAndLiquifiy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initalTransferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","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":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLp","type":"uint256"},{"internalType":"uint256","name":"_newMarketing","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWl","type":"address"}],"name":"setLiquidityWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWl","type":"address"}],"name":"setMarketingWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRouter","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLp","type":"uint256"},{"internalType":"uint256","name":"_newMarketing","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLimit","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","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":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600960c09081526854686542696747757960b81b60e0526001906200002b908262000755565b5060408051808201909152600381526254424760e81b602082015260029062000055908262000755565b506003805460ff1916601290811790915561dead608052600060a0819052600481905560058190556006819055600755600a80546001600160a01b03199081168255600b80549091169055620000ac919062000934565b620000be906503d1e382100062000945565b6014556064601555600354620000d99060ff16600a62000934565b620000e9906301c9c38062000945565b60165562000124601554620001106001601454620004e060201b620015e01790919060201c565b6200057760201b620016621790919060201c565b6017556200014b601554620001106002601454620004e060201b620015e01790919060201c565b6018556019805460ff191660011790556063601a5561012c601c55601d80546201010062ffff0019909116179055601e805460ff60a81b1916600160a81b1790553480156200019957600080fd5b50620001a533620005c1565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022391906200095f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029791906200095f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030b91906200095f565b601e80546001600160a01b03199081166001600160a01b03938416178255601d80546301000000600160b81b0319166301000000868616810291909117808355306000818152600e60209081526040808320948690048a1683529381528382206000199055600c805433981688179055828252600f8152838220805460ff199081166001908117909255888452858420805482168317905587548790048b168452858420805482168317905588845260118352858420805482168317905589548b168452858420805482168317905587548790048b16845285842080548216831790558484528584208054821683179055978352601282528483208054891682179055928252838220805488168417905594549390930487168352818320805486168217905594549095168152601082529390932080549091169091179055600554600454620004679290919062000611811b620016a417901c565b6008819055506200048b6007546006546200061160201b620016a41790919060201c565b600955601454336000818152600d6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000a13565b600082600003620004f45750600062000571565b600062000502838562000945565b9050826200051185836200098a565b146200056e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200056e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200067460201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080620006208385620009ad565b9050838110156200056e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000565565b60008183620006985760405162461bcd60e51b8152600401620005659190620009c3565b506000620006a784866200098a565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006db57607f821691505b602082108103620006fc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200075057600081815260208120601f850160051c810160208610156200072b5750805b601f850160051c820191505b818110156200074c5782815560010162000737565b5050505b505050565b81516001600160401b03811115620007715762000771620006b0565b6200078981620007828454620006c6565b8462000702565b602080601f831160018114620007c15760008415620007a85750858301515b600019600386901b1c1916600185901b1785556200074c565b600085815260208120601f198616915b82811015620007f257888601518255948401946001909101908401620007d1565b5085821015620008115787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008785781600019048211156200085c576200085c62000821565b808516156200086a57918102915b93841c93908002906200083c565b509250929050565b600082620008915750600162000571565b81620008a05750600062000571565b8160018114620008b95760028114620008c457620008e4565b600191505062000571565b60ff841115620008d857620008d862000821565b50506001821b62000571565b5060208310610133831016604e8410600b841016171562000909575081810a62000571565b62000915838362000837565b80600019048211156200092c576200092c62000821565b029392505050565b60006200056e60ff84168362000880565b808202811582820484141762000571576200057162000821565b6000602082840312156200097257600080fd5b81516001600160a01b03811681146200056e57600080fd5b600082620009a857634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000571576200057162000821565b600060208083528351808285015260005b81811015620009f257858101830151858201604001528201620009d4565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612ad362000a47600039600081816103d90152610df50152600081816104d60152610e300152612ad36000f3fe6080604052600436106103905760003560e01c8063807c2d9c116101dc578063c867d60b11610102578063e7d8320e116100a0578063f2fde38b1161006f578063f2fde38b14610ad8578063f872858a14610af8578063f92082b314610b18578063fb0ecfa414610b3857600080fd5b8063e7d8320e14610a6e578063e7f1bfcb14610a84578063ec44acf214610a9e578063ee828db314610ab857600080fd5b8063d2d7ad83116100dc578063d2d7ad83146109dd578063dd62ed3e146109f3578063df8408fe14610a39578063e6b2603b14610a5957600080fd5b8063c867d60b1461096d578063cea9d26f1461099d578063d27e0e6a146109bd57600080fd5b8063a457c2d71161017a578063bf56b37111610149578063bf56b371146108f7578063c0d786551461090d578063c16dd4a41461092d578063c816841b1461094d57600080fd5b8063a457c2d714610877578063a9059cbb14610897578063ae85ade6146108b7578063bdcb3400146108d757600080fd5b806395d89b41116101b657806395d89b411461080c57806398e944c8146108215780639d0014b1146108415780639d9241ec1461086157600080fd5b8063807c2d9c146107a85780638b42507f146107be5780638da5cb5b146107ee57600080fd5b80634974d88f116102c15780636ac9a8701161025f578063735de9f71161022e578063735de9f71461073557806375f0a8741461075c5780637d1db4a51461077c5780637d99c66d1461079257600080fd5b80636ac9a870146106aa57806370a08231146106ca578063715018a614610700578063728d41c91461071557600080fd5b806359b107b91161029b57806359b107b9146106355780635c85974f1461064b5780635e42358c1461066b578063651a89871461068a57600080fd5b80634974d88f146105c45780634a74bb02146105e45780635342acb41461060557600080fd5b806327c8f8351161032e578063313ce56711610308578063313ce5671461052257806339509351146105445780633bbac579146105645780633ecad2711461059457600080fd5b806327c8f835146104c4578063293230b8146104f85780632b112e491461050d57600080fd5b806310a60f021161036a57806310a60f021461044357806318160ddd146104655780631f012b0a1461048457806323b872dd146104a457600080fd5b806306fdde031461039c5780630930907b146103c7578063095ea7b31461041357600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610b58565b6040516103be91906125c7565b60405180910390f35b3480156103d357600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103be565b34801561041f57600080fd5b5061043361042e36600461262a565b610bea565b60405190151581526020016103be565b34801561044f57600080fd5b5061046361045e366004612664565b610c01565b005b34801561047157600080fd5b506014545b6040519081526020016103be565b34801561049057600080fd5b5061046361049f3660046126ea565b610cab565b3480156104b057600080fd5b506104336104bf366004612707565b610cf7565b3480156104d057600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561050457600080fd5b50610463610d62565b34801561051957600080fd5b50610476610deb565b34801561052e57600080fd5b5060035460405160ff90911681526020016103be565b34801561055057600080fd5b5061043361055f36600461262a565b610e7e565b34801561057057600080fd5b5061043361057f3660046126ea565b60136020526000908152604090205460ff1681565b3480156105a057600080fd5b506104336105af3660046126ea565b60106020526000908152604090205460ff1681565b3480156105d057600080fd5b506104636105df366004612748565b610eb4565b3480156105f057600080fd5b50601e5461043390600160a81b900460ff1681565b34801561061157600080fd5b506104336106203660046126ea565b600f6020526000908152604090205460ff1681565b34801561064157600080fd5b5061047660085481565b34801561065757600080fd5b50610463610666366004612765565b610efa565b34801561067757600080fd5b50601d5461043390610100900460ff1681565b34801561069657600080fd5b506104636106a536600461277e565b610f29565b3480156106b657600080fd5b506104636106c53660046127b7565b610f7e565b3480156106d657600080fd5b506104766106e53660046126ea565b6001600160a01b03166000908152600d602052604090205490565b34801561070c57600080fd5b50610463610fc3565b34801561072157600080fd5b50610463610730366004612765565b610ff9565b34801561074157600080fd5b50601d546103fb90630100000090046001600160a01b031681565b34801561076857600080fd5b50600a546103fb906001600160a01b031681565b34801561078857600080fd5b5061047660175481565b34801561079e57600080fd5b50610476601c5481565b3480156107b457600080fd5b5061047660185481565b3480156107ca57600080fd5b506104336107d93660046126ea565b60126020526000908152604090205460ff1681565b3480156107fa57600080fd5b506000546001600160a01b03166103fb565b34801561081857600080fd5b506103b1611028565b34801561082d57600080fd5b50600b546103fb906001600160a01b031681565b34801561084d57600080fd5b5061046361085c366004612765565b611037565b34801561086d57600080fd5b5061047660095481565b34801561088357600080fd5b5061043361089236600461262a565b611066565b3480156108a357600080fd5b506104336108b236600461262a565b6110b5565b3480156108c357600080fd5b506104636108d236600461277e565b6110c2565b3480156108e357600080fd5b506104636108f2366004612748565b611117565b34801561090357600080fd5b50610476601b5481565b34801561091957600080fd5b506104636109283660046126ea565b611199565b34801561093957600080fd5b5061046361094836600461277e565b6111ef565b34801561095957600080fd5b50601e546103fb906001600160a01b031681565b34801561097957600080fd5b506104336109883660046126ea565b60116020526000908152604090205460ff1681565b3480156109a957600080fd5b506104636109b8366004612707565b611244565b3480156109c957600080fd5b506104636109d8366004612748565b611303565b3480156109e957600080fd5b5061047660165481565b3480156109ff57600080fd5b50610476610a0e3660046127d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b348015610a4557600080fd5b50610463610a5436600461277e565b611340565b348015610a6557600080fd5b50610463611395565b348015610a7a57600080fd5b50610476601a5481565b348015610a9057600080fd5b506019546104339060ff1681565b348015610aaa57600080fd5b50601d546104339060ff1681565b348015610ac457600080fd5b50610463610ad3366004612748565b611473565b348015610ae457600080fd5b50610463610af33660046126ea565b6114b7565b348015610b0457600080fd5b50601d546104339062010000900460ff1681565b348015610b2457600080fd5b50610463610b333660046126ea565b61154f565b348015610b4457600080fd5b50610463610b533660046127b7565b61159b565b606060018054610b6790612807565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9390612807565b8015610be05780601f10610bb557610100808354040283529160200191610be0565b820191906000526020600020905b815481529060010190602001808311610bc357829003601f168201915b5050505050905090565b6000610bf7338484611703565b5060015b92915050565b6000546001600160a01b03163314610c345760405162461bcd60e51b8152600401610c2b90612841565b60405180910390fd5b60005b82811015610ca5578160136000868685818110610c5657610c56612876565b9050602002016020810190610c6b91906126ea565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c9d816128a2565b915050610c37565b50505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610c2b90612841565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d04848484611827565b50610d578433610d5285604051806060016040528060288152602001612a51602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190611e54565b611703565b5060015b9392505050565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b8152600401610c2b90612841565b601d5460ff1615610dd85760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610c2b565b601d805460ff1916600117905542601b55565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d6020526040812054610e7990610e73610e6a7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600d602052604090205490565b60145490611e8e565b90611e8e565b905090565b336000818152600e602090815260408083206001600160a01b03871684529091528120549091610bf7918590610d5290866116a4565b6000546001600160a01b03163314610ede5760405162461bcd60e51b8152600401610c2b90612841565b601d8054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610f245760405162461bcd60e51b8152600401610c2b90612841565b601755565b6000546001600160a01b03163314610f535760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fa85760405162461bcd60e51b8152600401610c2b90612841565b60068290556007819055610fbc82826116a4565b6009555050565b6000546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610c2b90612841565b610ff76000611ed0565b565b6000546001600160a01b031633146110235760405162461bcd60e51b8152600401610c2b90612841565b601855565b606060028054610b6790612807565b6000546001600160a01b031633146110615760405162461bcd60e51b8152600401610c2b90612841565b601655565b6000610bf73384610d5285604051806060016040528060258152602001612a7960259139336000908152600e602090815260408083206001600160a01b038d1684529091529020549190611e54565b6000610d57338484611827565b6000546001600160a01b031633146110ec5760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111415760405162461bcd60e51b8152600401610c2b90612841565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061118e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111c35760405162461bcd60e51b8152600401610c2b90612841565b601d80546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b031633146112195760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b600c546001600160a01b031633146112905760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610c2b565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca591906128bb565b6000546001600160a01b0316331461132d5760405162461bcd60e51b8152600401610c2b90612841565b6019805460ff1916911515919091179055565b6000546001600160a01b0316331461136a5760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600c546001600160a01b031633146113e15760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610c2b565b604051600090339047908381818185875af1925050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b50509050806114705760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610c2b565b50565b6000546001600160a01b0316331461149d5760405162461bcd60e51b8152600401610c2b90612841565b601d80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146114e15760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b0381166115465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c2b565b61147081611ed0565b6000546001600160a01b031633146115795760405162461bcd60e51b8152600401610c2b90612841565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115c55760405162461bcd60e51b8152600401610c2b90612841565b600482905560058190556115d982826116a4565b6008555050565b6000826000036115f257506000610bfb565b60006115fe83856128d8565b90508261160b85836128ef565b14610d5b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c2b565b6000610d5b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f20565b6000806116b18385612911565b905083811015610d5b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c2b565b6001600160a01b0383166117655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c2b565b6001600160a01b0382166117c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c2b565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661188d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c2b565b6001600160a01b0383166118ef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c2b565b600082116119515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610c2b565b6001600160a01b03841660009081526013602052604090205460ff161561198a5760405162461bcd60e51b8152600401610c2b90612924565b3360009081526013602052604090205460ff16156119ba5760405162461bcd60e51b8152600401610c2b90612924565b3260009081526013602052604090205460ff16156119ea5760405162461bcd60e51b8152600401610c2b90612924565b601e54600160a01b900460ff1615611a0e57611a07848484611f4e565b9050610d5b565b6001600160a01b0384166000908152600f602052604090205460ff16158015611a5057506001600160a01b0383166000908152600f602052604090205460ff16155b15611b5557601d5460ff16611aa75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610c2b565b601c54601b54611ab79190612911565b42108015611ada5750601d546001600160a01b0385811663010000009092041614155b15611b5557601e546001600160a01b03808616911603611b1c576001600160a01b0383166000908152601360205260409020805460ff19166001179055611b55565b601e546001600160a01b03808516911603611b55576001600160a01b0384166000908152601360205260409020805460ff191660011790555b306000908152600d602052604090205460165481108015908190611b835750601e54600160a01b900460ff16155b8015611ba857506001600160a01b03861660009081526010602052604090205460ff16155b8015611bbd5750601e54600160a81b900460ff165b15611bcb57611bcb82612034565b6001600160a01b03861660009081526012602052604090205460ff16158015611c0d57506001600160a01b03851660009081526012602052604090205460ff16155b8015611c205750601d54610100900460ff165b15611c8857601754841115611c885760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c2b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600d9091529190912054611cda918690611e54565b6001600160a01b0387166000908152600d6020526040812091909155611d00878761217d565b611d1457611d0f87878761221d565b611d16565b845b601d5490915062010000900460ff168015611d4a57506001600160a01b03861660009081526011602052604090205460ff16155b15611dc957601854611d7b82611d75896001600160a01b03166000908152600d602052604090205490565b906116a4565b1115611dc95760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610c2b565b6001600160a01b0386166000908152600d6020526040902054611dec90826116a4565b6001600160a01b038088166000818152600d602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e409085815260200190565b60405180910390a360019350505050610d5b565b60008184841115611e785760405162461bcd60e51b8152600401610c2b91906125c7565b506000611e858486612951565b95945050505050565b6000610d5b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e54565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183611f415760405162461bcd60e51b8152600401610c2b91906125c7565b506000611e8584866128ef565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d90915291822054611f9f918490611e54565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054611fce90836116a4565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120229086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b17905560095460085460009161205a91906116a4565b90508060000361206a575061216d565b60006120836006546004546116a490919063ffffffff16565b9050600061209e6002612098858188876115e0565b90611662565b905060006120ac8583611e8e565b9050476120b88261234b565b60006120c44783611e8e565b905060006120dd6120d6876002611662565b8890611e8e565b905060006120f260026120988481878c6115e0565b905060006121008483611e8e565b9050801561214457600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612142573d6000803e3d6000fd5b505b6000821180156121545750600087115b15612163576121638783612505565b5050505050505050505b50601e805460ff60a01b19169055565b6001600160a01b0382166000908152600f602052604081205460ff16806121bc57506001600160a01b0382166000908152600f602052604090205460ff165b156121c957506001610bfb565b6001600160a01b03831660009081526010602052604090205460ff168061220857506001600160a01b03821660009081526010602052604090205460ff165b1561221557506000610bfb565b506000610bfb565b6001600160a01b038316600090815260106020526040812054819060ff16156122625761225b601554612098600854866115e090919063ffffffff16565b90506122c7565b6001600160a01b03841660009081526010602052604090205460ff161561229e5761225b601554612098600954866115e090919063ffffffff16565b60195460ff16156122c7576122c4601554612098601a54866115e090919063ffffffff16565b90505b801561234157306000908152600d60205260409020546122e790826116a4565b306000818152600d6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906123389085815260200190565b60405180910390a35b611e858382611e8e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061238057612380612876565b60200260200101906001600160a01b031690816001600160a01b031681525050601d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124179190612964565b8160018151811061242a5761242a612876565b6001600160a01b039283166020918202929092010152601d54612457913091630100000090041684611703565b601d5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac947906124969085906000908690309042906004016129c5565b600060405180830381600087803b1580156124b057600080fd5b505af11580156124c4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516124f9929190612a01565b60405180910390a15050565b601d54612524903090630100000090046001600160a01b031684611703565b601d54600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a48201526301000000909204169063f305d71990839060c40160606040518083038185885af115801561259b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125c09190612a22565b5050505050565b600060208083528351808285015260005b818110156125f4578581018301518582016040015282016125d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147057600080fd5b6000806040838503121561263d57600080fd5b823561264881612615565b946020939093013593505050565b801515811461147057600080fd5b60008060006040848603121561267957600080fd5b833567ffffffffffffffff8082111561269157600080fd5b818601915086601f8301126126a557600080fd5b8135818111156126b457600080fd5b8760208260051b85010111156126c957600080fd5b602092830195509350508401356126df81612656565b809150509250925092565b6000602082840312156126fc57600080fd5b8135610d5b81612615565b60008060006060848603121561271c57600080fd5b833561272781612615565b9250602084013561273781612615565b929592945050506040919091013590565b60006020828403121561275a57600080fd5b8135610d5b81612656565b60006020828403121561277757600080fd5b5035919050565b6000806040838503121561279157600080fd5b823561279c81612615565b915060208301356127ac81612656565b809150509250929050565b600080604083850312156127ca57600080fd5b50508035926020909101359150565b600080604083850312156127ec57600080fd5b82356127f781612615565b915060208301356127ac81612615565b600181811c9082168061281b57607f821691505b60208210810361283b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016128b4576128b461288c565b5060010190565b6000602082840312156128cd57600080fd5b8151610d5b81612656565b8082028115828204841417610bfb57610bfb61288c565b60008261290c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610bfb57610bfb61288c565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b81810381811115610bfb57610bfb61288c565b60006020828403121561297657600080fd5b8151610d5b81612615565b600081518084526020808501945080840160005b838110156129ba5781516001600160a01b031687529582019590820190600101612995565b509495945050505050565b85815284602082015260a0604082015260006129e460a0830186612981565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612a1a6040830184612981565b949350505050565b600080600060608486031215612a3757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cd7b146ef948ab53322d78355b35410df26208bcdf60b767ae06b6f2a75de39564736f6c63430008110033

Deployed Bytecode

0x6080604052600436106103905760003560e01c8063807c2d9c116101dc578063c867d60b11610102578063e7d8320e116100a0578063f2fde38b1161006f578063f2fde38b14610ad8578063f872858a14610af8578063f92082b314610b18578063fb0ecfa414610b3857600080fd5b8063e7d8320e14610a6e578063e7f1bfcb14610a84578063ec44acf214610a9e578063ee828db314610ab857600080fd5b8063d2d7ad83116100dc578063d2d7ad83146109dd578063dd62ed3e146109f3578063df8408fe14610a39578063e6b2603b14610a5957600080fd5b8063c867d60b1461096d578063cea9d26f1461099d578063d27e0e6a146109bd57600080fd5b8063a457c2d71161017a578063bf56b37111610149578063bf56b371146108f7578063c0d786551461090d578063c16dd4a41461092d578063c816841b1461094d57600080fd5b8063a457c2d714610877578063a9059cbb14610897578063ae85ade6146108b7578063bdcb3400146108d757600080fd5b806395d89b41116101b657806395d89b411461080c57806398e944c8146108215780639d0014b1146108415780639d9241ec1461086157600080fd5b8063807c2d9c146107a85780638b42507f146107be5780638da5cb5b146107ee57600080fd5b80634974d88f116102c15780636ac9a8701161025f578063735de9f71161022e578063735de9f71461073557806375f0a8741461075c5780637d1db4a51461077c5780637d99c66d1461079257600080fd5b80636ac9a870146106aa57806370a08231146106ca578063715018a614610700578063728d41c91461071557600080fd5b806359b107b91161029b57806359b107b9146106355780635c85974f1461064b5780635e42358c1461066b578063651a89871461068a57600080fd5b80634974d88f146105c45780634a74bb02146105e45780635342acb41461060557600080fd5b806327c8f8351161032e578063313ce56711610308578063313ce5671461052257806339509351146105445780633bbac579146105645780633ecad2711461059457600080fd5b806327c8f835146104c4578063293230b8146104f85780632b112e491461050d57600080fd5b806310a60f021161036a57806310a60f021461044357806318160ddd146104655780631f012b0a1461048457806323b872dd146104a457600080fd5b806306fdde031461039c5780630930907b146103c7578063095ea7b31461041357600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610b58565b6040516103be91906125c7565b60405180910390f35b3480156103d357600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103be565b34801561041f57600080fd5b5061043361042e36600461262a565b610bea565b60405190151581526020016103be565b34801561044f57600080fd5b5061046361045e366004612664565b610c01565b005b34801561047157600080fd5b506014545b6040519081526020016103be565b34801561049057600080fd5b5061046361049f3660046126ea565b610cab565b3480156104b057600080fd5b506104336104bf366004612707565b610cf7565b3480156104d057600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561050457600080fd5b50610463610d62565b34801561051957600080fd5b50610476610deb565b34801561052e57600080fd5b5060035460405160ff90911681526020016103be565b34801561055057600080fd5b5061043361055f36600461262a565b610e7e565b34801561057057600080fd5b5061043361057f3660046126ea565b60136020526000908152604090205460ff1681565b3480156105a057600080fd5b506104336105af3660046126ea565b60106020526000908152604090205460ff1681565b3480156105d057600080fd5b506104636105df366004612748565b610eb4565b3480156105f057600080fd5b50601e5461043390600160a81b900460ff1681565b34801561061157600080fd5b506104336106203660046126ea565b600f6020526000908152604090205460ff1681565b34801561064157600080fd5b5061047660085481565b34801561065757600080fd5b50610463610666366004612765565b610efa565b34801561067757600080fd5b50601d5461043390610100900460ff1681565b34801561069657600080fd5b506104636106a536600461277e565b610f29565b3480156106b657600080fd5b506104636106c53660046127b7565b610f7e565b3480156106d657600080fd5b506104766106e53660046126ea565b6001600160a01b03166000908152600d602052604090205490565b34801561070c57600080fd5b50610463610fc3565b34801561072157600080fd5b50610463610730366004612765565b610ff9565b34801561074157600080fd5b50601d546103fb90630100000090046001600160a01b031681565b34801561076857600080fd5b50600a546103fb906001600160a01b031681565b34801561078857600080fd5b5061047660175481565b34801561079e57600080fd5b50610476601c5481565b3480156107b457600080fd5b5061047660185481565b3480156107ca57600080fd5b506104336107d93660046126ea565b60126020526000908152604090205460ff1681565b3480156107fa57600080fd5b506000546001600160a01b03166103fb565b34801561081857600080fd5b506103b1611028565b34801561082d57600080fd5b50600b546103fb906001600160a01b031681565b34801561084d57600080fd5b5061046361085c366004612765565b611037565b34801561086d57600080fd5b5061047660095481565b34801561088357600080fd5b5061043361089236600461262a565b611066565b3480156108a357600080fd5b506104336108b236600461262a565b6110b5565b3480156108c357600080fd5b506104636108d236600461277e565b6110c2565b3480156108e357600080fd5b506104636108f2366004612748565b611117565b34801561090357600080fd5b50610476601b5481565b34801561091957600080fd5b506104636109283660046126ea565b611199565b34801561093957600080fd5b5061046361094836600461277e565b6111ef565b34801561095957600080fd5b50601e546103fb906001600160a01b031681565b34801561097957600080fd5b506104336109883660046126ea565b60116020526000908152604090205460ff1681565b3480156109a957600080fd5b506104636109b8366004612707565b611244565b3480156109c957600080fd5b506104636109d8366004612748565b611303565b3480156109e957600080fd5b5061047660165481565b3480156109ff57600080fd5b50610476610a0e3660046127d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b348015610a4557600080fd5b50610463610a5436600461277e565b611340565b348015610a6557600080fd5b50610463611395565b348015610a7a57600080fd5b50610476601a5481565b348015610a9057600080fd5b506019546104339060ff1681565b348015610aaa57600080fd5b50601d546104339060ff1681565b348015610ac457600080fd5b50610463610ad3366004612748565b611473565b348015610ae457600080fd5b50610463610af33660046126ea565b6114b7565b348015610b0457600080fd5b50601d546104339062010000900460ff1681565b348015610b2457600080fd5b50610463610b333660046126ea565b61154f565b348015610b4457600080fd5b50610463610b533660046127b7565b61159b565b606060018054610b6790612807565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9390612807565b8015610be05780601f10610bb557610100808354040283529160200191610be0565b820191906000526020600020905b815481529060010190602001808311610bc357829003601f168201915b5050505050905090565b6000610bf7338484611703565b5060015b92915050565b6000546001600160a01b03163314610c345760405162461bcd60e51b8152600401610c2b90612841565b60405180910390fd5b60005b82811015610ca5578160136000868685818110610c5657610c56612876565b9050602002016020810190610c6b91906126ea565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c9d816128a2565b915050610c37565b50505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610c2b90612841565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d04848484611827565b50610d578433610d5285604051806060016040528060288152602001612a51602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190611e54565b611703565b5060015b9392505050565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b8152600401610c2b90612841565b601d5460ff1615610dd85760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610c2b565b601d805460ff1916600117905542601b55565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d6020526040812054610e7990610e73610e6a7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600d602052604090205490565b60145490611e8e565b90611e8e565b905090565b336000818152600e602090815260408083206001600160a01b03871684529091528120549091610bf7918590610d5290866116a4565b6000546001600160a01b03163314610ede5760405162461bcd60e51b8152600401610c2b90612841565b601d8054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610f245760405162461bcd60e51b8152600401610c2b90612841565b601755565b6000546001600160a01b03163314610f535760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fa85760405162461bcd60e51b8152600401610c2b90612841565b60068290556007819055610fbc82826116a4565b6009555050565b6000546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610c2b90612841565b610ff76000611ed0565b565b6000546001600160a01b031633146110235760405162461bcd60e51b8152600401610c2b90612841565b601855565b606060028054610b6790612807565b6000546001600160a01b031633146110615760405162461bcd60e51b8152600401610c2b90612841565b601655565b6000610bf73384610d5285604051806060016040528060258152602001612a7960259139336000908152600e602090815260408083206001600160a01b038d1684529091529020549190611e54565b6000610d57338484611827565b6000546001600160a01b031633146110ec5760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111415760405162461bcd60e51b8152600401610c2b90612841565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061118e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111c35760405162461bcd60e51b8152600401610c2b90612841565b601d80546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b031633146112195760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b600c546001600160a01b031633146112905760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610c2b565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca591906128bb565b6000546001600160a01b0316331461132d5760405162461bcd60e51b8152600401610c2b90612841565b6019805460ff1916911515919091179055565b6000546001600160a01b0316331461136a5760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600c546001600160a01b031633146113e15760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610c2b565b604051600090339047908381818185875af1925050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b50509050806114705760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610c2b565b50565b6000546001600160a01b0316331461149d5760405162461bcd60e51b8152600401610c2b90612841565b601d80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146114e15760405162461bcd60e51b8152600401610c2b90612841565b6001600160a01b0381166115465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c2b565b61147081611ed0565b6000546001600160a01b031633146115795760405162461bcd60e51b8152600401610c2b90612841565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115c55760405162461bcd60e51b8152600401610c2b90612841565b600482905560058190556115d982826116a4565b6008555050565b6000826000036115f257506000610bfb565b60006115fe83856128d8565b90508261160b85836128ef565b14610d5b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c2b565b6000610d5b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f20565b6000806116b18385612911565b905083811015610d5b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c2b565b6001600160a01b0383166117655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c2b565b6001600160a01b0382166117c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c2b565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661188d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c2b565b6001600160a01b0383166118ef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c2b565b600082116119515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610c2b565b6001600160a01b03841660009081526013602052604090205460ff161561198a5760405162461bcd60e51b8152600401610c2b90612924565b3360009081526013602052604090205460ff16156119ba5760405162461bcd60e51b8152600401610c2b90612924565b3260009081526013602052604090205460ff16156119ea5760405162461bcd60e51b8152600401610c2b90612924565b601e54600160a01b900460ff1615611a0e57611a07848484611f4e565b9050610d5b565b6001600160a01b0384166000908152600f602052604090205460ff16158015611a5057506001600160a01b0383166000908152600f602052604090205460ff16155b15611b5557601d5460ff16611aa75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610c2b565b601c54601b54611ab79190612911565b42108015611ada5750601d546001600160a01b0385811663010000009092041614155b15611b5557601e546001600160a01b03808616911603611b1c576001600160a01b0383166000908152601360205260409020805460ff19166001179055611b55565b601e546001600160a01b03808516911603611b55576001600160a01b0384166000908152601360205260409020805460ff191660011790555b306000908152600d602052604090205460165481108015908190611b835750601e54600160a01b900460ff16155b8015611ba857506001600160a01b03861660009081526010602052604090205460ff16155b8015611bbd5750601e54600160a81b900460ff165b15611bcb57611bcb82612034565b6001600160a01b03861660009081526012602052604090205460ff16158015611c0d57506001600160a01b03851660009081526012602052604090205460ff16155b8015611c205750601d54610100900460ff165b15611c8857601754841115611c885760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c2b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600d9091529190912054611cda918690611e54565b6001600160a01b0387166000908152600d6020526040812091909155611d00878761217d565b611d1457611d0f87878761221d565b611d16565b845b601d5490915062010000900460ff168015611d4a57506001600160a01b03861660009081526011602052604090205460ff16155b15611dc957601854611d7b82611d75896001600160a01b03166000908152600d602052604090205490565b906116a4565b1115611dc95760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610c2b565b6001600160a01b0386166000908152600d6020526040902054611dec90826116a4565b6001600160a01b038088166000818152600d602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e409085815260200190565b60405180910390a360019350505050610d5b565b60008184841115611e785760405162461bcd60e51b8152600401610c2b91906125c7565b506000611e858486612951565b95945050505050565b6000610d5b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e54565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183611f415760405162461bcd60e51b8152600401610c2b91906125c7565b506000611e8584866128ef565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d90915291822054611f9f918490611e54565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054611fce90836116a4565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120229086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b17905560095460085460009161205a91906116a4565b90508060000361206a575061216d565b60006120836006546004546116a490919063ffffffff16565b9050600061209e6002612098858188876115e0565b90611662565b905060006120ac8583611e8e565b9050476120b88261234b565b60006120c44783611e8e565b905060006120dd6120d6876002611662565b8890611e8e565b905060006120f260026120988481878c6115e0565b905060006121008483611e8e565b9050801561214457600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612142573d6000803e3d6000fd5b505b6000821180156121545750600087115b15612163576121638783612505565b5050505050505050505b50601e805460ff60a01b19169055565b6001600160a01b0382166000908152600f602052604081205460ff16806121bc57506001600160a01b0382166000908152600f602052604090205460ff165b156121c957506001610bfb565b6001600160a01b03831660009081526010602052604090205460ff168061220857506001600160a01b03821660009081526010602052604090205460ff165b1561221557506000610bfb565b506000610bfb565b6001600160a01b038316600090815260106020526040812054819060ff16156122625761225b601554612098600854866115e090919063ffffffff16565b90506122c7565b6001600160a01b03841660009081526010602052604090205460ff161561229e5761225b601554612098600954866115e090919063ffffffff16565b60195460ff16156122c7576122c4601554612098601a54866115e090919063ffffffff16565b90505b801561234157306000908152600d60205260409020546122e790826116a4565b306000818152600d6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906123389085815260200190565b60405180910390a35b611e858382611e8e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061238057612380612876565b60200260200101906001600160a01b031690816001600160a01b031681525050601d60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124179190612964565b8160018151811061242a5761242a612876565b6001600160a01b039283166020918202929092010152601d54612457913091630100000090041684611703565b601d5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac947906124969085906000908690309042906004016129c5565b600060405180830381600087803b1580156124b057600080fd5b505af11580156124c4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516124f9929190612a01565b60405180910390a15050565b601d54612524903090630100000090046001600160a01b031684611703565b601d54600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a48201526301000000909204169063f305d71990839060c40160606040518083038185885af115801561259b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125c09190612a22565b5050505050565b600060208083528351808285015260005b818110156125f4578581018301518582016040015282016125d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147057600080fd5b6000806040838503121561263d57600080fd5b823561264881612615565b946020939093013593505050565b801515811461147057600080fd5b60008060006040848603121561267957600080fd5b833567ffffffffffffffff8082111561269157600080fd5b818601915086601f8301126126a557600080fd5b8135818111156126b457600080fd5b8760208260051b85010111156126c957600080fd5b602092830195509350508401356126df81612656565b809150509250925092565b6000602082840312156126fc57600080fd5b8135610d5b81612615565b60008060006060848603121561271c57600080fd5b833561272781612615565b9250602084013561273781612615565b929592945050506040919091013590565b60006020828403121561275a57600080fd5b8135610d5b81612656565b60006020828403121561277757600080fd5b5035919050565b6000806040838503121561279157600080fd5b823561279c81612615565b915060208301356127ac81612656565b809150509250929050565b600080604083850312156127ca57600080fd5b50508035926020909101359150565b600080604083850312156127ec57600080fd5b82356127f781612615565b915060208301356127ac81612615565b600181811c9082168061281b57607f821691505b60208210810361283b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016128b4576128b461288c565b5060010190565b6000602082840312156128cd57600080fd5b8151610d5b81612656565b8082028115828204841417610bfb57610bfb61288c565b60008261290c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610bfb57610bfb61288c565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b81810381811115610bfb57610bfb61288c565b60006020828403121561297657600080fd5b8151610d5b81612615565b600081518084526020808501945080840160005b838110156129ba5781516001600160a01b031687529582019590820190600101612995565b509495945050505050565b85815284602082015260a0604082015260006129e460a0830186612981565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612a1a6040830184612981565b949350505050565b600080600060608486031215612a3757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cd7b146ef948ab53322d78355b35410df26208bcdf60b767ae06b6f2a75de39564736f6c63430008110033

Deployed Bytecode Sourcemap

7010:15631:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10821:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7318:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;7318:81:0;567:203:1;12159:161:0;;;;;;;;;;-1:-1:-1;12159:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;12159:161:0;1231:187:1;21205:225:0;;;;;;;;;;-1:-1:-1;21205:225:0;;;;;:::i;:::-;;:::i;:::-;;11098:100;;;;;;;;;;-1:-1:-1;11178:12:0;;11098:100;;;2447:25:1;;;2435:2;2420:18;11098:100:0;2301:177:1;20415:102:0;;;;;;;;;;-1:-1:-1;20415:102:0;;;;;:::i;:::-;;:::i;12942:313::-;;;;;;;;;;-1:-1:-1;12942:313:0;;;;;:::i;:::-;;:::i;7230:81::-;;;;;;;;;;;;;;;20637:169;;;;;;;;;;;;;:::i;11492:156::-;;;;;;;;;;;;;:::i;11007:83::-;;;;;;;;;;-1:-1:-1;11073:9:0;;11007:83;;11073:9;;;;3338:36:1;;3326:2;3311:18;11007:83:0;3196:184:1;11656:218:0;;;;;;;;;;-1:-1:-1;11656:218:0;;;;;:::i;:::-;;:::i;8143:38::-;;;;;;;;;;-1:-1:-1;8143:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7977:45;;;;;;;;;;-1:-1:-1;7977:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21660:105;;;;;;;;;;-1:-1:-1;21660:105:0;;;;;:::i;:::-;;:::i;9332:40::-;;;;;;;;;;-1:-1:-1;9332:40:0;;;;-1:-1:-1;;;9332:40:0;;;;;;7920:50;;;;;;;;;;-1:-1:-1;7920:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7554:26;;;;;;;;;;;;;;;;22281:101;;;;;;;;;;-1:-1:-1;22281:101:0;;;;;:::i;:::-;;:::i;8740:32::-;;;;;;;;;;-1:-1:-1;8740:32:0;;;;;;;;;;;21903:128;;;;;;;;;;-1:-1:-1;21903:128:0;;;;;:::i;:::-;;:::i;20180:227::-;;;;;;;;;;-1:-1:-1;20180:227:0;;;;;:::i;:::-;;:::i;11206:123::-;;;;;;;;;;-1:-1:-1;11206:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;11298:18:0;11272:7;11298:18;;;:9;:18;;;;;;;11206:123;1814:94;;;;;;;;;;;;;:::i;22167:106::-;;;;;;;;;;-1:-1:-1;22167:106:0;;;;;:::i;:::-;;:::i;9227:35::-;;;;;;;;;;-1:-1:-1;9227:35:0;;;;;;;-1:-1:-1;;;;;9227:35:0;;;7623:56;;;;;;;;;;-1:-1:-1;7623:56:0;;;;-1:-1:-1;;;;;7623:56:0;;;8371:67;;;;;;;;;;;;;;;;8660:40;;;;;;;;;;;;;;;;8454:64;;;;;;;;;;;;;;;;8088:48;;;;;;;;;;-1:-1:-1;8088:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1505:87;;;;;;;;;;-1:-1:-1;1551:7:0;1578:6;-1:-1:-1;;;;;1578:6:0;1505:87;;10912;;;;;;;;;;;;;:::i;7686:58::-;;;;;;;;;;-1:-1:-1;7686:58:0;;;;-1:-1:-1;;;;;7686:58:0;;;19828:115;;;;;;;;;;-1:-1:-1;19828:115:0;;;;;:::i;:::-;;:::i;7587:27::-;;;;;;;;;;;;;;;;11882:269;;;;;;;;;;-1:-1:-1;11882:269:0;;;;;:::i;:::-;;:::i;12767:167::-;;;;;;;;;;-1:-1:-1;12767:167:0;;;;;:::i;:::-;;:::i;22039:120::-;;;;;;;;;;-1:-1:-1;22039:120:0;;;;;:::i;:::-;;:::i;19653:167::-;;;;;;;;;;-1:-1:-1;19653:167:0;;;;;:::i;:::-;;:::i;8627:25::-;;;;;;;;;;;;;;;;22517:119;;;;;;;;;;-1:-1:-1;22517:119:0;;;;;:::i;:::-;;:::i;22390:::-;;;;;;;;;;-1:-1:-1;22390:119:0;;;;;:::i;:::-;;:::i;9269:26::-;;;;;;;;;;-1:-1:-1;9269:26:0;;;;-1:-1:-1;;;;;9269:26:0;;;8029:52;;;;;;;;;;-1:-1:-1;8029:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21065:132;;;;;;;;;;-1:-1:-1;21065:132:0;;;;;:::i;:::-;;:::i;21438:108::-;;;;;;;;;;-1:-1:-1;21438:108:0;;;;;:::i;:::-;;:::i;8297:67::-;;;;;;;;;;;;;;;;11337:143;;;;;;;;;;-1:-1:-1;11337:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11445:18:0;;;11418:7;11445:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11337:143;21773:122;;;;;;;;;;-1:-1:-1;21773:122:0;;;;;:::i;:::-;;:::i;20847:178::-;;;;;;;;;;;;;:::i;8579:37::-;;;;;;;;;;;;;;;;8535;;;;;;;;;;-1:-1:-1;8535:37:0;;;;;;;;8711:19;;;;;;;;;;-1:-1:-1;8711:19:0;;;;;;;;21554:98;;;;;;;;;;-1:-1:-1;21554:98:0;;;;;:::i;:::-;;:::i;1916:229::-;;;;;;;;;;-1:-1:-1;1916:229:0;;;;;:::i;:::-;;:::i;8779:35::-;;;;;;;;;;-1:-1:-1;8779:35:0;;;;;;;;;;;20525:104;;;;;;;;;;-1:-1:-1;20525:104:0;;;;;:::i;:::-;;:::i;19951:221::-;;;;;;;;;;-1:-1:-1;19951:221:0;;;;;:::i;:::-;;:::i;10821:83::-;10858:13;10891:5;10884:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10821:83;:::o;12159:161::-;12234:4;12251:39;194:10;12274:7;12283:6;12251:8;:39::i;:::-;-1:-1:-1;12308:4:0;12159:161;;;;;:::o;21205:225::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;;;;;;;;;21329:9:::1;21324:99;21344:19:::0;;::::1;21324:99;;;21406:5;21385;:18;21391:8;;21400:1;21391:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21385:18:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21385:18:0;:26;;-1:-1:-1;;21385:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21365:3;::::1;::::0;::::1;:::i;:::-;;;;21324:99;;;;21205:225:::0;;;:::o;20415:102::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;20485:15:::1;:24:::0;;-1:-1:-1;;;;;;20485:24:0::1;-1:-1:-1::0;;;;;20485:24:0;;;::::1;::::0;;;::::1;::::0;;20415:102::o;12942:313::-;13040:4;13057:36;13067:6;13075:9;13086:6;13057:9;:36::i;:::-;-1:-1:-1;13104:121:0;13113:6;194:10;13135:89;13173:6;13135:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13135:19:0;;;;;;:11;:19;;;;;;;;194:10;13135:33;;;;;;;;;;:37;:89::i;:::-;13104:8;:121::i;:::-;-1:-1:-1;13243:4:0;12942:313;;;;;;:::o;20637:169::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;20700:7:::1;::::0;::::1;;20699:8;20691:43;;;::::0;-1:-1:-1;;;20691:43:0;;6905:2:1;20691:43:0::1;::::0;::::1;6887:21:1::0;6944:2;6924:18;;;6917:30;-1:-1:-1;;;6963:18:1;;;6956:52;7025:18;;20691:43:0::1;6703:346:1::0;20691:43:0::1;20745:7;:14:::0;;-1:-1:-1;;20745:14:0::1;20755:4;20745:14;::::0;;20783:15:::1;20770:10;:28:::0;20637:169::o;11492:156::-;-1:-1:-1;;;;;11627:11:0;11298:18;11545:7;11298:18;;;:9;:18;;;;;;11572:68;;:40;11589:22;11599:11;-1:-1:-1;;;;;11298:18:0;11272:7;11298:18;;;:9;:18;;;;;;;11206:123;11589:22;11572:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;11565:75;;11492:156;:::o;11656:218::-;194:10;11744:4;11793:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11793:34:0;;;;;;;;;;11744:4;;11761:83;;11784:7;;11793:50;;11832:10;11793:38;:50::i;21660:105::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;21731:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;21731:26:0;;::::1;::::0;;;::::1;::::0;;21660:105::o;22281:101::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;22351:12:::1;:23:::0;22281:101::o;21903:128::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21988:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;21988:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21903:128::o;20180:227::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;20263:17:::1;:26:::0;;;20300:17:::1;:33:::0;;;20359:40:::1;20283:6:::0;20320:13;20359:21:::1;:40::i;:::-;20344:12;:55:::0;-1:-1:-1;;20180:227:0:o;1814:94::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;1879:21:::1;1897:1;1879:9;:21::i;:::-;1814:94::o:0;22167:106::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;22244:10:::1;:21:::0;22167:106::o;10912:87::-;10951:13;10984:7;10977:14;;;;;:::i;19828:115::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;19900:23:::1;:35:::0;19828:115::o;11882:269::-;11975:4;11992:129;194:10;12015:7;12024:96;12063:15;12024:96;;;;;;;;;;;;;;;;;194:10;12024:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12024:34:0;;;;;;;;;;;;:38;:96::i;12767:167::-;12845:4;12862:42;194:10;12886:9;12897:6;12862:9;:42::i;22039:120::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22120:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;22120:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22039:120::o;19653:167::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;19728:21:::1;:31:::0;;;::::1;;-1:-1:-1::0;;;19728:31:0::1;-1:-1:-1::0;;;;19728:31:0;;::::1;;::::0;;19775:37:::1;::::0;::::1;::::0;::::1;::::0;19752:7;1396:14:1;1389:22;1371:41;;1359:2;1344:18;;1231:187;19775:37:0::1;;;;;;;;19653:167:::0;:::o;22517:119::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;22586:13:::1;:42:::0;;-1:-1:-1;;;;;22586:42:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;22586:42:0;;::::1;::::0;;;::::1;::::0;;22517:119::o;22390:::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22472:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;22472:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22390:119::o;21065:132::-;9163:17;;-1:-1:-1;;;;;9163:17:0;9149:10;:31;9141:58;;;;-1:-1:-1;;;9141:58:0;;7256:2:1;9141:58:0;;;7238:21:1;7295:2;7275:18;;;7268:30;-1:-1:-1;;;7314:18:1;;;7307:45;7369:18;;9141:58:0;7054:339:1;9141:58:0;21159:30:::1;::::0;-1:-1:-1;;;21159:30:0;;-1:-1:-1;;;;;7590:32:1;;;21159:30:0::1;::::0;::::1;7572:51:1::0;7639:18;;;7632:34;;;21159:12:0;::::1;::::0;::::1;::::0;7545:18:1;;21159:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21438:108::-:0;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;21510:18:::1;:28:::0;;-1:-1:-1;;21510:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21438:108::o;21773:122::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21854:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;21854:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21773:122::o;20847:178::-;9163:17;;-1:-1:-1;;;;;9163:17:0;9149:10;:31;9141:58;;;;-1:-1:-1;;;9141:58:0;;7256:2:1;9141:58:0;;;7238:21:1;7295:2;7275:18;;;7268:30;-1:-1:-1;;;7314:18:1;;;7307:45;7369:18;;9141:58:0;7054:339:1;9141:58:0;20914::::1;::::0;20902:7:::1;::::0;20922:10:::1;::::0;20946:21:::1;::::0;20902:7;20914:58;20902:7;20914:58;20946:21;20922:10;20914:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20901:71;;;20991:2;20983:34;;;::::0;-1:-1:-1;;;20983:34:0;;8339:2:1;20983:34:0::1;::::0;::::1;8321:21:1::0;8378:2;8358:18;;;8351:30;-1:-1:-1;;;8397:18:1;;;8390:50;8457:18;;20983:34:0::1;8137:344:1::0;20983:34:0::1;20889:136;20847:178::o:0;21554:98::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;21621:13:::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;21621:23:0;;::::1;::::0;;;::::1;::::0;;21554:98::o;1916:229::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2019:22:0;::::1;1997:110;;;::::0;-1:-1:-1;;;1997:110:0;;8688:2:1;1997:110:0::1;::::0;::::1;8670:21:1::0;8727:2;8707:18;;;8700:30;8766:34;8746:18;;;8739:62;-1:-1:-1;;;8817:18:1;;;8810:36;8863:19;;1997:110:0::1;8486:402:1::0;1997:110:0::1;2118:19;2128:8;2118:9;:19::i;20525:104::-:0;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;20595:17:::1;:26:::0;;-1:-1:-1;;;;;;20595:26:0::1;-1:-1:-1::0;;;;;20595:26:0;;;::::1;::::0;;;::::1;::::0;;20525:104::o;19951:221::-;1551:7;1578:6;-1:-1:-1;;;;;1578:6:0;194:10;1726:23;1718:68;;;;-1:-1:-1;;;1718:68:0;;;;;;;:::i;:::-;20033:16:::1;:25:::0;;;20069:16:::1;:32:::0;;;20126:38:::1;20052:6:::0;20088:13;20126:20:::1;:38::i;:::-;20112:11;:52:::0;-1:-1:-1;;19951:221:0:o;2892:250::-;2950:7;2974:1;2979;2974:6;2970:47;;-1:-1:-1;3004:1:0;2997:8;;2970:47;3029:9;3041:5;3045:1;3041;:5;:::i;:::-;3029:17;-1:-1:-1;3074:1:0;3065:5;3069:1;3029:17;3065:5;:::i;:::-;:10;3057:56;;;;-1:-1:-1;;;3057:56:0;;9490:2:1;3057:56:0;;;9472:21:1;9529:2;9509:18;;;9502:30;9568:34;9548:18;;;9541:62;-1:-1:-1;;;9619:18:1;;;9612:31;9660:19;;3057:56:0;9288:397:1;3150:132:0;3208:7;3235:39;3239:1;3242;3235:39;;;;;;;;;;;;;;;;;:3;:39::i;2359:181::-;2417:7;;2449:5;2453:1;2449;:5;:::i;:::-;2437:17;;2478:1;2473;:6;;2465:46;;;;-1:-1:-1;;;2465:46:0;;10022:2:1;2465:46:0;;;10004:21:1;10061:2;10041:18;;;10034:30;10100:29;10080:18;;;10073:57;10147:18;;2465:46:0;9820:351:1;12328:337:0;-1:-1:-1;;;;;12421:19:0;;12413:68;;;;-1:-1:-1;;;12413:68:0;;10378:2:1;12413:68:0;;;10360:21:1;10417:2;10397:18;;;10390:30;10456:34;10436:18;;;10429:62;-1:-1:-1;;;10507:18:1;;;10500:34;10551:19;;12413:68:0;10176:400:1;12413:68:0;-1:-1:-1;;;;;12500:21:0;;12492:68;;;;-1:-1:-1;;;12492:68:0;;10783:2:1;12492:68:0;;;10765:21:1;10822:2;10802:18;;;10795:30;10861:34;10841:18;;;10834:62;-1:-1:-1;;;10912:18:1;;;10905:32;10954:19;;12492:68:0;10581:398:1;12492:68:0;-1:-1:-1;;;;;12573:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12625:32;;2447:25:1;;;12625:32:0;;2420:18:1;12625:32:0;;;;;;;12328:337;;;:::o;13263:2411::-;13350:4;-1:-1:-1;;;;;13377:20:0;;13369:70;;;;-1:-1:-1;;;13369:70:0;;11186:2:1;13369:70:0;;;11168:21:1;11225:2;11205:18;;;11198:30;11264:34;11244:18;;;11237:62;-1:-1:-1;;;11315:18:1;;;11308:35;11360:19;;13369:70:0;10984:401:1;13369:70:0;-1:-1:-1;;;;;13458:23:0;;13450:71;;;;-1:-1:-1;;;13450:71:0;;11592:2:1;13450:71:0;;;11574:21:1;11631:2;11611:18;;;11604:30;11670:34;11650:18;;;11643:62;-1:-1:-1;;;11721:18:1;;;11714:33;11764:19;;13450:71:0;11390:399:1;13450:71:0;13549:1;13540:6;:10;13532:64;;;;-1:-1:-1;;;13532:64:0;;11996:2:1;13532:64:0;;;11978:21:1;12035:2;12015:18;;;12008:30;12074:34;12054:18;;;12047:62;-1:-1:-1;;;12125:18:1;;;12118:39;12174:19;;13532:64:0;11794:405:1;13532:64:0;-1:-1:-1;;;;;13626:13:0;;;;;;:5;:13;;;;;;;;13625:14;13617:46;;;;-1:-1:-1;;;13617:46:0;;;;;;;:::i;:::-;13689:10;13683:17;;;;:5;:17;;;;;;;;13682:18;13674:50;;;;-1:-1:-1;;;13674:50:0;;;;;;;:::i;:::-;13750:9;13744:16;;;;:5;:16;;;;;;;;13743:17;13735:49;;;;-1:-1:-1;;;13735:49:0;;;;;;;:::i;:::-;13800:16;;-1:-1:-1;;;13800:16:0;;;;13797:1868;;;13840:41;13855:6;13863:9;13874:6;13840:14;:41::i;:::-;13833:48;;;;13797:1868;-1:-1:-1;;;;;13930:25:0;;;;;;:17;:25;;;;;;;;13929:26;:59;;;;-1:-1:-1;;;;;;13960:28:0;;;;;;:17;:28;;;;;;;;13959:29;13929:59;13925:564;;;14017:7;;;;14009:49;;;;-1:-1:-1;;;14009:49:0;;12754:2:1;14009:49:0;;;12736:21:1;12793:2;12773:18;;;12766:30;12832:31;12812:18;;;12805:59;12881:18;;14009:49:0;12552:353:1;14009:49:0;14136:11;;14123:10;;:24;;;;:::i;:::-;14105:15;:42;:99;;;;-1:-1:-1;14190:13:0;;-1:-1:-1;;;;;14172:32:0;;;14190:13;;;;;14172:32;;14105:99;14079:395;;;14251:11;;-1:-1:-1;;;;;14251:21:0;;;:11;;:21;14247:208;;-1:-1:-1;;;;;14301:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;14301:23:0;14320:4;14301:23;;;14247:208;;;14358:11;;-1:-1:-1;;;;;14358:24:0;;;:11;;:24;14354:101;;-1:-1:-1;;;;;14411:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;14411:20:0;14427:4;14411:20;;;14354:101;14554:4;14505:28;11298:18;;;:9;:18;;;;;;14630:23;;14606:47;;;;;;;14686:44;;-1:-1:-1;14714:16:0;;-1:-1:-1;;;14714:16:0;;;;14713:17;14686:44;:69;;;;-1:-1:-1;;;;;;14735:20:0;;;;;;:12;:20;;;;;;;;14734:21;14686:69;:94;;;;-1:-1:-1;14759:21:0;;-1:-1:-1;;;14759:21:0;;;;14686:94;14682:185;;;14815:36;14830:20;14815:14;:36::i;:::-;-1:-1:-1;;;;;14887:23:0;;;;;;:15;:23;;;;;;;;14886:24;:55;;;;-1:-1:-1;;;;;;14915:26:0;;;;;;:15;:26;;;;;;;;14914:27;14886:55;:72;;;;-1:-1:-1;14945:13:0;;;;;;;14886:72;14883:187;;;14997:12;;14987:6;:22;;14979:75;;;;-1:-1:-1;;;14979:75:0;;13112:2:1;14979:75:0;;;13094:21:1;13151:2;13131:18;;;13124:30;13190:34;13170:18;;;13163:62;-1:-1:-1;;;13241:18:1;;;13234:38;13289:19;;14979:75:0;12910:404:1;14979:75:0;15119:53;;;;;;;;;;;-1:-1:-1;;;15119:53:0;;;;;;;;-1:-1:-1;;;;;15119:17:0;;-1:-1:-1;15119:17:0;;;:9;:17;;;;;;;;:53;;15141:6;;15119:21;:53::i;:::-;-1:-1:-1;;;;;15099:17:0;;;;;;:9;:17;;;;;:73;;;;15211:34;15109:6;15235:9;15211:16;:34::i;:::-;:80;;15257:34;15265:6;15273:9;15284:6;15257:7;:34::i;:::-;15211:80;;;15248:6;15211:80;15311:16;;15189:102;;-1:-1:-1;15311:16:0;;;;;:51;;;;-1:-1:-1;;;;;;15332:30:0;;;;;;:19;:30;;;;;;;;15331:31;15311:51;15308:181;;;15432:10;;15391:37;15416:11;15391:20;15401:9;-1:-1:-1;;;;;11298:18:0;11272:7;11298:18;;;:9;:18;;;;;;;11206:123;15391:20;:24;;:37::i;:::-;:51;;15383:90;;;;-1:-1:-1;;;15383:90:0;;13521:2:1;15383:90:0;;;13503:21:1;13560:2;13540:18;;;13533:30;13599:29;13579:18;;;13572:57;13646:18;;15383:90:0;13319:351:1;15383:90:0;-1:-1:-1;;;;;15528:20:0;;;;;;:9;:20;;;;;;:37;;15553:11;15528:24;:37::i;:::-;-1:-1:-1;;;;;15505:20:0;;;;;;;:9;:20;;;;;;;:60;;;;15587:40;;;;;;;;;;15615:11;2447:25:1;;2435:2;2420:18;;2301:177;15587:40:0;;;;;;;;15649:4;15642:11;;;;;;;2692:192;2778:7;2814:12;2806:6;;;;2798:29;;;;-1:-1:-1;;;2798:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2838:9:0;2850:5;2854:1;2850;:5;:::i;:::-;2838:17;2692:192;-1:-1:-1;;;;;2692:192:0:o;2548:136::-;2606:7;2633:43;2637:1;2640;2633:43;;;;;;;;;;;;;;;;;:3;:43::i;2153:173::-;2209:16;2228:6;;-1:-1:-1;;;;;2245:17:0;;;-1:-1:-1;;;;;;2245:17:0;;;;;;2278:40;;2228:6;;;;;;;2278:40;;2209:16;2278:40;2198:128;2153:173;:::o;3290:236::-;3376:7;3411:12;3404:5;3396:28;;;;-1:-1:-1;;;3396:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3435:9:0;3447:5;3451:1;3447;:5;:::i;15682:330::-;15812:53;;;;;;;;;;;-1:-1:-1;;;15812:53:0;;;;;;;;-1:-1:-1;;;;;15812:17:0;;15775:4;15812:17;;;:9;:17;;;;;;;:53;;15834:6;;15812:21;:53::i;:::-;-1:-1:-1;;;;;15792:17:0;;;;;;;:9;:17;;;;;;:73;;;;15899:20;;;;;;;:32;;15924:6;15899:24;:32::i;:::-;-1:-1:-1;;;;;15876:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15947:35;;;;;;;;;;15975:6;2447:25:1;;2435:2;2420:18;;2301:177;15947:35:0;;;;;;;;-1:-1:-1;16000:4:0;15682:330;;;;;:::o;17291:1159::-;9413:16;:23;;-1:-1:-1;;;;9413:23:0;-1:-1:-1;;;9413:23:0;;;17408:12:::1;::::0;17392:11:::1;::::0;9413:23;;17392:29:::1;::::0;:11;:15:::1;:29::i;:::-;17370:51;;17437:11;17452:1;17437:16:::0;17434:28:::1;;17455:7;;;17434:28;17474:23;17500:39;17521:17;;17500:16;;:20;;:39;;;;:::i;:::-;17474:65:::0;-1:-1:-1;17631:19:0::1;17653:60;17711:1;17653:53;17694:11:::0;17653:53;:15;17474:65;17653:19:::1;:36::i;:::-;:40:::0;::::1;:53::i;:60::-;17631:82:::0;-1:-1:-1;17724:21:0::1;17748:32;:15:::0;17631:82;17748:19:::1;:32::i;:::-;17724:56:::0;-1:-1:-1;17818:21:0::1;17850:31;17724:56:::0;17850:16:::1;:31::i;:::-;17892:22;17917:41;:21;17943:14:::0;17917:25:::1;:41::i;:::-;17892:66:::0;-1:-1:-1;17971:19:0::1;17993:39;18009:22;:15:::0;18029:1:::1;18009:19;:22::i;:::-;17993:11:::0;;:15:::1;:39::i;:::-;17971:61:::0;-1:-1:-1;18053:26:0::1;18082:59;18139:1;18082:52;17971:61:::0;18082:52;:14;18101:15;18082:18:::1;:35::i;:59::-;18053:88:::0;-1:-1:-1;18152:26:0::1;18181:38;:14:::0;18053:88;18181:18:::1;:38::i;:::-;18152:67:::0;-1:-1:-1;18235:22:0;;18232:93:::1;;18280:15;::::0;18272:53:::1;::::0;-1:-1:-1;;;;;18280:15:0;;::::1;::::0;18272:53;::::1;;;::::0;18306:18;;18280:15:::1;18272:53:::0;18280:15;18272:53;18306:18;18280:15;18272:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18232:93;18362:1;18341:18;:22;:41;;;;;18381:1;18367:11;:15;18341:41;18338:104;;;18397:45;18410:11;18423:18;18397:12;:45::i;:::-;17357:1093;;;;;;;;;9447:1;-1:-1:-1::0;9459:16:0;:24;;-1:-1:-1;;;;9459:24:0;;;17291:1159::o;16024:369::-;-1:-1:-1;;;;;16128:25:0;;16108:4;16128:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;16157:28:0;;;;;;:17;:28;;;;;;;;16128:57;16125:261;;;-1:-1:-1;16209:4:0;16202:11;;16125:261;-1:-1:-1;;;;;16244:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;16268:23:0;;;;;;:12;:23;;;;;;;;16244:47;16240:146;;;-1:-1:-1;16315:5:0;16308:12;;16240:146;-1:-1:-1;16369:5:0;16362:12;;16401:882;-1:-1:-1;;;;;16574:20:0;;16487:7;16574:20;;;:12;:20;;;;;;16487:7;;16574:20;;16571:438;;;16633:40;16661:11;;16633:23;16644:11;;16633:6;:10;;:23;;;;:::i;:40::-;16621:52;;16571:438;;;-1:-1:-1;;;;;16712:23:0;;;;;;:12;:23;;;;;;;;16709:300;;;16775:41;16804:11;;16775:24;16786:12;;16775:6;:10;;:24;;;;:::i;16709:300::-;16873:18;;;;16870:124;;;16928:46;16962:11;;16928:29;16939:17;;16928:6;:10;;:29;;;;:::i;:46::-;16916:58;;16870:124;17028:13;;17025:185;;17107:4;17089:24;;;;:9;:24;;;;;;:39;;17118:9;17089:28;:39::i;:::-;17080:4;17062:24;;;;:9;:24;;;;;;;:66;;;;17152:42;;-1:-1:-1;;;;;17152:42:0;;;;;;;17184:9;2447:25:1;;2435:2;2420:18;;2301:177;17152:42:0;;;;;;;;17025:185;17233:21;:6;17244:9;17233:10;:21::i;18458:660::-;18608:16;;;18622:1;18608:16;;;;;;;;18584:21;;18608:16;;;;;;;;;;-1:-1:-1;18608:16:0;18584:40;;18653:4;18635;18640:1;18635:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;18635:23:0;;;-1:-1:-1;;;;;18635:23:0;;;;;18679:13;;;;;;;;;-1:-1:-1;;;;;18679:13:0;-1:-1:-1;;;;;18679:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18669:4;18674:1;18669:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18669:30:0;;;:7;;;;;;;;;:30;18744:13;;18712:60;;18729:4;;18744:13;;;;18760:11;18712:8;:60::i;:::-;18811:13;;:238;;-1:-1:-1;;;18811:238:0;;:13;;;;-1:-1:-1;;;;;18811:13:0;;:64;;:238;;18890:11;;18916:1;;18960:4;;18987;;19023:15;;18811:238;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19075:35;19092:11;19105:4;19075:35;;;;;;;:::i;:::-;;;;;;;;18513:605;18458:660;:::o;19126:519::-;19306:13;;19274:60;;19291:4;;19306:13;;;-1:-1:-1;;;;;19306:13:0;19322:11;19274:8;:60::i;:::-;19377:13;;19579:17;;19377:260;;-1:-1:-1;;;19377:260:0;;19447:4;19377:260;;;15927:34:1;15977:18;;;15970:34;;;19493:1:0;16020:18:1;;;16013:34;;;16063:18;;;16056:34;-1:-1:-1;;;;;19579:17:0;;;16106:19:1;;;16099:44;19611:15:0;16159:19:1;;;16152:35;19377:13:0;;;;;;:29;;19414:9;;15861:19:1;;19377:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19126:519;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1423:118::-;1509:5;1502:13;1495:21;1488:5;1485:32;1475:60;;1531:1;1528;1521:12;1546:750;1638:6;1646;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:52;;;1723:1;1720;1713:12;1675:52;1763:9;1750:23;1792:18;1833:2;1825:6;1822:14;1819:34;;;1849:1;1846;1839:12;1819:34;1887:6;1876:9;1872:22;1862:32;;1932:7;1925:4;1921:2;1917:13;1913:27;1903:55;;1954:1;1951;1944:12;1903:55;1994:2;1981:16;2020:2;2012:6;2009:14;2006:34;;;2036:1;2033;2026:12;2006:34;2091:7;2084:4;2074:6;2071:1;2067:14;2063:2;2059:23;2055:34;2052:47;2049:67;;;2112:1;2109;2102:12;2049:67;2143:4;2135:13;;;;-1:-1:-1;2167:6:1;-1:-1:-1;;2208:20:1;;2195:34;2238:28;2195:34;2238:28;:::i;:::-;2285:5;2275:15;;;1546:750;;;;;:::o;2483:247::-;2542:6;2595:2;2583:9;2574:7;2570:23;2566:32;2563:52;;;2611:1;2608;2601:12;2563:52;2650:9;2637:23;2669:31;2694:5;2669:31;:::i;2735:456::-;2812:6;2820;2828;2881:2;2869:9;2860:7;2856:23;2852:32;2849:52;;;2897:1;2894;2887:12;2849:52;2936:9;2923:23;2955:31;2980:5;2955:31;:::i;:::-;3005:5;-1:-1:-1;3062:2:1;3047:18;;3034:32;3075:33;3034:32;3075:33;:::i;:::-;2735:456;;3127:7;;-1:-1:-1;;;3181:2:1;3166:18;;;;3153:32;;2735:456::o;3385:241::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3549:9;3536:23;3568:28;3590:5;3568:28;:::i;3631:180::-;3690:6;3743:2;3731:9;3722:7;3718:23;3714:32;3711:52;;;3759:1;3756;3749:12;3711:52;-1:-1:-1;3782:23:1;;3631:180;-1:-1:-1;3631:180:1:o;3816:382::-;3881:6;3889;3942:2;3930:9;3921:7;3917:23;3913:32;3910:52;;;3958:1;3955;3948:12;3910:52;3997:9;3984:23;4016:31;4041:5;4016:31;:::i;:::-;4066:5;-1:-1:-1;4123:2:1;4108:18;;4095:32;4136:30;4095:32;4136:30;:::i;:::-;4185:7;4175:17;;;3816:382;;;;;:::o;4203:248::-;4271:6;4279;4332:2;4320:9;4311:7;4307:23;4303:32;4300:52;;;4348:1;4345;4338:12;4300:52;-1:-1:-1;;4371:23:1;;;4441:2;4426:18;;;4413:32;;-1:-1:-1;4203:248:1:o;5160:388::-;5228:6;5236;5289:2;5277:9;5268:7;5264:23;5260:32;5257:52;;;5305:1;5302;5295:12;5257:52;5344:9;5331:23;5363:31;5388:5;5363:31;:::i;:::-;5413:5;-1:-1:-1;5470:2:1;5455:18;;5442:32;5483:33;5442:32;5483:33;:::i;5553:380::-;5632:1;5628:12;;;;5675;;;5696:61;;5750:4;5742:6;5738:17;5728:27;;5696:61;5803:2;5795:6;5792:14;5772:18;5769:38;5766:161;;5849:10;5844:3;5840:20;5837:1;5830:31;5884:4;5881:1;5874:15;5912:4;5909:1;5902:15;5766:161;;5553:380;;;:::o;5938:356::-;6140:2;6122:21;;;6159:18;;;6152:30;6218:34;6213:2;6198:18;;6191:62;6285:2;6270:18;;5938:356::o;6299:127::-;6360:10;6355:3;6351:20;6348:1;6341:31;6391:4;6388:1;6381:15;6415:4;6412:1;6405:15;6431:127;6492:10;6487:3;6483:20;6480:1;6473:31;6523:4;6520:1;6513:15;6547:4;6544:1;6537:15;6563:135;6602:3;6623:17;;;6620:43;;6643:18;;:::i;:::-;-1:-1:-1;6690:1:1;6679:13;;6563:135::o;7677:245::-;7744:6;7797:2;7785:9;7776:7;7772:23;7768:32;7765:52;;;7813:1;7810;7803:12;7765:52;7845:9;7839:16;7864:28;7886:5;7864:28;:::i;8893:168::-;8966:9;;;8997;;9014:15;;;9008:22;;8994:37;8984:71;;9035:18;;:::i;9066:217::-;9106:1;9132;9122:132;;9176:10;9171:3;9167:20;9164:1;9157:31;9211:4;9208:1;9201:15;9239:4;9236:1;9229:15;9122:132;-1:-1:-1;9268:9:1;;9066:217::o;9690:125::-;9755:9;;;9776:10;;;9773:36;;;9789:18;;:::i;12204:343::-;12406:2;12388:21;;;12445:2;12425:18;;;12418:30;-1:-1:-1;;;12479:2:1;12464:18;;12457:49;12538:2;12523:18;;12204:343::o;13675:128::-;13742:9;;;13763:11;;;13760:37;;;13777:18;;:::i;13940:251::-;14010:6;14063:2;14051:9;14042:7;14038:23;14034:32;14031:52;;;14079:1;14076;14069:12;14031:52;14111:9;14105:16;14130:31;14155:5;14130:31;:::i;14196:461::-;14249:3;14287:5;14281:12;14314:6;14309:3;14302:19;14340:4;14369:2;14364:3;14360:12;14353:19;;14406:2;14399:5;14395:14;14427:1;14437:195;14451:6;14448:1;14445:13;14437:195;;;14516:13;;-1:-1:-1;;;;;14512:39:1;14500:52;;14572:12;;;;14607:15;;;;14548:1;14466:9;14437:195;;;-1:-1:-1;14648:3:1;;14196:461;-1:-1:-1;;;;;14196:461:1:o;14662:582::-;14961:6;14950:9;14943:25;15004:6;14999:2;14988:9;14984:18;14977:34;15047:3;15042:2;15031:9;15027:18;15020:31;14924:4;15068:57;15120:3;15109:9;15105:19;15097:6;15068:57;:::i;:::-;-1:-1:-1;;;;;15161:32:1;;;;15156:2;15141:18;;15134:60;-1:-1:-1;15225:3:1;15210:19;15203:35;15060:65;14662:582;-1:-1:-1;;;14662:582:1:o;15249:332::-;15456:6;15445:9;15438:25;15499:2;15494;15483:9;15479:18;15472:30;15419:4;15519:56;15571:2;15560:9;15556:18;15548:6;15519:56;:::i;:::-;15511:64;15249:332;-1:-1:-1;;;;15249:332:1:o;16198:306::-;16286:6;16294;16302;16355:2;16343:9;16334:7;16330:23;16326:32;16323:52;;;16371:1;16368;16361:12;16323:52;16400:9;16394:16;16384:26;;16450:2;16439:9;16435:18;16429:25;16419:35;;16494:2;16483:9;16479:18;16473:25;16463:35;;16198:306;;;;;:::o

Swarm Source

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