ETH Price: $3,817.47 (+1.52%)
Gas: 4 Gwei

Token

Cash Cow Token (CCT)
 

Overview

Max Total Supply

100,000,000 CCT

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 CCT

Value
$0.00
0x1bfedc630813fd56f244516321a0e9debb2502f3
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:
CashCowToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-20
*/

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

abstract contract Ownable {
    address private _owner;
    address private _dev;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event DevTransferred(address indexed previousDev, address indexed newDev);

    constructor(address owner_, address dev_) {
        _transferOwnership(owner_);
        _transferDev(dev_);
    }

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

    function dev() public view virtual returns (address) {
        return _dev;
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function _transferDev(address newDev) internal virtual {
        address oldDev = _dev;
        _dev = newDev;
        emit DevTransferred(oldDev, newDev);
    }

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

    function transferDev(address newDev) public virtual onlyDev {
        require(newDev != address(0), "Ownable: new dev is the zero address");
        _transferDev(newDev);
    }

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    modifier onlyDev() {
        require(dev() == msg.sender, "Ownable: caller is not the dev");
        _;
    }

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

    function renounceDev() public virtual onlyDev {
        _transferDev(address(0));
    }

}

interface IERC20 {

    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);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);

}

interface IERC20Metadata is IERC20 {

    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function decimals() external view returns (uint8);

}

contract ERC20 is IERC20, IERC20Metadata {

    string private _symbol;
    string private _name;


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

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount greater than allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from zero address");
        require(recipient != address(0), "ERC20: transfer to zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount greater than balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }

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

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(msg.sender, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

}

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

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

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (
        uint256 amountToken,
        uint256 amountETH,
        uint256 liquidity
    );
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract CashCowToken is ERC20, Ownable {

    address public LPTokenReceiver;
    address public marketingReceiver;
    address public devReceiver;
    uint256 public minimumDevFee = 20;

    uint256 public buyTotalFees;
    uint256 public sellTotalFees;

    uint256 public buyMarketingFee;
    uint256 public buyDevFee;
    uint256 public buyLiquidityFee;

    uint256 public sellMarketingFee;
    uint256 public sellDevFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForMarketing;
    uint256 public tokensForDev;
    uint256 public tokensForLiquidity;

    IUniswapV2Router02 public router;
    address public liquidityPair;

    mapping(address => bool) public isAMM;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    mapping(address => bool) private isExcludedFromFee;
    mapping(address => bool) public isExcludedFromWalletLimits;

    uint256 public feeDenominator = 1000;
    
    bool private swapping;
    bool public limitsInEffect = true;

    // This feature can only be enabled and not disabled.
    // Enabling these will cap the buy or sell fee to some value
    // a value of 50 => 5% max. A value of 150 => 15% max
    bool maxSellFeeSet = false;
    bool maxBuyFeeSet = false;
    uint256 maxSellFee;
    uint256 maxBuyFee;

    bool public airdropComplete = false;
    bool public vestingFinished = false;

    mapping(address => uint256) public airdropAmount;
    uint256 public launchTime;
    uint256 public vestingPeriods = 20;
    uint256 public vestingPercent = 5;

    constructor(
        address router_,
        address LPTokenReceiver_,
        address marketingReceiver_,
        address devReceiver_
    ) ERC20("Cash Cow Token", "CCT") Ownable(msg.sender, msg.sender) {

        LPTokenReceiver = LPTokenReceiver_;
        devReceiver = devReceiver_;
        marketingReceiver = marketingReceiver_;

        router = IUniswapV2Router02(router_);

        liquidityPair = IUniswapV2Factory(
            router.factory()
        ).createPair(
            address(this),
            router.WETH()
        );

        isAMM[liquidityPair] = true;

        isExcludedFromWalletLimits[address(liquidityPair)] = true;
        isExcludedFromWalletLimits[address(router)] = true;        
        isExcludedFromWalletLimits[address(this)] = true;
        isExcludedFromWalletLimits[address(0xdead)] = true;
        isExcludedFromWalletLimits[msg.sender] = true;
        isExcludedFromWalletLimits[LPTokenReceiver] = true;

        uint256 totalSupply = 100_000_000 * 1e18;
        
        buyMarketingFee = 20;
        buyDevFee = 20;
        buyLiquidityFee = 20;

        sellMarketingFee = 20;
        sellDevFee = 20;
        sellLiquidityFee = 20;

        buyTotalFees = buyMarketingFee + buyDevFee + buyLiquidityFee;
        sellTotalFees = sellMarketingFee + sellDevFee + sellLiquidityFee;

        isExcludedFromFee[address(0xdead)] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[LPTokenReceiver] = true;

        maxTransactionAmount = totalSupply * 5 / 1000;
        maxWallet = totalSupply * 10 / 1000;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    function airdropTokens(address[] calldata holders, uint256[] calldata amounts) external onlyOwner {
        require(!airdropComplete);

        for (uint i=0; i<holders.length; i++) {
            super._transfer(address(this), holders[i], amounts[i]);
            airdropAmount[holders[i]] += amounts[i];
        }
    }

    function finalizeAirdrop() external onlyOwner {
        require(!airdropComplete);
        airdropComplete = true;
    }

    function addLiquidity(uint256 tokenAmount) external payable onlyOwner {
        _addLiquidity(tokenAmount, msg.value);
        launchTime = block.timestamp;
    }

    function setBuyFees(uint256 marketingFee, uint256 devFee, uint256 liquidityFee) external onlyOwner {
        require(devFee >= minimumDevFee);
        buyMarketingFee = marketingFee;
        buyDevFee = devFee;
        buyLiquidityFee = liquidityFee;

        buyTotalFees = buyMarketingFee + buyDevFee + buyLiquidityFee;

        if (maxBuyFeeSet) {
            require(buyTotalFees <= maxBuyFee);
        }

    }

    function setSellFees(uint256 marketingFee, uint256 devFee, uint256 liquidityFee) external onlyOwner {
        require(devFee >= minimumDevFee);
        sellMarketingFee = marketingFee;
        sellDevFee = devFee;
        sellLiquidityFee = liquidityFee;

        sellTotalFees = sellMarketingFee + sellDevFee + sellLiquidityFee;

        if (maxSellFeeSet) {
            require(sellTotalFees <= maxSellFee);
        }

    }

    function setLimits(uint256 maxTransactionAmount_, uint256 maxWallet_) external onlyOwner {
        maxTransactionAmount = maxTransactionAmount_;
        maxWallet = maxWallet_;
    }

    function removeLimits() external onlyOwner {
        require(limitsInEffect);
        limitsInEffect = false;
    }

    function setLPTokenReceiver(address newReceiver) external onlyOwner {
        require(LPTokenReceiver != newReceiver);
        LPTokenReceiver = newReceiver;
    }

    function setMarketingReceiver(address newReceiver) external onlyOwner {
        require(marketingReceiver != newReceiver);
        marketingReceiver = newReceiver;
    }

    function setDevReceiver(address newReceiver) external onlyDev {
        require(devReceiver != newReceiver);
        devReceiver = newReceiver;
    }

    function setMinimumDevFee(uint256 minFee) external onlyDev {
        require(minFee < minimumDevFee);     // Dev fee minimum can only be lowered, not raised
        minimumDevFee = minFee;
    }

    function setAMM(address ammAddress, bool isAMM_) external onlyOwner {
        isAMM[ammAddress] = isAMM_;
    }

    function setWalletExcludedFromLimits(address wallet, bool isExcluded) external onlyOwner {
        isExcludedFromWalletLimits[wallet] = isExcluded;
    }

    function setWalletExcludedFromFees(address wallet, bool isExcluded) external onlyOwner {
        isExcludedFromFee[wallet] = isExcluded;
    }

    function setRouter(address router_) external onlyOwner {
        router = IUniswapV2Router02(router_);
    }

    function setLiquidityPair(address pairAddress) external onlyOwner {
        liquidityPair = pairAddress;
    }

    function enableMaxSellFeeLimit(uint256 limit) external onlyOwner {
        require(limit <= feeDenominator && limit < maxSellFee);
        maxSellFee = limit;
        maxSellFeeSet = true;
    }

    function enableMaxBuyFeeLimit(uint256 limit) external onlyOwner {
        require(limit <= feeDenominator && limit < maxBuyFee);
        maxBuyFee = limit;
        maxBuyFeeSet = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0xdead) &&
                !swapping
            ) {

                if (
                    isAMM[from] &&
                    !isExcludedFromWalletLimits[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

                else if (
                    isAMM[to] &&
                    !isExcludedFromWalletLimits[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                } else if (!isExcludedFromWalletLimits[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

            }
        }

        if (!vestingFinished) {            
            uint256 airdroppedTokenAmount = airdropAmount[from];

            if (airdroppedTokenAmount > 0) {
                
                uint256 elapsedPeriods = (block.timestamp - launchTime) / 86400;

                if (elapsedPeriods < vestingPeriods) {
                    uint256 minimumBalance = airdroppedTokenAmount - (
                        // a number ranging from 0 to 100
                        elapsedPeriods * vestingPercent
                        * airdroppedTokenAmount
                        / 100
                    );
                    require(balanceOf(from) - amount >= minimumBalance);
                } else {
                    vestingFinished = true;
                }
            }
        }

        bool takeFee = !swapping;

        if (isExcludedFromFee[from] || isExcludedFromFee[to]) {
            takeFee = false;
        }

        if (takeFee) {

            uint256 fees = 0;

            if (isAMM[to] && sellTotalFees > 0) {
                uint256 newTokensForDev = amount * sellDevFee / feeDenominator;
                uint256 newTokensForMarketing = amount * sellMarketingFee / feeDenominator;
                uint256 newTokensForLiquidity = amount * sellLiquidityFee / feeDenominator;

                fees = newTokensForDev + newTokensForMarketing + newTokensForLiquidity;

                tokensForDev += newTokensForDev;
                tokensForMarketing += newTokensForMarketing;
                tokensForLiquidity += newTokensForLiquidity;
            }

            else if (isAMM[from] && buyTotalFees > 0) {
                uint256 newTokensForDev = amount * buyDevFee / feeDenominator;
                uint256 newTokensForMarketing = amount * buyMarketingFee / feeDenominator;
                uint256 newTokensForLiquidity = amount * buyLiquidityFee / feeDenominator;

                fees = newTokensForDev + newTokensForMarketing + newTokensForLiquidity;

                tokensForDev += newTokensForDev;
                tokensForMarketing += newTokensForMarketing;
                tokensForLiquidity += newTokensForLiquidity;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
                amount -= fees;
            }
        }

        if (
            !swapping &&
            from != liquidityPair &&
            !isExcludedFromFee[from] &&
            !isExcludedFromFee[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }


        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() internal {
        if (tokensForLiquidity + tokensForDev + tokensForMarketing == 0) {
            return;
        }

        uint256 liquidity = tokensForLiquidity / 2;
        uint256 amountToSwapForETH = tokensForDev + tokensForMarketing + (tokensForLiquidity - liquidity);
        swapTokensForEth(amountToSwapForETH);

        uint256 ethForLiquidity = address(this).balance * (tokensForLiquidity - liquidity) / amountToSwapForETH;

        if (liquidity > 0 && ethForLiquidity > 0) {
            _addLiquidity(liquidity, ethForLiquidity);
        }

        if (tokensForMarketing + tokensForDev > 0) {
            uint256 remainingBalance = address(this).balance;
            uint256 amountForMarketing = remainingBalance * tokensForMarketing / (tokensForMarketing + tokensForDev);
            uint256 amountForDev = remainingBalance - amountForMarketing;
            
            if (amountForMarketing > 0) {
                marketingReceiver.call{value: amountForMarketing}("");    
            }

            if (amountForDev > 0) {
                devReceiver.call{value: amountForDev}("");    
            }
        }

        tokensForLiquidity = 0;
        tokensForDev = 0;
        tokensForMarketing = 0;
    }

    function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            LPTokenReceiver,
            block.timestamp
        );
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"LPTokenReceiver_","type":"address"},{"internalType":"address","name":"marketingReceiver_","type":"address"},{"internalType":"address","name":"devReceiver_","type":"address"}],"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":"previousDev","type":"address"},{"indexed":true,"internalType":"address","name":"newDev","type":"address"}],"name":"DevTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LPTokenReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"airdropAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropComplete","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropTokens","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":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"enableMaxBuyFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"enableMaxSellFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeAirdrop","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"","type":"address"}],"name":"isAMM","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromWalletLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumDevFee","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ammAddress","type":"address"},{"internalType":"bool","name":"isAMM_","type":"bool"}],"name":"setAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setDevReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setLPTokenReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionAmount_","type":"uint256"},{"internalType":"uint256","name":"maxWallet_","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairAddress","type":"address"}],"name":"setLiquidityPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setMarketingReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minFee","type":"uint256"}],"name":"setMinimumDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router_","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setWalletExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setWalletExcludedFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDev","type":"address"}],"name":"transferDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vestingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPeriods","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526014600a8190556103e8601d55601e805463ffffff0019166101001790556021805461ffff1916905560245560056025553480156200004257600080fd5b50604051620037153803806200371583398101604081905262000065916200062d565b33336040518060400160405280600e81526020016d21b0b9b41021b7bb902a37b5b2b760911b8152506040518060400160405280600381526020016210d0d560ea1b8152508160019081620000bb91906200072f565b506000620000ca82826200072f565b505050620000de826200048460201b60201c565b620000e981620004d6565b5050600780546001600160a01b038086166001600160a01b03199283161790925560098054848416908316179055600880548584169083161790556016805492871692909116821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200016f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001959190620007fb565b6001600160a01b031663c9c6539630601660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e9190620007fb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002929190620007fb565b601780546001600160a01b0319166001600160a01b0392831690811782556000908152601860209081526040808320805460ff199081166001908117909255945486168452601c909252808320805485168317905560165485168352808320805485168317905530835280832080548516831790557fa48bd8e7b1565515cde2859b6cc48308ba05b5325bcf90fb096b9ac0b8087dfc805485168317905533835280832080548516831790556007549094168252929020805490911690911790556014600d819055600e819055600f8190556010819055601181905560128190556a52b7d2dcc80cd2e4000000906200038c818062000836565b62000398919062000836565b600b55601254601154601054620003b0919062000836565b620003bc919062000836565b600c55601b6020527f6790d4910a095e0e04c8daa388834616a295bac3f59038957b6d0b93a2d216848054600160ff1991821681179092553060009081526040808220805484168517905533825280822080548416851790556007546001600160a01b031682529020805490911690911790556103e86200043f82600562000852565b6200044b91906200086c565b6019556103e86200045e82600a62000852565b6200046a91906200086c565b601a5562000479338262000528565b50505050506200088f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b038216620005835760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806003600082825462000597919062000836565b90915550506001600160a01b03821660009081526004602052604081208054839290620005c690849062000836565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200062857600080fd5b919050565b600080600080608085870312156200064457600080fd5b6200064f8562000610565b93506200065f6020860162000610565b92506200066f6040860162000610565b91506200067f6060860162000610565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006b557607f821691505b602082108103620006d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200072a57600081815260208120601f850160051c81016020861015620007055750805b601f850160051c820191505b81811015620007265782815560010162000711565b5050505b505050565b81516001600160401b038111156200074b576200074b6200068a565b62000763816200075c8454620006a0565b84620006dc565b602080601f8311600181146200079b5760008415620007825750858301515b600019600386901b1c1916600185901b17855562000726565b600085815260208120601f198616915b82811015620007cc57888601518255948401946001909101908401620007ab565b5085821015620007eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200080e57600080fd5b620008198262000610565b9392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200084c576200084c62000820565b92915050565b80820281158282048414176200084c576200084c62000820565b6000826200088a57634e487b7160e01b600052601260045260246000fd5b500490565b612e76806200089f6000396000f3fe6080604052600436106103c75760003560e01c80638d67cffe116101f2578063c0d786551161010d578063e219558e116100a0578063f63743421161006f578063f637434214610b0a578063f887ea4014610b20578063f8b45b0514610b40578063fdc149ef14610b5657600080fd5b8063e219558e14610a94578063e99ab6f914610ab4578063f11a24d314610ad4578063f2fde38b14610aea57600080fd5b8063d46b6a30116100dc578063d46b6a30146109e8578063d6498bc214610a18578063d85ba06314610a38578063dd62ed3e14610a4e57600080fd5b8063c0d786551461097c578063c4590d3f1461099c578063c8c8ebe4146109bc578063ccf2cf80146109d257600080fd5b80639fccce3211610185578063a5949bcf11610154578063a5949bcf146108ef578063a9059cbb1461090f578063a9d3cd8a1461092f578063b530dc8c1461094f57600080fd5b80639fccce32146108835780639ff84a9814610899578063a0d82dc5146108b9578063a457c2d7146108cf57600080fd5b806392136913116101c1578063921369131461082257806395d89b41146108385780639c3b4fdc1461084d5780639d93598e1461086357600080fd5b80638d67cffe146107a65780638da5cb5b146107c65780638e89cf4d146107e457806391cca3db1461080457600080fd5b806339509351116102e2578063706f69371161027557806375b625321161024457806375b625321461073a578063790ca4131461075a5780637bce5a0414610770578063808a54571461078657600080fd5b8063706f6937146106ba57806370a08231146106da578063715018a614610710578063751039fc1461072557600080fd5b80636940213a116102b15780636940213a1461063a578063696635871461066a5780636a486a8e146106845780636f9a880e1461069a57600080fd5b806339509351146105d25780633aeb6c71146105f25780634a62bb651461060857806351c6590a1461062757600080fd5b80631a8145bb1161035a578063313ce56711610329578063313ce56714610562578063328873601461057e578063332ca4f214610593578063388ac95b146105b357600080fd5b80631a8145bb146104de5780631f3fed8f146104f457806323b872dd1461050a57806323c04d9d1461052a57600080fd5b80630e99dcad116103965780630e99dcad146104655780630f683e9014610485578063180b0d7e146104a557806318160ddd146104c957600080fd5b806306fdde03146103d3578063076b44d3146103fe578063095ea7b3146104155780630d075d9c1461044557600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610b6c565b6040516103f59190612a07565b60405180910390f35b34801561040a57600080fd5b50610413610bfe565b005b34801561042157600080fd5b50610435610430366004612a6a565b610c78565b60405190151581526020016103f5565b34801561045157600080fd5b50610413610460366004612a96565b610c8f565b34801561047157600080fd5b50610413610480366004612ac2565b610d44565b34801561049157600080fd5b506104136104a0366004612a96565b610dd7565b3480156104b157600080fd5b506104bb601d5481565b6040519081526020016103f5565b3480156104d557600080fd5b506003546104bb565b3480156104ea57600080fd5b506104bb60155481565b34801561050057600080fd5b506104bb60135481565b34801561051657600080fd5b50610435610525366004612ae6565b610e86565b34801561053657600080fd5b5060075461054a906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b34801561056e57600080fd5b50604051601281526020016103f5565b34801561058a57600080fd5b50610413610f45565b34801561059f57600080fd5b506104136105ae366004612ac2565b610fbb565b3480156105bf57600080fd5b5060215461043590610100900460ff1681565b3480156105de57600080fd5b506104356105ed366004612a6a565b611092565b3480156105fe57600080fd5b506104bb60255481565b34801561061457600080fd5b50601e5461043590610100900460ff1681565b610413610635366004612b27565b6110ce565b34801561064657600080fd5b50610435610655366004612ac2565b601c6020526000908152604090205460ff1681565b34801561067657600080fd5b506021546104359060ff1681565b34801561069057600080fd5b506104bb600c5481565b3480156106a657600080fd5b5060095461054a906001600160a01b031681565b3480156106c657600080fd5b506104136106d5366004612b8c565b611136565b3480156106e657600080fd5b506104bb6106f5366004612ac2565b6001600160a01b031660009081526004602052604090205490565b34801561071c57600080fd5b50610413611283565b34801561073157600080fd5b506104136112e4565b34801561074657600080fd5b50610413610755366004612ac2565b61135c565b34801561076657600080fd5b506104bb60235481565b34801561077c57600080fd5b506104bb600d5481565b34801561079257600080fd5b5060175461054a906001600160a01b031681565b3480156107b257600080fd5b506104136107c1366004612b27565b6113ef565b3480156107d257600080fd5b506005546001600160a01b031661054a565b3480156107f057600080fd5b506104136107ff366004612bf8565b611478565b34801561081057600080fd5b506006546001600160a01b031661054a565b34801561082e57600080fd5b506104bb60105481565b34801561084457600080fd5b506103e86114fa565b34801561085957600080fd5b506104bb600e5481565b34801561086f57600080fd5b5061041361087e366004612ac2565b611509565b34801561088f57600080fd5b506104bb60145481565b3480156108a557600080fd5b506104136108b4366004612ac2565b611582565b3480156108c557600080fd5b506104bb60115481565b3480156108db57600080fd5b506104356108ea366004612a6a565b611627565b3480156108fb57600080fd5b5060085461054a906001600160a01b031681565b34801561091b57600080fd5b5061043561092a366004612a6a565b6116d8565b34801561093b57600080fd5b5061041361094a366004612bf8565b6116e5565b34801561095b57600080fd5b506104bb61096a366004612ac2565b60226020526000908152604090205481565b34801561098857600080fd5b50610413610997366004612ac2565b611767565b3480156109a857600080fd5b506104136109b7366004612c36565b6117e0565b3480156109c857600080fd5b506104bb60195481565b3480156109de57600080fd5b506104bb600a5481565b3480156109f457600080fd5b50610435610a03366004612ac2565b60186020526000908152604090205460ff1681565b348015610a2457600080fd5b50610413610a33366004612bf8565b611842565b348015610a4457600080fd5b506104bb600b5481565b348015610a5a57600080fd5b506104bb610a69366004612c58565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610aa057600080fd5b50610413610aaf366004612b27565b6118c4565b348015610ac057600080fd5b50610413610acf366004612b27565b61194f565b348015610ae057600080fd5b506104bb600f5481565b348015610af657600080fd5b50610413610b05366004612ac2565b6119cb565b348015610b1657600080fd5b506104bb60125481565b348015610b2c57600080fd5b5060165461054a906001600160a01b031681565b348015610b4c57600080fd5b506104bb601a5481565b348015610b6257600080fd5b506104bb60245481565b606060018054610b7b90612c86565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba790612c86565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b33610c116006546001600160a01b031690565b6001600160a01b031614610c6c5760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f742074686520646576000060448201526064015b60405180910390fd5b610c766000611aa7565b565b6000610c85338484611af9565b5060015b92915050565b33610ca26005546001600160a01b031690565b6001600160a01b031614610ce65760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b600a54821015610cf557600080fd5b600d839055600e829055600f81905580610d0f8385612cd6565b610d199190612cd6565b600b55601e546301000000900460ff1615610d3f57602054600b541115610d3f57600080fd5b505050565b33610d576005546001600160a01b031690565b6001600160a01b031614610d9b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6007546001600160a01b03808316911603610db557600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610dea6005546001600160a01b031690565b6001600160a01b031614610e2e5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b600a54821015610e3d57600080fd5b60108390556011829055601281905580610e578385612cd6565b610e619190612cd6565b600c55601e5462010000900460ff1615610d3f57601f54600c541115610d3f57600080fd5b6000610e93848484611c38565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610f2d5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201527f68616e20616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610c63565b610f3a8533858403611af9565b506001949350505050565b33610f586005546001600160a01b031690565b6001600160a01b031614610f9c5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b60215460ff1615610fac57600080fd5b6021805460ff19166001179055565b33610fce6006546001600160a01b031690565b6001600160a01b0316146110245760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b6001600160a01b0381166110865760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610c63565b61108f81611aa7565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610c859185906110c9908690612cd6565b611af9565b336110e16005546001600160a01b031690565b6001600160a01b0316146111255760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b61112f8134612399565b5042602355565b336111496005546001600160a01b031690565b6001600160a01b03161461118d5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b60215460ff161561119d57600080fd5b60005b8381101561127c576111f1308686848181106111be576111be612ce9565b90506020020160208101906111d39190612ac2565b8585858181106111e5576111e5612ce9565b9050602002013561245f565b82828281811061120357611203612ce9565b905060200201356022600087878581811061122057611220612ce9565b90506020020160208101906112359190612ac2565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546112649190612cd6565b9091555081905061127481612cff565b9150506111a0565b5050505050565b336112966005546001600160a01b031690565b6001600160a01b0316146112da5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b610c766000612651565b336112f76005546001600160a01b031690565b6001600160a01b03161461133b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601e54610100900460ff1661134f57600080fd5b601e805461ff0019169055565b3361136f6005546001600160a01b031690565b6001600160a01b0316146113b35760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6008546001600160a01b038083169116036113cd57600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336114026005546001600160a01b031690565b6001600160a01b0316146114465760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601d5481111580156114595750601f5481105b61146257600080fd5b601f55601e805462ff0000191662010000179055565b3361148b6005546001600160a01b031690565b6001600160a01b0316146114cf5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b7b90612c86565b3361151c6005546001600160a01b031690565b6001600160a01b0316146115605760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336115956006546001600160a01b031690565b6001600160a01b0316146115eb5760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b6009546001600160a01b0380831691160361160557600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156116c15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610c63565b6116ce3385858403611af9565b5060019392505050565b6000610c85338484611c38565b336116f86005546001600160a01b031690565b6001600160a01b03161461173c5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b3361177a6005546001600160a01b031690565b6001600160a01b0316146117be5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b336117f36005546001600160a01b031690565b6001600160a01b0316146118375760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601991909155601a55565b336118556005546001600160a01b031690565b6001600160a01b0316146118995760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336118d76005546001600160a01b031690565b6001600160a01b03161461191b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601d54811115801561192e575060205481105b61193757600080fd5b602055601e805463ff00000019166301000000179055565b336119626006546001600160a01b031690565b6001600160a01b0316146119b85760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b600a5481106119c657600080fd5b600a55565b336119de6005546001600160a01b031690565b6001600160a01b031614611a225760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b038116611a9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c63565b61108f81612651565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b038316611b5b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c63565b6001600160a01b038216611bd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611cb45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b038216611d305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c63565b80600003611d4457610d3f8383600061245f565b601e54610100900460ff1615611fc2576005546001600160a01b03848116911614801590611d8057506005546001600160a01b03838116911614155b8015611d9757506001600160a01b03821661dead14155b8015611da65750601e5460ff16155b15611fc2576001600160a01b03831660009081526018602052604090205460ff168015611dec57506001600160a01b0382166000908152601c602052604090205460ff16155b15611ea957601954811115611e435760405162461bcd60e51b815260206004820152601660248201527f216d61785472616e73616374696f6e416d6f756e742e000000000000000000006044820152606401610c63565b601a546001600160a01b038316600090815260046020526040902054611e699083612cd6565b1115611ea45760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c63565b611fc2565b6001600160a01b03821660009081526018602052604090205460ff168015611eea57506001600160a01b0383166000908152601c602052604090205460ff16155b15611f4157601954811115611ea45760405162461bcd60e51b815260206004820152601660248201527f216d61785472616e73616374696f6e416d6f756e742e000000000000000000006044820152606401610c63565b6001600160a01b0382166000908152601c602052604090205460ff16611fc257601a546001600160a01b038316600090815260046020526040902054611f879083612cd6565b1115611fc25760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c63565b602154610100900460ff1661209d576001600160a01b038316600090815260226020526040902054801561209b57600062015180602354426120049190612d18565b61200e9190612d2b565b90506024548110156120895760006064836025548461202d9190612d4d565b6120379190612d4d565b6120419190612d2b565b61204b9084612d18565b9050808461206e886001600160a01b031660009081526004602052604090205490565b6120789190612d18565b101561208357600080fd5b50612099565b6021805461ff0019166101001790555b505b505b601e546001600160a01b0384166000908152601b602052604090205460ff918216159116806120e457506001600160a01b0383166000908152601b602052604090205460ff165b156120ed575060005b80156122f8576001600160a01b03831660009081526018602052604081205460ff16801561211d57506000600c54115b156121e8576000601d54601154856121359190612d4d565b61213f9190612d2b565b90506000601d54601054866121549190612d4d565b61215e9190612d2b565b90506000601d54601254876121739190612d4d565b61217d9190612d2b565b90508061218a8385612cd6565b6121949190612cd6565b935082601460008282546121a89190612cd6565b9250508190555081601360008282546121c19190612cd6565b9250508190555080601560008282546121da9190612cd6565b909155506122d89350505050565b6001600160a01b03851660009081526018602052604090205460ff16801561221257506000600b54115b156122d8576000601d54600e548561222a9190612d4d565b6122349190612d2b565b90506000601d54600d54866122499190612d4d565b6122539190612d2b565b90506000601d54600f54876122689190612d4d565b6122729190612d2b565b90508061227f8385612cd6565b6122899190612cd6565b9350826014600082825461229d9190612cd6565b9250508190555081601360008282546122b69190612cd6565b9250508190555080601560008282546122cf9190612cd6565b90915550505050505b80156122f6576122e985308361245f565b6122f38184612d18565b92505b505b601e5460ff1615801561231957506017546001600160a01b03858116911614155b801561233e57506001600160a01b0384166000908152601b602052604090205460ff16155b801561236357506001600160a01b0383166000908152601b602052604090205460ff16155b1561238857601e805460ff1916600117905561237d6126a3565b601e805460ff191690555b61239384848461245f565b50505050565b6016546123b19030906001600160a01b031684611af9565b6016546007546040517ff305d7190000000000000000000000000000000000000000000000000000000081523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561243a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061127c9190612d64565b6001600160a01b0383166124db5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b0382166125315760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610c63565b6001600160a01b038316600090815260046020526040902054818110156125c05760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201527f68616e2062616c616e63650000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b038085166000908152600460205260408082208585039055918516815290812080548492906125f7908490612cd6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264391815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546126b69190612cd6565b6126c09190612cd6565b6000036126c957565b600060026015546126da9190612d2b565b90506000816015546126ec9190612d18565b6013546014546126fc9190612cd6565b6127069190612cd6565b90506127118161287b565b600081836015546127229190612d18565b61272c9047612d4d565b6127369190612d2b565b90506000831180156127485750600081115b15612757576127578382612399565b60006014546013546127699190612cd6565b11156128675760145460135447916000916127849190612cd6565b6013546127919084612d4d565b61279b9190612d2b565b905060006127a98284612d18565b90508115612807576008546040516001600160a01b03909116908390600081818185875af1925050503d80600081146127fe576040519150601f19603f3d011682016040523d82523d6000602084013e612803565b606091505b5050505b8015612863576009546040516001600160a01b03909116908290600081818185875af1925050503d806000811461285a576040519150601f19603f3d011682016040523d82523d6000602084013e61285f565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106128b0576128b0612ce9565b6001600160a01b03928316602091820292909201810191909152601654604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015612922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129469190612d92565b8160018151811061295957612959612ce9565b6001600160a01b03928316602091820292909201015260165461297f9130911684611af9565b6016546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906129d1908590600090869030904290600401612daf565b600060405180830381600087803b1580156129eb57600080fd5b505af11580156129ff573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015612a3457858101830151858201604001528201612a18565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461108f57600080fd5b60008060408385031215612a7d57600080fd5b8235612a8881612a55565b946020939093013593505050565b600080600060608486031215612aab57600080fd5b505081359360208301359350604090920135919050565b600060208284031215612ad457600080fd5b8135612adf81612a55565b9392505050565b600080600060608486031215612afb57600080fd5b8335612b0681612a55565b92506020840135612b1681612a55565b929592945050506040919091013590565b600060208284031215612b3957600080fd5b5035919050565b60008083601f840112612b5257600080fd5b50813567ffffffffffffffff811115612b6a57600080fd5b6020830191508360208260051b8501011115612b8557600080fd5b9250929050565b60008060008060408587031215612ba257600080fd5b843567ffffffffffffffff80821115612bba57600080fd5b612bc688838901612b40565b90965094506020870135915080821115612bdf57600080fd5b50612bec87828801612b40565b95989497509550505050565b60008060408385031215612c0b57600080fd5b8235612c1681612a55565b915060208301358015158114612c2b57600080fd5b809150509250929050565b60008060408385031215612c4957600080fd5b50508035926020909101359150565b60008060408385031215612c6b57600080fd5b8235612c7681612a55565b91506020830135612c2b81612a55565b600181811c90821680612c9a57607f821691505b602082108103612cba57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c8957610c89612cc0565b634e487b7160e01b600052603260045260246000fd5b600060018201612d1157612d11612cc0565b5060010190565b81810381811115610c8957610c89612cc0565b600082612d4857634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c8957610c89612cc0565b600080600060608486031215612d7957600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612da457600080fd5b8151612adf81612a55565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612dff5784516001600160a01b031683529383019391830191600101612dda565b50506001600160a01b0396909616606085015250505060800152939250505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220952db8e6b626973bbb8bd7a358ccb4a86f36f77cee9b5fee0abdf89a5fec7d6e64736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000712dc56c7d430f6c7914af856dafa60f9d709b4700000000000000000000000021a92874b90e0997aa4d27fa358cf65da05a2822

Deployed Bytecode

0x6080604052600436106103c75760003560e01c80638d67cffe116101f2578063c0d786551161010d578063e219558e116100a0578063f63743421161006f578063f637434214610b0a578063f887ea4014610b20578063f8b45b0514610b40578063fdc149ef14610b5657600080fd5b8063e219558e14610a94578063e99ab6f914610ab4578063f11a24d314610ad4578063f2fde38b14610aea57600080fd5b8063d46b6a30116100dc578063d46b6a30146109e8578063d6498bc214610a18578063d85ba06314610a38578063dd62ed3e14610a4e57600080fd5b8063c0d786551461097c578063c4590d3f1461099c578063c8c8ebe4146109bc578063ccf2cf80146109d257600080fd5b80639fccce3211610185578063a5949bcf11610154578063a5949bcf146108ef578063a9059cbb1461090f578063a9d3cd8a1461092f578063b530dc8c1461094f57600080fd5b80639fccce32146108835780639ff84a9814610899578063a0d82dc5146108b9578063a457c2d7146108cf57600080fd5b806392136913116101c1578063921369131461082257806395d89b41146108385780639c3b4fdc1461084d5780639d93598e1461086357600080fd5b80638d67cffe146107a65780638da5cb5b146107c65780638e89cf4d146107e457806391cca3db1461080457600080fd5b806339509351116102e2578063706f69371161027557806375b625321161024457806375b625321461073a578063790ca4131461075a5780637bce5a0414610770578063808a54571461078657600080fd5b8063706f6937146106ba57806370a08231146106da578063715018a614610710578063751039fc1461072557600080fd5b80636940213a116102b15780636940213a1461063a578063696635871461066a5780636a486a8e146106845780636f9a880e1461069a57600080fd5b806339509351146105d25780633aeb6c71146105f25780634a62bb651461060857806351c6590a1461062757600080fd5b80631a8145bb1161035a578063313ce56711610329578063313ce56714610562578063328873601461057e578063332ca4f214610593578063388ac95b146105b357600080fd5b80631a8145bb146104de5780631f3fed8f146104f457806323b872dd1461050a57806323c04d9d1461052a57600080fd5b80630e99dcad116103965780630e99dcad146104655780630f683e9014610485578063180b0d7e146104a557806318160ddd146104c957600080fd5b806306fdde03146103d3578063076b44d3146103fe578063095ea7b3146104155780630d075d9c1461044557600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610b6c565b6040516103f59190612a07565b60405180910390f35b34801561040a57600080fd5b50610413610bfe565b005b34801561042157600080fd5b50610435610430366004612a6a565b610c78565b60405190151581526020016103f5565b34801561045157600080fd5b50610413610460366004612a96565b610c8f565b34801561047157600080fd5b50610413610480366004612ac2565b610d44565b34801561049157600080fd5b506104136104a0366004612a96565b610dd7565b3480156104b157600080fd5b506104bb601d5481565b6040519081526020016103f5565b3480156104d557600080fd5b506003546104bb565b3480156104ea57600080fd5b506104bb60155481565b34801561050057600080fd5b506104bb60135481565b34801561051657600080fd5b50610435610525366004612ae6565b610e86565b34801561053657600080fd5b5060075461054a906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b34801561056e57600080fd5b50604051601281526020016103f5565b34801561058a57600080fd5b50610413610f45565b34801561059f57600080fd5b506104136105ae366004612ac2565b610fbb565b3480156105bf57600080fd5b5060215461043590610100900460ff1681565b3480156105de57600080fd5b506104356105ed366004612a6a565b611092565b3480156105fe57600080fd5b506104bb60255481565b34801561061457600080fd5b50601e5461043590610100900460ff1681565b610413610635366004612b27565b6110ce565b34801561064657600080fd5b50610435610655366004612ac2565b601c6020526000908152604090205460ff1681565b34801561067657600080fd5b506021546104359060ff1681565b34801561069057600080fd5b506104bb600c5481565b3480156106a657600080fd5b5060095461054a906001600160a01b031681565b3480156106c657600080fd5b506104136106d5366004612b8c565b611136565b3480156106e657600080fd5b506104bb6106f5366004612ac2565b6001600160a01b031660009081526004602052604090205490565b34801561071c57600080fd5b50610413611283565b34801561073157600080fd5b506104136112e4565b34801561074657600080fd5b50610413610755366004612ac2565b61135c565b34801561076657600080fd5b506104bb60235481565b34801561077c57600080fd5b506104bb600d5481565b34801561079257600080fd5b5060175461054a906001600160a01b031681565b3480156107b257600080fd5b506104136107c1366004612b27565b6113ef565b3480156107d257600080fd5b506005546001600160a01b031661054a565b3480156107f057600080fd5b506104136107ff366004612bf8565b611478565b34801561081057600080fd5b506006546001600160a01b031661054a565b34801561082e57600080fd5b506104bb60105481565b34801561084457600080fd5b506103e86114fa565b34801561085957600080fd5b506104bb600e5481565b34801561086f57600080fd5b5061041361087e366004612ac2565b611509565b34801561088f57600080fd5b506104bb60145481565b3480156108a557600080fd5b506104136108b4366004612ac2565b611582565b3480156108c557600080fd5b506104bb60115481565b3480156108db57600080fd5b506104356108ea366004612a6a565b611627565b3480156108fb57600080fd5b5060085461054a906001600160a01b031681565b34801561091b57600080fd5b5061043561092a366004612a6a565b6116d8565b34801561093b57600080fd5b5061041361094a366004612bf8565b6116e5565b34801561095b57600080fd5b506104bb61096a366004612ac2565b60226020526000908152604090205481565b34801561098857600080fd5b50610413610997366004612ac2565b611767565b3480156109a857600080fd5b506104136109b7366004612c36565b6117e0565b3480156109c857600080fd5b506104bb60195481565b3480156109de57600080fd5b506104bb600a5481565b3480156109f457600080fd5b50610435610a03366004612ac2565b60186020526000908152604090205460ff1681565b348015610a2457600080fd5b50610413610a33366004612bf8565b611842565b348015610a4457600080fd5b506104bb600b5481565b348015610a5a57600080fd5b506104bb610a69366004612c58565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610aa057600080fd5b50610413610aaf366004612b27565b6118c4565b348015610ac057600080fd5b50610413610acf366004612b27565b61194f565b348015610ae057600080fd5b506104bb600f5481565b348015610af657600080fd5b50610413610b05366004612ac2565b6119cb565b348015610b1657600080fd5b506104bb60125481565b348015610b2c57600080fd5b5060165461054a906001600160a01b031681565b348015610b4c57600080fd5b506104bb601a5481565b348015610b6257600080fd5b506104bb60245481565b606060018054610b7b90612c86565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba790612c86565b8015610bf45780601f10610bc957610100808354040283529160200191610bf4565b820191906000526020600020905b815481529060010190602001808311610bd757829003601f168201915b5050505050905090565b33610c116006546001600160a01b031690565b6001600160a01b031614610c6c5760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f742074686520646576000060448201526064015b60405180910390fd5b610c766000611aa7565b565b6000610c85338484611af9565b5060015b92915050565b33610ca26005546001600160a01b031690565b6001600160a01b031614610ce65760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b600a54821015610cf557600080fd5b600d839055600e829055600f81905580610d0f8385612cd6565b610d199190612cd6565b600b55601e546301000000900460ff1615610d3f57602054600b541115610d3f57600080fd5b505050565b33610d576005546001600160a01b031690565b6001600160a01b031614610d9b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6007546001600160a01b03808316911603610db557600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610dea6005546001600160a01b031690565b6001600160a01b031614610e2e5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b600a54821015610e3d57600080fd5b60108390556011829055601281905580610e578385612cd6565b610e619190612cd6565b600c55601e5462010000900460ff1615610d3f57601f54600c541115610d3f57600080fd5b6000610e93848484611c38565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610f2d5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201527f68616e20616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610c63565b610f3a8533858403611af9565b506001949350505050565b33610f586005546001600160a01b031690565b6001600160a01b031614610f9c5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b60215460ff1615610fac57600080fd5b6021805460ff19166001179055565b33610fce6006546001600160a01b031690565b6001600160a01b0316146110245760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b6001600160a01b0381166110865760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610c63565b61108f81611aa7565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610c859185906110c9908690612cd6565b611af9565b336110e16005546001600160a01b031690565b6001600160a01b0316146111255760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b61112f8134612399565b5042602355565b336111496005546001600160a01b031690565b6001600160a01b03161461118d5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b60215460ff161561119d57600080fd5b60005b8381101561127c576111f1308686848181106111be576111be612ce9565b90506020020160208101906111d39190612ac2565b8585858181106111e5576111e5612ce9565b9050602002013561245f565b82828281811061120357611203612ce9565b905060200201356022600087878581811061122057611220612ce9565b90506020020160208101906112359190612ac2565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546112649190612cd6565b9091555081905061127481612cff565b9150506111a0565b5050505050565b336112966005546001600160a01b031690565b6001600160a01b0316146112da5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b610c766000612651565b336112f76005546001600160a01b031690565b6001600160a01b03161461133b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601e54610100900460ff1661134f57600080fd5b601e805461ff0019169055565b3361136f6005546001600160a01b031690565b6001600160a01b0316146113b35760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6008546001600160a01b038083169116036113cd57600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336114026005546001600160a01b031690565b6001600160a01b0316146114465760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601d5481111580156114595750601f5481105b61146257600080fd5b601f55601e805462ff0000191662010000179055565b3361148b6005546001600160a01b031690565b6001600160a01b0316146114cf5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b7b90612c86565b3361151c6005546001600160a01b031690565b6001600160a01b0316146115605760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336115956006546001600160a01b031690565b6001600160a01b0316146115eb5760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b6009546001600160a01b0380831691160361160557600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156116c15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610c63565b6116ce3385858403611af9565b5060019392505050565b6000610c85338484611c38565b336116f86005546001600160a01b031690565b6001600160a01b03161461173c5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b3361177a6005546001600160a01b031690565b6001600160a01b0316146117be5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b336117f36005546001600160a01b031690565b6001600160a01b0316146118375760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601991909155601a55565b336118556005546001600160a01b031690565b6001600160a01b0316146118995760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336118d76005546001600160a01b031690565b6001600160a01b03161461191b5760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b601d54811115801561192e575060205481105b61193757600080fd5b602055601e805463ff00000019166301000000179055565b336119626006546001600160a01b031690565b6001600160a01b0316146119b85760405162461bcd60e51b815260206004820152601e60248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652064657600006044820152606401610c63565b600a5481106119c657600080fd5b600a55565b336119de6005546001600160a01b031690565b6001600160a01b031614611a225760405162461bcd60e51b81526020600482018190526024820152600080516020612e218339815191526044820152606401610c63565b6001600160a01b038116611a9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c63565b61108f81612651565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b038316611b5b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c63565b6001600160a01b038216611bd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611cb45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b038216611d305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c63565b80600003611d4457610d3f8383600061245f565b601e54610100900460ff1615611fc2576005546001600160a01b03848116911614801590611d8057506005546001600160a01b03838116911614155b8015611d9757506001600160a01b03821661dead14155b8015611da65750601e5460ff16155b15611fc2576001600160a01b03831660009081526018602052604090205460ff168015611dec57506001600160a01b0382166000908152601c602052604090205460ff16155b15611ea957601954811115611e435760405162461bcd60e51b815260206004820152601660248201527f216d61785472616e73616374696f6e416d6f756e742e000000000000000000006044820152606401610c63565b601a546001600160a01b038316600090815260046020526040902054611e699083612cd6565b1115611ea45760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c63565b611fc2565b6001600160a01b03821660009081526018602052604090205460ff168015611eea57506001600160a01b0383166000908152601c602052604090205460ff16155b15611f4157601954811115611ea45760405162461bcd60e51b815260206004820152601660248201527f216d61785472616e73616374696f6e416d6f756e742e000000000000000000006044820152606401610c63565b6001600160a01b0382166000908152601c602052604090205460ff16611fc257601a546001600160a01b038316600090815260046020526040902054611f879083612cd6565b1115611fc25760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610c63565b602154610100900460ff1661209d576001600160a01b038316600090815260226020526040902054801561209b57600062015180602354426120049190612d18565b61200e9190612d2b565b90506024548110156120895760006064836025548461202d9190612d4d565b6120379190612d4d565b6120419190612d2b565b61204b9084612d18565b9050808461206e886001600160a01b031660009081526004602052604090205490565b6120789190612d18565b101561208357600080fd5b50612099565b6021805461ff0019166101001790555b505b505b601e546001600160a01b0384166000908152601b602052604090205460ff918216159116806120e457506001600160a01b0383166000908152601b602052604090205460ff165b156120ed575060005b80156122f8576001600160a01b03831660009081526018602052604081205460ff16801561211d57506000600c54115b156121e8576000601d54601154856121359190612d4d565b61213f9190612d2b565b90506000601d54601054866121549190612d4d565b61215e9190612d2b565b90506000601d54601254876121739190612d4d565b61217d9190612d2b565b90508061218a8385612cd6565b6121949190612cd6565b935082601460008282546121a89190612cd6565b9250508190555081601360008282546121c19190612cd6565b9250508190555080601560008282546121da9190612cd6565b909155506122d89350505050565b6001600160a01b03851660009081526018602052604090205460ff16801561221257506000600b54115b156122d8576000601d54600e548561222a9190612d4d565b6122349190612d2b565b90506000601d54600d54866122499190612d4d565b6122539190612d2b565b90506000601d54600f54876122689190612d4d565b6122729190612d2b565b90508061227f8385612cd6565b6122899190612cd6565b9350826014600082825461229d9190612cd6565b9250508190555081601360008282546122b69190612cd6565b9250508190555080601560008282546122cf9190612cd6565b90915550505050505b80156122f6576122e985308361245f565b6122f38184612d18565b92505b505b601e5460ff1615801561231957506017546001600160a01b03858116911614155b801561233e57506001600160a01b0384166000908152601b602052604090205460ff16155b801561236357506001600160a01b0383166000908152601b602052604090205460ff16155b1561238857601e805460ff1916600117905561237d6126a3565b601e805460ff191690555b61239384848461245f565b50505050565b6016546123b19030906001600160a01b031684611af9565b6016546007546040517ff305d7190000000000000000000000000000000000000000000000000000000081523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561243a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061127c9190612d64565b6001600160a01b0383166124db5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b0382166125315760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610c63565b6001600160a01b038316600090815260046020526040902054818110156125c05760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201527f68616e2062616c616e63650000000000000000000000000000000000000000006064820152608401610c63565b6001600160a01b038085166000908152600460205260408082208585039055918516815290812080548492906125f7908490612cd6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264391815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546126b69190612cd6565b6126c09190612cd6565b6000036126c957565b600060026015546126da9190612d2b565b90506000816015546126ec9190612d18565b6013546014546126fc9190612cd6565b6127069190612cd6565b90506127118161287b565b600081836015546127229190612d18565b61272c9047612d4d565b6127369190612d2b565b90506000831180156127485750600081115b15612757576127578382612399565b60006014546013546127699190612cd6565b11156128675760145460135447916000916127849190612cd6565b6013546127919084612d4d565b61279b9190612d2b565b905060006127a98284612d18565b90508115612807576008546040516001600160a01b03909116908390600081818185875af1925050503d80600081146127fe576040519150601f19603f3d011682016040523d82523d6000602084013e612803565b606091505b5050505b8015612863576009546040516001600160a01b03909116908290600081818185875af1925050503d806000811461285a576040519150601f19603f3d011682016040523d82523d6000602084013e61285f565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106128b0576128b0612ce9565b6001600160a01b03928316602091820292909201810191909152601654604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015612922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129469190612d92565b8160018151811061295957612959612ce9565b6001600160a01b03928316602091820292909201015260165461297f9130911684611af9565b6016546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906129d1908590600090869030904290600401612daf565b600060405180830381600087803b1580156129eb57600080fd5b505af11580156129ff573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015612a3457858101830151858201604001528201612a18565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461108f57600080fd5b60008060408385031215612a7d57600080fd5b8235612a8881612a55565b946020939093013593505050565b600080600060608486031215612aab57600080fd5b505081359360208301359350604090920135919050565b600060208284031215612ad457600080fd5b8135612adf81612a55565b9392505050565b600080600060608486031215612afb57600080fd5b8335612b0681612a55565b92506020840135612b1681612a55565b929592945050506040919091013590565b600060208284031215612b3957600080fd5b5035919050565b60008083601f840112612b5257600080fd5b50813567ffffffffffffffff811115612b6a57600080fd5b6020830191508360208260051b8501011115612b8557600080fd5b9250929050565b60008060008060408587031215612ba257600080fd5b843567ffffffffffffffff80821115612bba57600080fd5b612bc688838901612b40565b90965094506020870135915080821115612bdf57600080fd5b50612bec87828801612b40565b95989497509550505050565b60008060408385031215612c0b57600080fd5b8235612c1681612a55565b915060208301358015158114612c2b57600080fd5b809150509250929050565b60008060408385031215612c4957600080fd5b50508035926020909101359150565b60008060408385031215612c6b57600080fd5b8235612c7681612a55565b91506020830135612c2b81612a55565b600181811c90821680612c9a57607f821691505b602082108103612cba57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c8957610c89612cc0565b634e487b7160e01b600052603260045260246000fd5b600060018201612d1157612d11612cc0565b5060010190565b81810381811115610c8957610c89612cc0565b600082612d4857634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c8957610c89612cc0565b600080600060608486031215612d7957600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612da457600080fd5b8151612adf81612a55565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612dff5784516001600160a01b031683529383019391830191600101612dda565b50506001600160a01b0396909616606085015250505060800152939250505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220952db8e6b626973bbb8bd7a358ccb4a86f36f77cee9b5fee0abdf89a5fec7d6e64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000712dc56c7d430f6c7914af856dafa60f9d709b4700000000000000000000000021a92874b90e0997aa4d27fa358cf65da05a2822

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : LPTokenReceiver_ (address): 0x000000000000000000000000000000000000dEaD
Arg [2] : marketingReceiver_ (address): 0x712dc56C7d430F6c7914AF856dAfa60f9D709b47
Arg [3] : devReceiver_ (address): 0x21a92874b90e0997aa4D27fA358cF65Da05a2822

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [2] : 000000000000000000000000712dc56c7d430f6c7914af856dafa60f9d709b47
Arg [3] : 00000000000000000000000021a92874b90e0997aa4d27fa358cf65da05a2822


Deployed Bytecode Sourcemap

7506:13565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4117:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1759:89;;;;;;;;;;;;;:::i;:::-;;5950:167;;;;;;;;;;-1:-1:-1;5950:167:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;5950:167:0;1046:187:1;11664:427:0;;;;;;;;;;-1:-1:-1;11664:427:0;;;;;:::i;:::-;;:::i;12864:166::-;;;;;;;;;;-1:-1:-1;12864:166:0;;;;;:::i;:::-;;:::i;12099:438::-;;;;;;;;;;-1:-1:-1;12099:438:0;;;;;:::i;:::-;;:::i;8431:36::-;;;;;;;;;;;;;;;;;;;1957:25:1;;;1945:2;1930:18;8431:36:0;1811:177:1;4001:108:0;;;;;;;;;;-1:-1:-1;4089:12:0;;4001:108;;8068:33;;;;;;;;;;;;;;;;7994;;;;;;;;;;;;;;;;3160:493;;;;;;;;;;-1:-1:-1;3160:493:0;;;;;:::i;:::-;;:::i;7555:30::-;;;;;;;;;;-1:-1:-1;7555:30:0;;;;-1:-1:-1;;;;;7555:30:0;;;;;;-1:-1:-1;;;;;2618:55:1;;;2600:74;;2588:2;2573:18;7555:30:0;2454:226:1;4225:93:0;;;;;;;;;;-1:-1:-1;4225:93:0;;4308:2;2827:36:1;;2815:2;2800:18;4225:93:0;2685:184:1;11360:123:0;;;;;;;;;;;;;:::i;1215:179::-;;;;;;;;;;-1:-1:-1;1215:179:0;;;;;:::i;:::-;;:::i;8892:35::-;;;;;;;;;;-1:-1:-1;8892:35:0;;;;;;;;;;;5335:211;;;;;;;;;;-1:-1:-1;5335:211:0;;;;;:::i;:::-;;:::i;9064:33::-;;;;;;;;;;;;;;;;8508;;;;;;;;;;-1:-1:-1;8508:33:0;;;;;;;;;;;11491:165;;;;;;:::i;:::-;;:::i;8364:58::-;;;;;;;;;;-1:-1:-1;8364:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8850:35;;;;;;;;;;-1:-1:-1;8850:35:0;;;;;;;;7740:28;;;;;;;;;;;;;;;;7631:26;;;;;;;;;;-1:-1:-1;7631:26:0;;;;-1:-1:-1;;;;;7631:26:0;;;11025:327;;;;;;;;;;-1:-1:-1;11025:327:0;;;;;:::i;:::-;;:::i;6542:127::-;;;;;;;;;;-1:-1:-1;6542:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6643:18:0;6616:7;6643:18;;;:9;:18;;;;;;;6542:127;1648:103;;;;;;;;;;;;;:::i;12738:118::-;;;;;;;;;;;;;:::i;13038:172::-;;;;;;;;;;-1:-1:-1;13038:172:0;;;;;:::i;:::-;;:::i;8991:25::-;;;;;;;;;;;;;;;;7777:30;;;;;;;;;;;;;;;;8149:28;;;;;;;;;;-1:-1:-1;8149:28:0;;;;-1:-1:-1;;;;;8149:28:0;;;14257:198;;;;;;;;;;-1:-1:-1;14257:198:0;;;;;:::i;:::-;;:::i;448:87::-;;;;;;;;;;-1:-1:-1;521:6:0;;-1:-1:-1;;;;;521:6:0;448:87;;13867:144;;;;;;;;;;-1:-1:-1;13867:144:0;;;;;:::i;:::-;;:::i;543:83::-;;;;;;;;;;-1:-1:-1;614:4:0;;-1:-1:-1;;;;;614:4:0;543:83;;7884:31;;;;;;;;;;;;;;;;5838:104;;;;;;;;;;;;;:::i;7814:24::-;;;;;;;;;;;;;;;;14137:112;;;;;;;;;;-1:-1:-1;14137:112:0;;;;;:::i;:::-;;:::i;8034:27::-;;;;;;;;;;;;;;;;13218:152;;;;;;;;;;-1:-1:-1;13218:152:0;;;;;:::i;:::-;;:::i;7922:25::-;;;;;;;;;;;;;;;;6125:409;;;;;;;;;;-1:-1:-1;6125:409:0;;;;;:::i;:::-;;:::i;7592:32::-;;;;;;;;;;-1:-1:-1;7592:32:0;;;;-1:-1:-1;;;;;7592:32:0;;;3661:173;;;;;;;;;;-1:-1:-1;3661:173:0;;;;;:::i;:::-;;:::i;13583:113::-;;;;;;;;;;-1:-1:-1;13583:113:0;;;;;:::i;:::-;;:::i;8936:48::-;;;;;;;;;;-1:-1:-1;8936:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;14019:110;;;;;;;;;;-1:-1:-1;14019:110:0;;;;;:::i;:::-;;:::i;12545:185::-;;;;;;;;;;-1:-1:-1;12545:185:0;;;;;:::i;:::-;;:::i;8232:35::-;;;;;;;;;;;;;;;;7664:33;;;;;;;;;;;;;;;;8186:37;;;;;;;;;;-1:-1:-1;8186:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13704:155;;;;;;;;;;-1:-1:-1;13704:155:0;;;;;:::i;:::-;;:::i;7706:27::-;;;;;;;;;;;;;;;;3842:151;;;;;;;;;;-1:-1:-1;3842:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3958:18:0;;;3931:7;3958:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3842:151;14463:194;;;;;;;;;;-1:-1:-1;14463:194:0;;;;;:::i;:::-;;:::i;13378:197::-;;;;;;;;;;-1:-1:-1;13378:197:0;;;;;:::i;:::-;;:::i;7845:30::-;;;;;;;;;;;;;;;;1006:201;;;;;;;;;;-1:-1:-1;1006:201:0;;;;;:::i;:::-;;:::i;7954:31::-;;;;;;;;;;;;;;;;8110:32;;;;;;;;;;-1:-1:-1;8110:32:0;;;;-1:-1:-1;;;;;8110:32:0;;;8274:24;;;;;;;;;;;;;;;;9023:34;;;;;;;;;;;;;;;;4117:100;4171:13;4204:5;4197:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4117:100;:::o;1759:89::-;1575:10;1566:5;614:4;;-1:-1:-1;;;;;614:4:0;;543:83;1566:5;-1:-1:-1;;;;;1566:19:0;;1558:62;;;;-1:-1:-1;;;1558:62:0;;6177:2:1;1558:62:0;;;6159:21:1;6216:2;6196:18;;;6189:30;6255:32;6235:18;;;6228:60;6305:18;;1558:62:0;;;;;;;;;1816:24:::1;1837:1;1816:12;:24::i;:::-;1759:89::o:0;5950:167::-;6033:4;6050:37;6059:10;6071:7;6080:6;6050:8;:37::i;:::-;-1:-1:-1;6105:4:0;5950:167;;;;;:::o;11664:427::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;11792:13:::1;;11782:6;:23;;11774:32;;;::::0;::::1;;11817:15;:30:::0;;;11858:9:::1;:18:::0;;;11887:15:::1;:30:::0;;;11905:12;11945:27:::1;11870:6:::0;11835:12;11945:27:::1;:::i;:::-;:45;;;;:::i;:::-;11930:12;:60:::0;12007:12:::1;::::0;;;::::1;;;12003:79;;;12060:9;;12044:12;;:25;;12036:34;;;::::0;::::1;;11664:427:::0;;;:::o;12864:166::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;12951:15:::1;::::0;-1:-1:-1;;;;;12951:30:0;;::::1;:15:::0;::::1;:30:::0;12943:39:::1;;;::::0;::::1;;12993:15;:29:::0;;-1:-1:-1;;;;;;12993:29:0::1;-1:-1:-1::0;;;;;12993:29:0;;;::::1;::::0;;;::::1;::::0;;12864:166::o;12099:438::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;12228:13:::1;;12218:6;:23;;12210:32;;;::::0;::::1;;12253:16;:31:::0;;;12295:10:::1;:19:::0;;;12325:16:::1;:31:::0;;;12344:12;12385:29:::1;12308:6:::0;12272:12;12385:29:::1;:::i;:::-;:48;;;;:::i;:::-;12369:13;:64:::0;12450:13:::1;::::0;;;::::1;;;12446:82;;;12505:10;;12488:13;;:27;;12480:36;;;::::0;::::1;3160:493:::0;3300:4;3317:36;3327:6;3335:9;3346:6;3317:9;:36::i;:::-;-1:-1:-1;;;;;3393:19:0;;3366:24;3393:19;;;:11;:19;;;;;;;;3413:10;3393:31;;;;;;;;3443:26;;;;3435:84;;;;-1:-1:-1;;;3435:84:0;;7216:2:1;3435:84:0;;;7198:21:1;7255:2;7235:18;;;7228:30;7294:34;7274:18;;;7267:62;7365:15;7345:18;;;7338:43;7398:19;;3435:84:0;7014:409:1;3435:84:0;3555:55;3564:6;3572:10;3603:6;3584:16;:25;3555:8;:55::i;:::-;-1:-1:-1;3641:4:0;;3160:493;-1:-1:-1;;;;3160:493:0:o;11360:123::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;11426:15:::1;::::0;::::1;;11425:16;11417:25;;;::::0;::::1;;11453:15;:22:::0;;-1:-1:-1;;11453:22:0::1;11471:4;11453:22;::::0;;11360:123::o;1215:179::-;1575:10;1566:5;614:4;;-1:-1:-1;;;;;614:4:0;;543:83;1566:5;-1:-1:-1;;;;;1566:19:0;;1558:62;;;;-1:-1:-1;;;1558:62:0;;6177:2:1;1558:62:0;;;6159:21:1;6216:2;6196:18;;;6189:30;6255:32;6235:18;;;6228:60;6305:18;;1558:62:0;5975:354:1;1558:62:0;-1:-1:-1;;;;;1294:20:0;::::1;1286:69;;;::::0;-1:-1:-1;;;1286:69:0;;7630:2:1;1286:69:0::1;::::0;::::1;7612:21:1::0;7669:2;7649:18;;;7642:30;7708:34;7688:18;;;7681:62;-1:-1:-1;;;7759:18:1;;;7752:34;7803:19;;1286:69:0::1;7428:400:1::0;1286:69:0::1;1366:20;1379:6;1366:12;:20::i;:::-;1215:179:::0;:::o;5335:211::-;5449:10;5423:4;5470:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5470:32:0;;;;;;;;;;5423:4;;5440:76;;5461:7;;5470:45;;5505:10;;5470:45;:::i;:::-;5440:8;:76::i;11491:165::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;11572:37:::1;11586:11;11599:9;11572:13;:37::i;:::-;-1:-1:-1::0;11633:15:0::1;11620:10;:28:::0;11491:165::o;11025:327::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;11143:15:::1;::::0;::::1;;11142:16;11134:25;;;::::0;::::1;;11177:6;11172:173;11187:16:::0;;::::1;11172:173;;;11225:54;11249:4;11256:7;;11264:1;11256:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11268:7;;11276:1;11268:10;;;;;;;:::i;:::-;;;;;;;11225:15;:54::i;:::-;11323:7;;11331:1;11323:10;;;;;;;:::i;:::-;;;;;;;11294:13;:25;11308:7;;11316:1;11308:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11294:25:0::1;-1:-1:-1::0;;;;;11294:25:0::1;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;11205:3:0;;-1:-1:-1;11205:3:0::1;::::0;::::1;:::i;:::-;;;;11172:173;;;;11025:327:::0;;;;:::o;1648:103::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;1713:30:::1;1740:1;1713:18;:30::i;12738:118::-:0;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;12800:14:::1;::::0;::::1;::::0;::::1;;;12792:23;;;::::0;::::1;;12826:14;:22:::0;;-1:-1:-1;;12826:22:0::1;::::0;;12738:118::o;13038:172::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;13127:17:::1;::::0;-1:-1:-1;;;;;13127:32:0;;::::1;:17:::0;::::1;:32:::0;13119:41:::1;;;::::0;::::1;;13171:17;:31:::0;;-1:-1:-1;;;;;;13171:31:0::1;-1:-1:-1::0;;;;;13171:31:0;;;::::1;::::0;;;::::1;::::0;;13038:172::o;14257:198::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;14350:14:::1;;14341:5;:23;;:45;;;;;14376:10;;14368:5;:18;14341:45;14333:54;;;::::0;::::1;;14398:10;:18:::0;14427:13:::1;:20:::0;;-1:-1:-1;;14427:20:0::1;::::0;::::1;::::0;;14257:198::o;13867:144::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;-1:-1:-1;;;;;13965:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:38;;-1:-1:-1;;13965:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13867:144::o;5838:104::-;5894:13;5927:7;5920:14;;;;;:::i;14137:112::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;14214:13:::1;:27:::0;;-1:-1:-1;;;;;;14214:27:0::1;-1:-1:-1::0;;;;;14214:27:0;;;::::1;::::0;;;::::1;::::0;;14137:112::o;13218:152::-;1575:10;1566:5;614:4;;-1:-1:-1;;;;;614:4:0;;543:83;1566:5;-1:-1:-1;;;;;1566:19:0;;1558:62;;;;-1:-1:-1;;;1558:62:0;;6177:2:1;1558:62:0;;;6159:21:1;6216:2;6196:18;;;6189:30;6255:32;6235:18;;;6228:60;6305:18;;1558:62:0;5975:354:1;1558:62:0;13299:11:::1;::::0;-1:-1:-1;;;;;13299:26:0;;::::1;:11:::0;::::1;:26:::0;13291:35:::1;;;::::0;::::1;;13337:11;:25:::0;;-1:-1:-1;;;;;;13337:25:0::1;-1:-1:-1::0;;;;;13337:25:0;;;::::1;::::0;;;::::1;::::0;;13218:152::o;6125:409::-;6274:10;6218:4;6262:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6262:32:0;;;;;;;;;;6313:35;;;;6305:85;;;;-1:-1:-1;;;6305:85:0;;8364:2:1;6305:85:0;;;8346:21:1;8403:2;8383:18;;;8376:30;8442:34;8422:18;;;8415:62;8513:7;8493:18;;;8486:35;8538:19;;6305:85:0;8162:401:1;6305:85:0;6426:65;6435:10;6447:7;6475:15;6456:16;:34;6426:8;:65::i;:::-;-1:-1:-1;6522:4:0;;6125:409;-1:-1:-1;;;6125:409:0:o;3661:173::-;3747:4;3764:40;3774:10;3786:9;3797:6;3764:9;:40::i;13583:113::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;-1:-1:-1;;;;;13662:17:0;;;::::1;;::::0;;;:5:::1;:17;::::0;;;;:26;;-1:-1:-1;;13662:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13583:113::o;14019:110::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;14085:6:::1;:36:::0;;-1:-1:-1;;;;;;14085:36:0::1;-1:-1:-1::0;;;;;14085:36:0;;;::::1;::::0;;;::::1;::::0;;14019:110::o;12545:185::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;12645:20:::1;:44:::0;;;;12700:9:::1;:22:::0;12545:185::o;13704:155::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;-1:-1:-1;;;;;13804:34:0;;;::::1;;::::0;;;:26:::1;:34;::::0;;;;:47;;-1:-1:-1;;13804:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13704:155::o;14463:194::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;14555:14:::1;;14546:5;:23;;:44;;;;;14581:9;;14573:5;:17;14546:44;14538:53;;;::::0;::::1;;14602:9;:17:::0;14630:12:::1;:19:::0;;-1:-1:-1;;14630:19:0::1;::::0;::::1;::::0;;14463:194::o;13378:197::-;1575:10;1566:5;614:4;;-1:-1:-1;;;;;614:4:0;;543:83;1566:5;-1:-1:-1;;;;;1566:19:0;;1558:62;;;;-1:-1:-1;;;1558:62:0;;6177:2:1;1558:62:0;;;6159:21:1;6216:2;6196:18;;;6189:30;6255:32;6235:18;;;6228:60;6305:18;;1558:62:0;5975:354:1;1558:62:0;13465:13:::1;;13456:6;:22;13448:31;;;::::0;::::1;;13545:13;:22:::0;13378:197::o;1006:201::-;1453:10;1442:7;521:6;;-1:-1:-1;;;;;521:6:0;;448:87;1442:7;-1:-1:-1;;;;;1442:21:0;;1434:66;;;;-1:-1:-1;;;1434:66:0;;6536:2:1;1434:66:0;;;6518:21:1;;;6555:18;;;6548:30;-1:-1:-1;;;;;;;;;;;6594:18:1;;;6587:62;6666:18;;1434:66:0;6334:356:1;1434:66:0;-1:-1:-1;;;;;1095:22:0;::::1;1087:73;;;::::0;-1:-1:-1;;;1087:73:0;;8770:2:1;1087:73:0::1;::::0;::::1;8752:21:1::0;8809:2;8789:18;;;8782:30;8848:34;8828:18;;;8821:62;8919:8;8899:18;;;8892:36;8945:19;;1087:73:0::1;8568:402:1::0;1087:73:0::1;1171:28;1190:8;1171:18;:28::i;833:165::-:0;916:4;;;-1:-1:-1;;;;;931:13:0;;;-1:-1:-1;;;;;;931:13:0;;;;;;;960:30;;916:4;;;931:13;916:4;;960:30;;899:14;;960:30;888:110;833:165;:::o;4947:380::-;-1:-1:-1;;;;;5083:19:0;;5075:68;;;;-1:-1:-1;;;5075:68:0;;9177:2:1;5075:68:0;;;9159:21:1;9216:2;9196:18;;;9189:30;9255:34;9235:18;;;9228:62;-1:-1:-1;;;9306:18:1;;;9299:34;9350:19;;5075:68:0;8975:400:1;5075:68:0;-1:-1:-1;;;;;5162:21:0;;5154:68;;;;-1:-1:-1;;;5154:68:0;;9582:2:1;5154:68:0;;;9564:21:1;9621:2;9601:18;;;9594:30;9660:34;9640:18;;;9633:62;9731:4;9711:18;;;9704:32;9753:19;;5154:68:0;9380:398:1;5154:68:0;-1:-1:-1;;;;;5235:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5287:32;;1957:25:1;;;5287:32:0;;1930:18:1;5287:32:0;;;;;;;4947:380;;;:::o;14665:4301::-;-1:-1:-1;;;;;14797:18:0;;14789:68;;;;-1:-1:-1;;;14789:68:0;;9985:2:1;14789:68:0;;;9967:21:1;10024:2;10004:18;;;9997:30;10063:34;10043:18;;;10036:62;10134:7;10114:18;;;10107:35;10159:19;;14789:68:0;9783:401:1;14789:68:0;-1:-1:-1;;;;;14876:16:0;;14868:64;;;;-1:-1:-1;;;14868:64:0;;10391:2:1;14868:64:0;;;10373:21:1;10430:2;10410:18;;;10403:30;10469:34;10449:18;;;10442:62;10540:5;10520:18;;;10513:33;10563:19;;14868:64:0;10189:399:1;14868:64:0;14949:6;14959:1;14949:11;14945:93;;14977:28;14993:4;14999:2;15003:1;14977:15;:28::i;14945:93::-;15054:14;;;;;;;15050:1227;;;521:6;;-1:-1:-1;;;;;15107:15:0;;;521:6;;15107:15;;;;:49;;-1:-1:-1;521:6:0;;-1:-1:-1;;;;;15143:13:0;;;521:6;;15143:13;;15107:49;:91;;;;-1:-1:-1;;;;;;15177:21:0;;15191:6;15177:21;;15107:91;:121;;;;-1:-1:-1;15220:8:0;;;;15219:9;15107:121;15085:1181;;;-1:-1:-1;;;;;15291:11:0;;;;;;:5;:11;;;;;;;;:67;;;;-1:-1:-1;;;;;;15328:30:0;;;;;;:26;:30;;;;;;;;15327:31;15291:67;15265:984;;;15445:20;;15435:6;:30;;15401:138;;;;-1:-1:-1;;;15401:138:0;;10795:2:1;15401:138:0;;;10777:21:1;10834:2;10814:18;;;10807:30;10873:24;10853:18;;;10846:52;10915:18;;15401:138:0;10593:346:1;15401:138:0;15622:9;;-1:-1:-1;;;;;6643:18:0;;6616:7;6643:18;;;:9;:18;;;;;;15596:22;;:6;:22;:::i;:::-;:35;;15562:131;;;;-1:-1:-1;;;15562:131:0;;11146:2:1;15562:131:0;;;11128:21:1;11185:2;11165:18;;;11158:30;-1:-1:-1;;;11204:18:1;;;11197:40;11254:18;;15562:131:0;10944:334:1;15562:131:0;15265:984;;;-1:-1:-1;;;;;15764:9:0;;;;;;:5;:9;;;;;;;;:67;;;;-1:-1:-1;;;;;;15799:32:0;;;;;;:26;:32;;;;;;;;15798:33;15764:67;15738:511;;;15918:20;;15908:6;:30;;15874:138;;;;-1:-1:-1;;;15874:138:0;;10795:2:1;15874:138:0;;;10777:21:1;10834:2;10814:18;;;10807:30;10873:24;10853:18;;;10846:52;10915:18;;15874:138:0;10593:346:1;15738:511:0;-1:-1:-1;;;;;16043:30:0;;;;;;:26;:30;;;;;;;;16038:211;;16158:9;;-1:-1:-1;;;;;6643:18:0;;6616:7;6643:18;;;:9;:18;;;;;;16132:22;;:6;:22;:::i;:::-;:35;;16098:131;;;;-1:-1:-1;;;16098:131:0;;11146:2:1;16098:131:0;;;11128:21:1;11185:2;11165:18;;;11158:30;-1:-1:-1;;;11204:18:1;;;11197:40;11254:18;;16098:131:0;10944:334:1;16098:131:0;16294:15;;;;;;;16289:789;;-1:-1:-1;;;;;16370:19:0;;16338:29;16370:19;;;:13;:19;;;;;;16410:25;;16406:661;;16474:22;16532:5;16518:10;;16500:15;:28;;;;:::i;:::-;16499:38;;;;:::i;:::-;16474:63;;16579:14;;16562;:31;16558:494;;;16618:22;16861:3;16812:21;16770:14;;16753;:31;;;;:::i;:::-;:80;;;;:::i;:::-;:111;;;;:::i;:::-;16643:244;;:21;:244;:::i;:::-;16618:269;;16946:14;16936:6;16918:15;16928:4;-1:-1:-1;;;;;6643:18:0;6616:7;6643:18;;;:9;:18;;;;;;;6542:127;16918:15;:24;;;;:::i;:::-;:42;;16910:51;;;;;;16595:386;16558:494;;;17010:15;:22;;-1:-1:-1;;17010:22:0;;;;;16558:494;16437:630;16406:661;16311:767;16289:789;17106:8;;-1:-1:-1;;;;;17131:23:0;;17090:12;17131:23;;;:17;:23;;;;;;17106:8;;;;17105:9;;17131:23;;:48;;-1:-1:-1;;;;;;17158:21:0;;;;;;:17;:21;;;;;;;;17131:48;17127:96;;;-1:-1:-1;17206:5:0;17127:96;17239:7;17235:1405;;;-1:-1:-1;;;;;17302:9:0;;17265:12;17302:9;;;:5;:9;;;;;;;;:30;;;;;17331:1;17315:13;;:17;17302:30;17298:1191;;;17353:23;17401:14;;17388:10;;17379:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;17353:62;;17434:29;17494:14;;17475:16;;17466:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;17434:74;;17527:29;17587:14;;17568:16;;17559:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;17527:74;-1:-1:-1;17527:74:0;17629:39;17647:21;17629:15;:39;:::i;:::-;:63;;;;:::i;:::-;17622:70;;17729:15;17713:12;;:31;;;;;;;:::i;:::-;;;;;;;;17785:21;17763:18;;:43;;;;;;;:::i;:::-;;;;;;;;17847:21;17825:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;17298:1191:0;;-1:-1:-1;;;;17298:1191:0;;-1:-1:-1;;;;;17909:11:0;;;;;;:5;:11;;;;;;;;:31;;;;;17939:1;17924:12;;:16;17909:31;17905:584;;;17961:23;18008:14;;17996:9;;17987:6;:18;;;;:::i;:::-;:35;;;;:::i;:::-;17961:61;;18041:29;18100:14;;18082:15;;18073:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;18041:73;;18133:29;18192:14;;18174:15;;18165:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;18133:73;-1:-1:-1;18133:73:0;18234:39;18252:21;18234:15;:39;:::i;:::-;:63;;;;:::i;:::-;18227:70;;18334:15;18318:12;;:31;;;;;;;:::i;:::-;;;;;;;;18390:21;18368:18;;:43;;;;;;;:::i;:::-;;;;;;;;18452:21;18430:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;17905:584:0;18509:8;;18505:124;;18538:42;18554:4;18568;18575;18538:15;:42::i;:::-;18599:14;18609:4;18599:14;;:::i;:::-;;;18505:124;17248:1392;17235:1405;18671:8;;;;18670:9;:47;;;;-1:-1:-1;18704:13:0;;-1:-1:-1;;;;;18696:21:0;;;18704:13;;18696:21;;18670:47;:88;;;;-1:-1:-1;;;;;;18735:23:0;;;;;;:17;:23;;;;;;;;18734:24;18670:88;:127;;;;-1:-1:-1;;;;;;18776:21:0;;;;;;:17;:21;;;;;;;;18775:22;18670:127;18652:259;;;18824:8;:15;;-1:-1:-1;;18824:15:0;18835:4;18824:15;;;18856:10;:8;:10::i;:::-;18883:8;:16;;-1:-1:-1;;18883:16:0;;;18652:259;18925:33;18941:4;18947:2;18951:6;18925:15;:33::i;:::-;14778:4188;14665:4301;;;:::o;20713:353::-;20828:6;;20796:53;;20813:4;;-1:-1:-1;;;;;20828:6:0;20837:11;20796:8;:53::i;:::-;20860:6;;21002:15;;20860:198;;;;;20924:4;20860:198;;;12232:34:1;12282:18;;;12275:34;;;20860:6:0;12325:18:1;;;12318:34;;;12368:18;;;12361:34;-1:-1:-1;;;;;21002:15:0;;;12411:19:1;;;12404:44;21032:15:0;12464:19:1;;;12457:35;20860:6:0;;;:22;;20890:9;;12143:19:1;;20860:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4326:613::-;-1:-1:-1;;;;;4466:20:0;;4458:66;;;;-1:-1:-1;;;4458:66:0;;13016:2:1;4458:66:0;;;12998:21:1;13055:2;13035:18;;;13028:30;13094:34;13074:18;;;13067:62;13165:3;13145:18;;;13138:31;13186:19;;4458:66:0;12814:397:1;4458:66:0;-1:-1:-1;;;;;4543:23:0;;4535:67;;;;-1:-1:-1;;;4535:67:0;;13418:2:1;4535:67:0;;;13400:21:1;13457:2;13437:18;;;13430:30;13496:33;13476:18;;;13469:61;13547:18;;4535:67:0;13216:355:1;4535:67:0;-1:-1:-1;;;;;4639:17:0;;4615:21;4639:17;;;:9;:17;;;;;;4675:23;;;;4667:79;;;;-1:-1:-1;;;4667:79:0;;13778:2:1;4667:79:0;;;13760:21:1;13817:2;13797:18;;;13790:30;13856:34;13836:18;;;13829:62;13927:13;13907:18;;;13900:41;13958:19;;4667:79:0;13576:407:1;4667:79:0;-1:-1:-1;;;;;4782:17:0;;;;;;;:9;:17;;;;;;4802:22;;;4782:42;;4846:20;;;;;;;;:30;;4818:6;;4782:17;4846:30;;4818:6;;4846:30;:::i;:::-;;;;;;;;4911:9;-1:-1:-1;;;;;4894:35:0;4903:6;-1:-1:-1;;;;;4894:35:0;;4922:6;4894:35;;;;1957:25:1;;1945:2;1930:18;;1811:177;4894:35:0;;;;;;;;4447:492;4326:613;;;:::o;634:191::-;727:6;;;-1:-1:-1;;;;;744:17:0;;;-1:-1:-1;;;;;;744:17:0;;;;;;;777:40;;727:6;;;744:17;727:6;;777:40;;708:16;;777:40;697:128;634:191;:::o;19427:1278::-;19507:18;;19492:12;;19471:18;;:33;;;;:::i;:::-;:54;;;;:::i;:::-;19529:1;19471:59;19467:98;;19427:1278::o;19467:98::-;19577:17;19618:1;19597:18;;:22;;;;:::i;:::-;19577:42;;19630:26;19717:9;19696:18;;:30;;;;:::i;:::-;19674:18;;19659:12;;:33;;;;:::i;:::-;:68;;;;:::i;:::-;19630:97;;19738:36;19755:18;19738:16;:36::i;:::-;19787:23;19872:18;19859:9;19838:18;;:30;;;;:::i;:::-;19813:56;;:21;:56;:::i;:::-;:77;;;;:::i;:::-;19787:103;;19919:1;19907:9;:13;:36;;;;;19942:1;19924:15;:19;19907:36;19903:110;;;19960:41;19974:9;19985:15;19960:13;:41::i;:::-;20065:1;20050:12;;20029:18;;:33;;;;:::i;:::-;:37;20025:578;;;20237:12;;20216:18;;20110:21;;20083:24;;20216:33;;20237:12;20216:33;:::i;:::-;20194:18;;20175:37;;:16;:37;:::i;:::-;:75;;;;:::i;:::-;20146:104;-1:-1:-1;20265:20:0;20288:37;20146:104;20288:16;:37;:::i;:::-;20265:60;-1:-1:-1;20358:22:0;;20354:120;;20401:17;;:53;;-1:-1:-1;;;;;20401:17:0;;;;20431:18;;20401:53;;;;20431:18;20401:17;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20354:120;20494:16;;20490:102;;20531:11;;:41;;-1:-1:-1;;;;;20531:11:0;;;;20555:12;;20531:41;;;;20555:12;20531:11;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20490:102;20068:535;;;20025:578;-1:-1:-1;;20636:1:0;20615:18;:22;;;20648:12;:16;;;20675:18;:22;-1:-1:-1;19427:1278:0:o;18974:445::-;19065:16;;;19079:1;19065:16;;;;;;;;19041:21;;19065:16;;;;;;;;;;-1:-1:-1;19065:16:0;19041:40;;19110:4;19092;19097:1;19092:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19092:23:0;;;:7;;;;;;;;;;:23;;;;19136:6;;:13;;;;;;;;:6;;;;;:11;;:13;;;;;19092:7;;19136:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19126:4;19131:1;19126:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19126:23:0;;;:7;;;;;;;;;:23;19192:6;;19160:53;;19177:4;;19192:6;19201:11;19160:8;:53::i;:::-;19224:6;;:187;;;;;-1:-1:-1;;;;;19224:6:0;;;;:57;;:187;;19296:11;;19224:6;;19338:4;;19365;;19385:15;;19224:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19030:389;18974:445;:::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;567:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;726:315;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1238:316::-;1315:6;1323;1331;1384:2;1372:9;1363:7;1359:23;1355:32;1352:52;;;1400:1;1397;1390:12;1352:52;-1:-1:-1;;1423:23:1;;;1493:2;1478:18;;1465:32;;-1:-1:-1;1544:2:1;1529:18;;;1516:32;;1238:316;-1:-1:-1;1238:316:1:o;1559:247::-;1618:6;1671:2;1659:9;1650:7;1646:23;1642:32;1639:52;;;1687:1;1684;1677:12;1639:52;1726:9;1713:23;1745:31;1770:5;1745:31;:::i;:::-;1795:5;1559:247;-1:-1:-1;;;1559:247:1:o;1993:456::-;2070:6;2078;2086;2139:2;2127:9;2118:7;2114:23;2110:32;2107:52;;;2155:1;2152;2145:12;2107:52;2194:9;2181:23;2213:31;2238:5;2213:31;:::i;:::-;2263:5;-1:-1:-1;2320:2:1;2305:18;;2292:32;2333:33;2292:32;2333:33;:::i;:::-;1993:456;;2385:7;;-1:-1:-1;;;2439:2:1;2424:18;;;;2411:32;;1993:456::o;2874:180::-;2933:6;2986:2;2974:9;2965:7;2961:23;2957:32;2954:52;;;3002:1;2999;2992:12;2954:52;-1:-1:-1;3025:23:1;;2874:180;-1:-1:-1;2874:180:1:o;3059:367::-;3122:8;3132:6;3186:3;3179:4;3171:6;3167:17;3163:27;3153:55;;3204:1;3201;3194:12;3153:55;-1:-1:-1;3227:20:1;;3270:18;3259:30;;3256:50;;;3302:1;3299;3292:12;3256:50;3339:4;3331:6;3327:17;3315:29;;3399:3;3392:4;3382:6;3379:1;3375:14;3367:6;3363:27;3359:38;3356:47;3353:67;;;3416:1;3413;3406:12;3353:67;3059:367;;;;;:::o;3431:773::-;3553:6;3561;3569;3577;3630:2;3618:9;3609:7;3605:23;3601:32;3598:52;;;3646:1;3643;3636:12;3598:52;3686:9;3673:23;3715:18;3756:2;3748:6;3745:14;3742:34;;;3772:1;3769;3762:12;3742:34;3811:70;3873:7;3864:6;3853:9;3849:22;3811:70;:::i;:::-;3900:8;;-1:-1:-1;3785:96:1;-1:-1:-1;3988:2:1;3973:18;;3960:32;;-1:-1:-1;4004:16:1;;;4001:36;;;4033:1;4030;4023:12;4001:36;;4072:72;4136:7;4125:8;4114:9;4110:24;4072:72;:::i;:::-;3431:773;;;;-1:-1:-1;4163:8:1;-1:-1:-1;;;;3431:773:1:o;4209:416::-;4274:6;4282;4335:2;4323:9;4314:7;4310:23;4306:32;4303:52;;;4351:1;4348;4341:12;4303:52;4390:9;4377:23;4409:31;4434:5;4409:31;:::i;:::-;4459:5;-1:-1:-1;4516:2:1;4501:18;;4488:32;4558:15;;4551:23;4539:36;;4529:64;;4589:1;4586;4579:12;4529:64;4612:7;4602:17;;;4209:416;;;;;:::o;4630:248::-;4698:6;4706;4759:2;4747:9;4738:7;4734:23;4730:32;4727:52;;;4775:1;4772;4765:12;4727:52;-1:-1:-1;;4798:23:1;;;4868:2;4853:18;;;4840:32;;-1:-1:-1;4630:248:1:o;4883:388::-;4951:6;4959;5012:2;5000:9;4991:7;4987:23;4983:32;4980:52;;;5028:1;5025;5018:12;4980:52;5067:9;5054:23;5086:31;5111:5;5086:31;:::i;:::-;5136:5;-1:-1:-1;5193:2:1;5178:18;;5165:32;5206:33;5165:32;5206:33;:::i;5533:437::-;5612:1;5608:12;;;;5655;;;5676:61;;5730:4;5722:6;5718:17;5708:27;;5676:61;5783:2;5775:6;5772:14;5752:18;5749:38;5746:218;;-1:-1:-1;;;5817:1:1;5810:88;5921:4;5918:1;5911:15;5949:4;5946:1;5939:15;5746:218;;5533:437;;;:::o;6695:184::-;-1:-1:-1;;;6744:1:1;6737:88;6844:4;6841:1;6834:15;6868:4;6865:1;6858:15;6884:125;6949:9;;;6970:10;;;6967:36;;;6983:18;;:::i;7833:184::-;-1:-1:-1;;;7882:1:1;7875:88;7982:4;7979:1;7972:15;8006:4;8003:1;7996:15;8022:135;8061:3;8082:17;;;8079:43;;8102:18;;:::i;:::-;-1:-1:-1;8149:1:1;8138:13;;8022:135::o;11283:128::-;11350:9;;;11371:11;;;11368:37;;;11385:18;;:::i;11416:274::-;11456:1;11482;11472:189;;-1:-1:-1;;;11514:1:1;11507:88;11618:4;11615:1;11608:15;11646:4;11643:1;11636:15;11472:189;-1:-1:-1;11675:9:1;;11416:274::o;11695:168::-;11768:9;;;11799;;11816:15;;;11810:22;;11796:37;11786:71;;11837:18;;:::i;12503:306::-;12591:6;12599;12607;12660:2;12648:9;12639:7;12635:23;12631:32;12628:52;;;12676:1;12673;12666:12;12628:52;12705:9;12699:16;12689:26;;12755:2;12744:9;12740:18;12734:25;12724:35;;12799:2;12788:9;12784:18;12778:25;12768:35;;12503:306;;;;;:::o;14387:251::-;14457:6;14510:2;14498:9;14489:7;14485:23;14481:32;14478:52;;;14526:1;14523;14516:12;14478:52;14558:9;14552:16;14577:31;14602:5;14577:31;:::i;14643:1026::-;14905:4;14953:3;14942:9;14938:19;14984:6;14973:9;14966:25;15010:2;15048:6;15043:2;15032:9;15028:18;15021:34;15091:3;15086:2;15075:9;15071:18;15064:31;15115:6;15150;15144:13;15181:6;15173;15166:22;15219:3;15208:9;15204:19;15197:26;;15258:2;15250:6;15246:15;15232:29;;15279:1;15289:218;15303:6;15300:1;15297:13;15289:218;;;15368:13;;-1:-1:-1;;;;;15364:62:1;15352:75;;15482:15;;;;15447:12;;;;15325:1;15318:9;15289:218;;;-1:-1:-1;;;;;;;15563:55:1;;;;15558:2;15543:18;;15536:83;-1:-1:-1;;;15650:3:1;15635:19;15628:35;15524:3;14643:1026;-1:-1:-1;;;14643:1026:1:o

Swarm Source

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