ETH Price: $3,394.64 (-1.87%)
Gas: 8 Gwei

Token

DogeNetwork (DGNW)
 

Overview

Max Total Supply

1,000,000 DGNW

Holders

128

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*רנדון.eth
Balance
20,000 DGNW

Value
$0.00
0xccb14685183f872bd195cf1bb7d470751262923e
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:
DGNWv2

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
 * DogeNetwork (DGNW) - A social network powered by DOGE!
 * 
 * https://DogeSocialNetwork.com
 * https://t.me/DogeNetworkPortalWow
 *
 */

// 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 DGNWv2 is ERC20, Ownable {

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

    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;

    mapping(address => uint256) public airdropAmount;
    uint256 public launchTime;

    constructor(
        address router_,
        address LPTokenReceiver_,
        address marketingReceiver_,
        address devReceiver_
    ) ERC20("DogeNetwork", "DGNW") 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 = 1_000_000 * 1e18;
        
        buyMarketingFee = 5;
        buyDevFee = 5;
        buyLiquidityFee = 10;

        sellMarketingFee = 10;
        sellDevFee = 10;
        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 * 2 / 100;
        maxWallet = totalSupply * 3 / 100;

        /*
            _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"
                    );
                }

            }
        }

        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"},{"stateMutability":"payable","type":"receive"}]

60806040526005600a556103e8601d55601e805463ffffff0019166101001790556021805460ff191690553480156200003757600080fd5b5060405162003221380380620032218339810160408190526200005a916200061f565b33336040518060400160405280600b81526020016a446f67654e6574776f726b60a81b8152506040518060400160405280600481526020016344474e5760e01b8152508160019081620000ae919062000721565b506000620000bd828262000721565b505050620000d1826200047660201b60201c565b620000dc81620004c8565b5050600780546001600160a01b038086166001600160a01b03199283161790925560098054848416908316179055600880548584169083161790556016805492871692909116821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001889190620007ed565b6001600160a01b031663c9c6539630601660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002119190620007ed565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200025f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002859190620007ed565b601780546001600160a01b0319166001600160a01b0392831690811782556000908152601860209081526040808320805460ff199081166001908117909255945486168452601c909252808320805485168317905560165485168352808320805485168317905530835280832080548516831790557fa48bd8e7b1565515cde2859b6cc48308ba05b5325bcf90fb096b9ac0b8087dfc805485168317905533835280832080548516831790556007549094168252929020805490911690911790556005600d819055600e819055600a600f81905560108190556011819055601460125569d3c21bcecceda10000009162000380908062000828565b6200038c919062000828565b600b55601254601154601054620003a4919062000828565b620003b0919062000828565b600c55601b6020527f6790d4910a095e0e04c8daa388834616a295bac3f59038957b6d0b93a2d216848054600160ff1991821681179092553060009081526040808220805484168517905533825280822080548416851790556007546001600160a01b0316825290208054909116909117905560646200043282600262000844565b6200043e91906200085e565b60195560646200045082600362000844565b6200045c91906200085e565b601a556200046b33826200051a565b505050505062000881565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b038216620005755760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806003600082825462000589919062000828565b90915550506001600160a01b03821660009081526004602052604081208054839290620005b890849062000828565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200061a57600080fd5b919050565b600080600080608085870312156200063657600080fd5b620006418562000602565b9350620006516020860162000602565b9250620006616040860162000602565b9150620006716060860162000602565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006a757607f821691505b602082108103620006c857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200071c57600081815260208120601f850160051c81016020861015620006f75750805b601f850160051c820191505b81811015620007185782815560010162000703565b5050505b505050565b81516001600160401b038111156200073d576200073d6200067c565b62000755816200074e845462000692565b84620006ce565b602080601f8311600181146200078d5760008415620007745750858301515b600019600386901b1c1916600185901b17855562000718565b600085815260208120601f198616915b82811015620007be578886015182559484019460019091019084016200079d565b5085821015620007dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200080057600080fd5b6200080b8262000602565b9392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200083e576200083e62000812565b92915050565b80820281158282048414176200083e576200083e62000812565b6000826200087c57634e487b7160e01b600052601260045260246000fd5b500490565b61299080620008916000396000f3fe6080604052600436106103a65760003560e01c80638d67cffe116101e7578063b530dc8c1161010d578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b14610a94578063f637434214610ab4578063f887ea4014610aca578063f8b45b0514610aea57600080fd5b8063dd62ed3e146109f8578063e219558e14610a3e578063e99ab6f914610a5e578063f11a24d314610a7e57600080fd5b8063ccf2cf80116100dc578063ccf2cf801461097c578063d46b6a3014610992578063d6498bc2146109c2578063d85ba063146109e257600080fd5b8063b530dc8c146108f9578063c0d7865514610926578063c4590d3f14610946578063c8c8ebe41461096657600080fd5b80639d93598e11610185578063a457c2d711610154578063a457c2d714610879578063a5949bcf14610899578063a9059cbb146108b9578063a9d3cd8a146108d957600080fd5b80639d93598e1461080d5780639fccce321461082d5780639ff84a9814610843578063a0d82dc51461086357600080fd5b806391cca3db116101c157806391cca3db146107ae57806392136913146107cc57806395d89b41146107e25780639c3b4fdc146107f757600080fd5b80638d67cffe146107505780638da5cb5b146107705780638e89cf4d1461078e57600080fd5b806339509351116102cc578063706f69371161026a57806375b625321161023957806375b62532146106e4578063790ca413146107045780637bce5a041461071a578063808a54571461073057600080fd5b8063706f69371461066457806370a0823114610684578063715018a6146106ba578063751039fc146106cf57600080fd5b80636940213a116102a65780636940213a146105e457806369663587146106145780636a486a8e1461062e5780636f9a880e1461064457600080fd5b806339509351146105925780634a62bb65146105b257806351c6590a146105d157600080fd5b806318160ddd1161034457806323c04d9d1161031357806323c04d9d14610509578063313ce56714610541578063328873601461055d578063332ca4f21461057257600080fd5b806318160ddd146104a85780631a8145bb146104bd5780631f3fed8f146104d357806323b872dd146104e957600080fd5b80630d075d9c116103805780630d075d9c146104245780630e99dcad146104445780630f683e9014610464578063180b0d7e1461048457600080fd5b806306fdde03146103b2578063076b44d3146103dd578063095ea7b3146103f457600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103c7610b00565b6040516103d491906124d5565b60405180910390f35b3480156103e957600080fd5b506103f2610b92565b005b34801561040057600080fd5b5061041461040f366004612538565b610be0565b60405190151581526020016103d4565b34801561043057600080fd5b506103f261043f366004612564565b610bf7565b34801561045057600080fd5b506103f261045f366004612590565b610c8e565b34801561047057600080fd5b506103f261047f366004612564565b610d03565b34801561049057600080fd5b5061049a601d5481565b6040519081526020016103d4565b3480156104b457600080fd5b5060035461049a565b3480156104c957600080fd5b5061049a60155481565b3480156104df57600080fd5b5061049a60135481565b3480156104f557600080fd5b506104146105043660046125b4565b610d94565b34801561051557600080fd5b50600754610529906001600160a01b031681565b6040516001600160a01b0390911681526020016103d4565b34801561054d57600080fd5b50604051601281526020016103d4565b34801561056957600080fd5b506103f2610e43565b34801561057e57600080fd5b506103f261058d366004612590565b610e9b565b34801561059e57600080fd5b506104146105ad366004612538565b610f42565b3480156105be57600080fd5b50601e5461041490610100900460ff1681565b6103f26105df3660046125f5565b610f7e565b3480156105f057600080fd5b506104146105ff366004612590565b601c6020526000908152604090205460ff1681565b34801561062057600080fd5b506021546104149060ff1681565b34801561063a57600080fd5b5061049a600c5481565b34801561065057600080fd5b50600954610529906001600160a01b031681565b34801561067057600080fd5b506103f261067f36600461265a565b610fc8565b34801561069057600080fd5b5061049a61069f366004612590565b6001600160a01b031660009081526004602052604090205490565b3480156106c657600080fd5b506103f26110f7565b3480156106db57600080fd5b506103f261113a565b3480156106f057600080fd5b506103f26106ff366004612590565b611194565b34801561071057600080fd5b5061049a60235481565b34801561072657600080fd5b5061049a600d5481565b34801561073c57600080fd5b50601754610529906001600160a01b031681565b34801561075c57600080fd5b506103f261076b3660046125f5565b611209565b34801561077c57600080fd5b506005546001600160a01b0316610529565b34801561079a57600080fd5b506103f26107a93660046126c6565b611274565b3480156107ba57600080fd5b506006546001600160a01b0316610529565b3480156107d857600080fd5b5061049a60105481565b3480156107ee57600080fd5b506103c76112d8565b34801561080357600080fd5b5061049a600e5481565b34801561081957600080fd5b506103f2610828366004612590565b6112e7565b34801561083957600080fd5b5061049a60145481565b34801561084f57600080fd5b506103f261085e366004612590565b611342565b34801561086f57600080fd5b5061049a60115481565b34801561088557600080fd5b50610414610894366004612538565b6113b7565b3480156108a557600080fd5b50600854610529906001600160a01b031681565b3480156108c557600080fd5b506104146108d4366004612538565b611450565b3480156108e557600080fd5b506103f26108f43660046126c6565b61145d565b34801561090557600080fd5b5061049a610914366004612590565b60226020526000908152604090205481565b34801561093257600080fd5b506103f2610941366004612590565b6114c1565b34801561095257600080fd5b506103f2610961366004612704565b61151c565b34801561097257600080fd5b5061049a60195481565b34801561098857600080fd5b5061049a600a5481565b34801561099e57600080fd5b506104146109ad366004612590565b60186020526000908152604090205460ff1681565b3480156109ce57600080fd5b506103f26109dd3660046126c6565b611560565b3480156109ee57600080fd5b5061049a600b5481565b348015610a0457600080fd5b5061049a610a13366004612726565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610a4a57600080fd5b506103f2610a593660046125f5565b6115c4565b348015610a6a57600080fd5b506103f2610a793660046125f5565b611631565b348015610a8a57600080fd5b5061049a600f5481565b348015610aa057600080fd5b506103f2610aaf366004612590565b61167d565b348015610ac057600080fd5b5061049a60125481565b348015610ad657600080fd5b50601654610529906001600160a01b031681565b348015610af657600080fd5b5061049a601a5481565b606060018054610b0f90612754565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3b90612754565b8015610b885780601f10610b5d57610100808354040283529160200191610b88565b820191906000526020600020905b815481529060010190602001808311610b6b57829003601f168201915b5050505050905090565b33610ba56006546001600160a01b031690565b6001600160a01b031614610bd45760405162461bcd60e51b8152600401610bcb9061278e565b60405180910390fd5b610bde6000611724565b565b6000610bed338484611776565b5060015b92915050565b33610c0a6005546001600160a01b031690565b6001600160a01b031614610c305760405162461bcd60e51b8152600401610bcb906127c5565b600a54821015610c3f57600080fd5b600d839055600e829055600f81905580610c598385612810565b610c639190612810565b600b55601e546301000000900460ff1615610c8957602054600b541115610c8957600080fd5b505050565b33610ca16005546001600160a01b031690565b6001600160a01b031614610cc75760405162461bcd60e51b8152600401610bcb906127c5565b6007546001600160a01b03808316911603610ce157600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610d166005546001600160a01b031690565b6001600160a01b031614610d3c5760405162461bcd60e51b8152600401610bcb906127c5565b600a54821015610d4b57600080fd5b60108390556011829055601281905580610d658385612810565b610d6f9190612810565b600c55601e5462010000900460ff1615610c8957601f54600c541115610c8957600080fd5b6000610da184848461189a565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610e2b5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610bcb565b610e388533858403611776565b506001949350505050565b33610e566005546001600160a01b031690565b6001600160a01b031614610e7c5760405162461bcd60e51b8152600401610bcb906127c5565b60215460ff1615610e8c57600080fd5b6021805460ff19166001179055565b33610eae6006546001600160a01b031690565b6001600160a01b031614610ed45760405162461bcd60e51b8152600401610bcb9061278e565b6001600160a01b038116610f365760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610bcb565b610f3f81611724565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610bed918590610f79908690612810565b611776565b33610f916005546001600160a01b031690565b6001600160a01b031614610fb75760405162461bcd60e51b8152600401610bcb906127c5565b610fc18134611ee0565b5042602355565b33610fdb6005546001600160a01b031690565b6001600160a01b0316146110015760405162461bcd60e51b8152600401610bcb906127c5565b60215460ff161561101157600080fd5b60005b838110156110f0576110653086868481811061103257611032612823565b90506020020160208101906110479190612590565b85858581811061105957611059612823565b90506020020135611f8d565b82828281811061107757611077612823565b905060200201356022600087878581811061109457611094612823565b90506020020160208101906110a99190612590565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110d89190612810565b909155508190506110e881612839565b915050611014565b5050505050565b3361110a6005546001600160a01b031690565b6001600160a01b0316146111305760405162461bcd60e51b8152600401610bcb906127c5565b610bde6000612151565b3361114d6005546001600160a01b031690565b6001600160a01b0316146111735760405162461bcd60e51b8152600401610bcb906127c5565b601e54610100900460ff1661118757600080fd5b601e805461ff0019169055565b336111a76005546001600160a01b031690565b6001600160a01b0316146111cd5760405162461bcd60e51b8152600401610bcb906127c5565b6008546001600160a01b038083169116036111e757600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b3361121c6005546001600160a01b031690565b6001600160a01b0316146112425760405162461bcd60e51b8152600401610bcb906127c5565b601d5481111580156112555750601f5481105b61125e57600080fd5b601f55601e805462ff0000191662010000179055565b336112876005546001600160a01b031690565b6001600160a01b0316146112ad5760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b0f90612754565b336112fa6005546001600160a01b031690565b6001600160a01b0316146113205760405162461bcd60e51b8152600401610bcb906127c5565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336113556006546001600160a01b031690565b6001600160a01b03161461137b5760405162461bcd60e51b8152600401610bcb9061278e565b6009546001600160a01b0380831691160361139557600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156114395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bcb565b6114463385858403611776565b5060019392505050565b6000610bed33848461189a565b336114706005546001600160a01b031690565b6001600160a01b0316146114965760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b336114d46005546001600160a01b031690565b6001600160a01b0316146114fa5760405162461bcd60e51b8152600401610bcb906127c5565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3361152f6005546001600160a01b031690565b6001600160a01b0316146115555760405162461bcd60e51b8152600401610bcb906127c5565b601991909155601a55565b336115736005546001600160a01b031690565b6001600160a01b0316146115995760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336115d76005546001600160a01b031690565b6001600160a01b0316146115fd5760405162461bcd60e51b8152600401610bcb906127c5565b601d548111158015611610575060205481105b61161957600080fd5b602055601e805463ff00000019166301000000179055565b336116446006546001600160a01b031690565b6001600160a01b03161461166a5760405162461bcd60e51b8152600401610bcb9061278e565b600a54811061167857600080fd5b600a55565b336116906005546001600160a01b031690565b6001600160a01b0316146116b65760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03811661171b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bcb565b610f3f81612151565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b0383166117d85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bcb565b6001600160a01b0382166118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bcb565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bcb565b6001600160a01b0382166119605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bcb565b8060000361197457610c8983836000611f8d565b601e54610100900460ff1615611be4576005546001600160a01b038481169116148015906119b057506005546001600160a01b03838116911614155b80156119c757506001600160a01b03821661dead14155b80156119d65750601e5460ff16155b15611be4576001600160a01b03831660009081526018602052604090205460ff168015611a1c57506001600160a01b0382166000908152601c602052604090205460ff16155b15611ad257601954811115611a6c5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610bcb565b601a546001600160a01b038316600090815260046020526040902054611a929083612810565b1115611acd5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610bcb565b611be4565b6001600160a01b03821660009081526018602052604090205460ff168015611b1357506001600160a01b0383166000908152601c602052604090205460ff16155b15611b6357601954811115611acd5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610bcb565b6001600160a01b0382166000908152601c602052604090205460ff16611be457601a546001600160a01b038316600090815260046020526040902054611ba99083612810565b1115611be45760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610bcb565b601e546001600160a01b0384166000908152601b602052604090205460ff91821615911680611c2b57506001600160a01b0383166000908152601b602052604090205460ff165b15611c34575060005b8015611e3f576001600160a01b03831660009081526018602052604081205460ff168015611c6457506000600c54115b15611d2f576000601d5460115485611c7c9190612852565b611c869190612869565b90506000601d5460105486611c9b9190612852565b611ca59190612869565b90506000601d5460125487611cba9190612852565b611cc49190612869565b905080611cd18385612810565b611cdb9190612810565b93508260146000828254611cef9190612810565b925050819055508160136000828254611d089190612810565b925050819055508060156000828254611d219190612810565b90915550611e1f9350505050565b6001600160a01b03851660009081526018602052604090205460ff168015611d5957506000600b54115b15611e1f576000601d54600e5485611d719190612852565b611d7b9190612869565b90506000601d54600d5486611d909190612852565b611d9a9190612869565b90506000601d54600f5487611daf9190612852565b611db99190612869565b905080611dc68385612810565b611dd09190612810565b93508260146000828254611de49190612810565b925050819055508160136000828254611dfd9190612810565b925050819055508060156000828254611e169190612810565b90915550505050505b8015611e3d57611e30853083611f8d565b611e3a818461288b565b92505b505b601e5460ff16158015611e6057506017546001600160a01b03858116911614155b8015611e8557506001600160a01b0384166000908152601b602052604090205460ff16155b8015611eaa57506001600160a01b0383166000908152601b602052604090205460ff16155b15611ecf57601e805460ff19166001179055611ec46121a3565b601e805460ff191690555b611eda848484611f8d565b50505050565b601654611ef89030906001600160a01b031684611776565b60165460075460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611f68573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110f0919061289e565b6001600160a01b038316611fed5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610bcb565b6001600160a01b0382166120435760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610bcb565b6001600160a01b038316600090815260046020526040902054818110156120c05760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610bcb565b6001600160a01b038085166000908152600460205260408082208585039055918516815290812080548492906120f7908490612810565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161214391815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546121b69190612810565b6121c09190612810565b6000036121c957565b600060026015546121da9190612869565b90506000816015546121ec919061288b565b6013546014546121fc9190612810565b6122069190612810565b90506122118161237b565b60008183601554612222919061288b565b61222c9047612852565b6122369190612869565b90506000831180156122485750600081115b15612257576122578382611ee0565b60006014546013546122699190612810565b11156123675760145460135447916000916122849190612810565b6013546122919084612852565b61229b9190612869565b905060006122a9828461288b565b90508115612307576008546040516001600160a01b03909116908390600081818185875af1925050503d80600081146122fe576040519150601f19603f3d011682016040523d82523d6000602084013e612303565b606091505b5050505b8015612363576009546040516001600160a01b03909116908290600081818185875af1925050503d806000811461235a576040519150601f19603f3d011682016040523d82523d6000602084013e61235f565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123b0576123b0612823565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242d91906128cc565b8160018151811061244057612440612823565b6001600160a01b0392831660209182029290920101526016546124669130911684611776565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061249f9085906000908690309042906004016128e9565b600060405180830381600087803b1580156124b957600080fd5b505af11580156124cd573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015612502578581018301518582016040015282016124e6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f3f57600080fd5b6000806040838503121561254b57600080fd5b823561255681612523565b946020939093013593505050565b60008060006060848603121561257957600080fd5b505081359360208301359350604090920135919050565b6000602082840312156125a257600080fd5b81356125ad81612523565b9392505050565b6000806000606084860312156125c957600080fd5b83356125d481612523565b925060208401356125e481612523565b929592945050506040919091013590565b60006020828403121561260757600080fd5b5035919050565b60008083601f84011261262057600080fd5b50813567ffffffffffffffff81111561263857600080fd5b6020830191508360208260051b850101111561265357600080fd5b9250929050565b6000806000806040858703121561267057600080fd5b843567ffffffffffffffff8082111561268857600080fd5b6126948883890161260e565b909650945060208701359150808211156126ad57600080fd5b506126ba8782880161260e565b95989497509550505050565b600080604083850312156126d957600080fd5b82356126e481612523565b9150602083013580151581146126f957600080fd5b809150509250929050565b6000806040838503121561271757600080fd5b50508035926020909101359150565b6000806040838503121561273957600080fd5b823561274481612523565b915060208301356126f981612523565b600181811c9082168061276857607f821691505b60208210810361278857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465760000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bf157610bf16127fa565b634e487b7160e01b600052603260045260246000fd5b60006001820161284b5761284b6127fa565b5060010190565b8082028115828204841417610bf157610bf16127fa565b60008261288657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610bf157610bf16127fa565b6000806000606084860312156128b357600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156128de57600080fd5b81516125ad81612523565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129395784516001600160a01b031683529383019391830191600101612914565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220e1c39f36bb45ce8706d1927b936fc4565ca973ff991ecddd476f262020bbc84664736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000007a6fb68d0305a7886a84df2feb4bdf80c80d71280000000000000000000000000aae502f4208f8941ef879d49bc2613ffecb7c3600000000000000000000000034c985f171f0d3632f5ea91be65d9aa1b88b32ee

Deployed Bytecode

0x6080604052600436106103a65760003560e01c80638d67cffe116101e7578063b530dc8c1161010d578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b14610a94578063f637434214610ab4578063f887ea4014610aca578063f8b45b0514610aea57600080fd5b8063dd62ed3e146109f8578063e219558e14610a3e578063e99ab6f914610a5e578063f11a24d314610a7e57600080fd5b8063ccf2cf80116100dc578063ccf2cf801461097c578063d46b6a3014610992578063d6498bc2146109c2578063d85ba063146109e257600080fd5b8063b530dc8c146108f9578063c0d7865514610926578063c4590d3f14610946578063c8c8ebe41461096657600080fd5b80639d93598e11610185578063a457c2d711610154578063a457c2d714610879578063a5949bcf14610899578063a9059cbb146108b9578063a9d3cd8a146108d957600080fd5b80639d93598e1461080d5780639fccce321461082d5780639ff84a9814610843578063a0d82dc51461086357600080fd5b806391cca3db116101c157806391cca3db146107ae57806392136913146107cc57806395d89b41146107e25780639c3b4fdc146107f757600080fd5b80638d67cffe146107505780638da5cb5b146107705780638e89cf4d1461078e57600080fd5b806339509351116102cc578063706f69371161026a57806375b625321161023957806375b62532146106e4578063790ca413146107045780637bce5a041461071a578063808a54571461073057600080fd5b8063706f69371461066457806370a0823114610684578063715018a6146106ba578063751039fc146106cf57600080fd5b80636940213a116102a65780636940213a146105e457806369663587146106145780636a486a8e1461062e5780636f9a880e1461064457600080fd5b806339509351146105925780634a62bb65146105b257806351c6590a146105d157600080fd5b806318160ddd1161034457806323c04d9d1161031357806323c04d9d14610509578063313ce56714610541578063328873601461055d578063332ca4f21461057257600080fd5b806318160ddd146104a85780631a8145bb146104bd5780631f3fed8f146104d357806323b872dd146104e957600080fd5b80630d075d9c116103805780630d075d9c146104245780630e99dcad146104445780630f683e9014610464578063180b0d7e1461048457600080fd5b806306fdde03146103b2578063076b44d3146103dd578063095ea7b3146103f457600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103c7610b00565b6040516103d491906124d5565b60405180910390f35b3480156103e957600080fd5b506103f2610b92565b005b34801561040057600080fd5b5061041461040f366004612538565b610be0565b60405190151581526020016103d4565b34801561043057600080fd5b506103f261043f366004612564565b610bf7565b34801561045057600080fd5b506103f261045f366004612590565b610c8e565b34801561047057600080fd5b506103f261047f366004612564565b610d03565b34801561049057600080fd5b5061049a601d5481565b6040519081526020016103d4565b3480156104b457600080fd5b5060035461049a565b3480156104c957600080fd5b5061049a60155481565b3480156104df57600080fd5b5061049a60135481565b3480156104f557600080fd5b506104146105043660046125b4565b610d94565b34801561051557600080fd5b50600754610529906001600160a01b031681565b6040516001600160a01b0390911681526020016103d4565b34801561054d57600080fd5b50604051601281526020016103d4565b34801561056957600080fd5b506103f2610e43565b34801561057e57600080fd5b506103f261058d366004612590565b610e9b565b34801561059e57600080fd5b506104146105ad366004612538565b610f42565b3480156105be57600080fd5b50601e5461041490610100900460ff1681565b6103f26105df3660046125f5565b610f7e565b3480156105f057600080fd5b506104146105ff366004612590565b601c6020526000908152604090205460ff1681565b34801561062057600080fd5b506021546104149060ff1681565b34801561063a57600080fd5b5061049a600c5481565b34801561065057600080fd5b50600954610529906001600160a01b031681565b34801561067057600080fd5b506103f261067f36600461265a565b610fc8565b34801561069057600080fd5b5061049a61069f366004612590565b6001600160a01b031660009081526004602052604090205490565b3480156106c657600080fd5b506103f26110f7565b3480156106db57600080fd5b506103f261113a565b3480156106f057600080fd5b506103f26106ff366004612590565b611194565b34801561071057600080fd5b5061049a60235481565b34801561072657600080fd5b5061049a600d5481565b34801561073c57600080fd5b50601754610529906001600160a01b031681565b34801561075c57600080fd5b506103f261076b3660046125f5565b611209565b34801561077c57600080fd5b506005546001600160a01b0316610529565b34801561079a57600080fd5b506103f26107a93660046126c6565b611274565b3480156107ba57600080fd5b506006546001600160a01b0316610529565b3480156107d857600080fd5b5061049a60105481565b3480156107ee57600080fd5b506103c76112d8565b34801561080357600080fd5b5061049a600e5481565b34801561081957600080fd5b506103f2610828366004612590565b6112e7565b34801561083957600080fd5b5061049a60145481565b34801561084f57600080fd5b506103f261085e366004612590565b611342565b34801561086f57600080fd5b5061049a60115481565b34801561088557600080fd5b50610414610894366004612538565b6113b7565b3480156108a557600080fd5b50600854610529906001600160a01b031681565b3480156108c557600080fd5b506104146108d4366004612538565b611450565b3480156108e557600080fd5b506103f26108f43660046126c6565b61145d565b34801561090557600080fd5b5061049a610914366004612590565b60226020526000908152604090205481565b34801561093257600080fd5b506103f2610941366004612590565b6114c1565b34801561095257600080fd5b506103f2610961366004612704565b61151c565b34801561097257600080fd5b5061049a60195481565b34801561098857600080fd5b5061049a600a5481565b34801561099e57600080fd5b506104146109ad366004612590565b60186020526000908152604090205460ff1681565b3480156109ce57600080fd5b506103f26109dd3660046126c6565b611560565b3480156109ee57600080fd5b5061049a600b5481565b348015610a0457600080fd5b5061049a610a13366004612726565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610a4a57600080fd5b506103f2610a593660046125f5565b6115c4565b348015610a6a57600080fd5b506103f2610a793660046125f5565b611631565b348015610a8a57600080fd5b5061049a600f5481565b348015610aa057600080fd5b506103f2610aaf366004612590565b61167d565b348015610ac057600080fd5b5061049a60125481565b348015610ad657600080fd5b50601654610529906001600160a01b031681565b348015610af657600080fd5b5061049a601a5481565b606060018054610b0f90612754565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3b90612754565b8015610b885780601f10610b5d57610100808354040283529160200191610b88565b820191906000526020600020905b815481529060010190602001808311610b6b57829003601f168201915b5050505050905090565b33610ba56006546001600160a01b031690565b6001600160a01b031614610bd45760405162461bcd60e51b8152600401610bcb9061278e565b60405180910390fd5b610bde6000611724565b565b6000610bed338484611776565b5060015b92915050565b33610c0a6005546001600160a01b031690565b6001600160a01b031614610c305760405162461bcd60e51b8152600401610bcb906127c5565b600a54821015610c3f57600080fd5b600d839055600e829055600f81905580610c598385612810565b610c639190612810565b600b55601e546301000000900460ff1615610c8957602054600b541115610c8957600080fd5b505050565b33610ca16005546001600160a01b031690565b6001600160a01b031614610cc75760405162461bcd60e51b8152600401610bcb906127c5565b6007546001600160a01b03808316911603610ce157600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b33610d166005546001600160a01b031690565b6001600160a01b031614610d3c5760405162461bcd60e51b8152600401610bcb906127c5565b600a54821015610d4b57600080fd5b60108390556011829055601281905580610d658385612810565b610d6f9190612810565b600c55601e5462010000900460ff1615610c8957601f54600c541115610c8957600080fd5b6000610da184848461189a565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610e2b5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610bcb565b610e388533858403611776565b506001949350505050565b33610e566005546001600160a01b031690565b6001600160a01b031614610e7c5760405162461bcd60e51b8152600401610bcb906127c5565b60215460ff1615610e8c57600080fd5b6021805460ff19166001179055565b33610eae6006546001600160a01b031690565b6001600160a01b031614610ed45760405162461bcd60e51b8152600401610bcb9061278e565b6001600160a01b038116610f365760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a206e65772064657620697320746865207a65726f206164646044820152637265737360e01b6064820152608401610bcb565b610f3f81611724565b50565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610bed918590610f79908690612810565b611776565b33610f916005546001600160a01b031690565b6001600160a01b031614610fb75760405162461bcd60e51b8152600401610bcb906127c5565b610fc18134611ee0565b5042602355565b33610fdb6005546001600160a01b031690565b6001600160a01b0316146110015760405162461bcd60e51b8152600401610bcb906127c5565b60215460ff161561101157600080fd5b60005b838110156110f0576110653086868481811061103257611032612823565b90506020020160208101906110479190612590565b85858581811061105957611059612823565b90506020020135611f8d565b82828281811061107757611077612823565b905060200201356022600087878581811061109457611094612823565b90506020020160208101906110a99190612590565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110d89190612810565b909155508190506110e881612839565b915050611014565b5050505050565b3361110a6005546001600160a01b031690565b6001600160a01b0316146111305760405162461bcd60e51b8152600401610bcb906127c5565b610bde6000612151565b3361114d6005546001600160a01b031690565b6001600160a01b0316146111735760405162461bcd60e51b8152600401610bcb906127c5565b601e54610100900460ff1661118757600080fd5b601e805461ff0019169055565b336111a76005546001600160a01b031690565b6001600160a01b0316146111cd5760405162461bcd60e51b8152600401610bcb906127c5565b6008546001600160a01b038083169116036111e757600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b3361121c6005546001600160a01b031690565b6001600160a01b0316146112425760405162461bcd60e51b8152600401610bcb906127c5565b601d5481111580156112555750601f5481105b61125e57600080fd5b601f55601e805462ff0000191662010000179055565b336112876005546001600160a01b031690565b6001600160a01b0316146112ad5760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b606060008054610b0f90612754565b336112fa6005546001600160a01b031690565b6001600160a01b0316146113205760405162461bcd60e51b8152600401610bcb906127c5565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b336113556006546001600160a01b031690565b6001600160a01b03161461137b5760405162461bcd60e51b8152600401610bcb9061278e565b6009546001600160a01b0380831691160361139557600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156114395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bcb565b6114463385858403611776565b5060019392505050565b6000610bed33848461189a565b336114706005546001600160a01b031690565b6001600160a01b0316146114965760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b336114d46005546001600160a01b031690565b6001600160a01b0316146114fa5760405162461bcd60e51b8152600401610bcb906127c5565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3361152f6005546001600160a01b031690565b6001600160a01b0316146115555760405162461bcd60e51b8152600401610bcb906127c5565b601991909155601a55565b336115736005546001600160a01b031690565b6001600160a01b0316146115995760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b336115d76005546001600160a01b031690565b6001600160a01b0316146115fd5760405162461bcd60e51b8152600401610bcb906127c5565b601d548111158015611610575060205481105b61161957600080fd5b602055601e805463ff00000019166301000000179055565b336116446006546001600160a01b031690565b6001600160a01b03161461166a5760405162461bcd60e51b8152600401610bcb9061278e565b600a54811061167857600080fd5b600a55565b336116906005546001600160a01b031690565b6001600160a01b0316146116b65760405162461bcd60e51b8152600401610bcb906127c5565b6001600160a01b03811661171b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bcb565b610f3f81612151565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0a7a876011ed454af2a81330188fddbd93c5cb571ff0ab73fbd5f4f9c8ee477e90600090a35050565b6001600160a01b0383166117d85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bcb565b6001600160a01b0382166118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bcb565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bcb565b6001600160a01b0382166119605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bcb565b8060000361197457610c8983836000611f8d565b601e54610100900460ff1615611be4576005546001600160a01b038481169116148015906119b057506005546001600160a01b03838116911614155b80156119c757506001600160a01b03821661dead14155b80156119d65750601e5460ff16155b15611be4576001600160a01b03831660009081526018602052604090205460ff168015611a1c57506001600160a01b0382166000908152601c602052604090205460ff16155b15611ad257601954811115611a6c5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610bcb565b601a546001600160a01b038316600090815260046020526040902054611a929083612810565b1115611acd5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610bcb565b611be4565b6001600160a01b03821660009081526018602052604090205460ff168015611b1357506001600160a01b0383166000908152601c602052604090205460ff16155b15611b6357601954811115611acd5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610bcb565b6001600160a01b0382166000908152601c602052604090205460ff16611be457601a546001600160a01b038316600090815260046020526040902054611ba99083612810565b1115611be45760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610bcb565b601e546001600160a01b0384166000908152601b602052604090205460ff91821615911680611c2b57506001600160a01b0383166000908152601b602052604090205460ff165b15611c34575060005b8015611e3f576001600160a01b03831660009081526018602052604081205460ff168015611c6457506000600c54115b15611d2f576000601d5460115485611c7c9190612852565b611c869190612869565b90506000601d5460105486611c9b9190612852565b611ca59190612869565b90506000601d5460125487611cba9190612852565b611cc49190612869565b905080611cd18385612810565b611cdb9190612810565b93508260146000828254611cef9190612810565b925050819055508160136000828254611d089190612810565b925050819055508060156000828254611d219190612810565b90915550611e1f9350505050565b6001600160a01b03851660009081526018602052604090205460ff168015611d5957506000600b54115b15611e1f576000601d54600e5485611d719190612852565b611d7b9190612869565b90506000601d54600d5486611d909190612852565b611d9a9190612869565b90506000601d54600f5487611daf9190612852565b611db99190612869565b905080611dc68385612810565b611dd09190612810565b93508260146000828254611de49190612810565b925050819055508160136000828254611dfd9190612810565b925050819055508060156000828254611e169190612810565b90915550505050505b8015611e3d57611e30853083611f8d565b611e3a818461288b565b92505b505b601e5460ff16158015611e6057506017546001600160a01b03858116911614155b8015611e8557506001600160a01b0384166000908152601b602052604090205460ff16155b8015611eaa57506001600160a01b0383166000908152601b602052604090205460ff16155b15611ecf57601e805460ff19166001179055611ec46121a3565b601e805460ff191690555b611eda848484611f8d565b50505050565b601654611ef89030906001600160a01b031684611776565b60165460075460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611f68573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110f0919061289e565b6001600160a01b038316611fed5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610bcb565b6001600160a01b0382166120435760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610bcb565b6001600160a01b038316600090815260046020526040902054818110156120c05760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610bcb565b6001600160a01b038085166000908152600460205260408082208585039055918516815290812080548492906120f7908490612810565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161214391815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6013546014546015546121b69190612810565b6121c09190612810565b6000036121c957565b600060026015546121da9190612869565b90506000816015546121ec919061288b565b6013546014546121fc9190612810565b6122069190612810565b90506122118161237b565b60008183601554612222919061288b565b61222c9047612852565b6122369190612869565b90506000831180156122485750600081115b15612257576122578382611ee0565b60006014546013546122699190612810565b11156123675760145460135447916000916122849190612810565b6013546122919084612852565b61229b9190612869565b905060006122a9828461288b565b90508115612307576008546040516001600160a01b03909116908390600081818185875af1925050503d80600081146122fe576040519150601f19603f3d011682016040523d82523d6000602084013e612303565b606091505b5050505b8015612363576009546040516001600160a01b03909116908290600081818185875af1925050503d806000811461235a576040519150601f19603f3d011682016040523d82523d6000602084013e61235f565b606091505b5050505b5050505b505060006015819055601481905560135550565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123b0576123b0612823565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242d91906128cc565b8160018151811061244057612440612823565b6001600160a01b0392831660209182029290920101526016546124669130911684611776565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061249f9085906000908690309042906004016128e9565b600060405180830381600087803b1580156124b957600080fd5b505af11580156124cd573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015612502578581018301518582016040015282016124e6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f3f57600080fd5b6000806040838503121561254b57600080fd5b823561255681612523565b946020939093013593505050565b60008060006060848603121561257957600080fd5b505081359360208301359350604090920135919050565b6000602082840312156125a257600080fd5b81356125ad81612523565b9392505050565b6000806000606084860312156125c957600080fd5b83356125d481612523565b925060208401356125e481612523565b929592945050506040919091013590565b60006020828403121561260757600080fd5b5035919050565b60008083601f84011261262057600080fd5b50813567ffffffffffffffff81111561263857600080fd5b6020830191508360208260051b850101111561265357600080fd5b9250929050565b6000806000806040858703121561267057600080fd5b843567ffffffffffffffff8082111561268857600080fd5b6126948883890161260e565b909650945060208701359150808211156126ad57600080fd5b506126ba8782880161260e565b95989497509550505050565b600080604083850312156126d957600080fd5b82356126e481612523565b9150602083013580151581146126f957600080fd5b809150509250929050565b6000806040838503121561271757600080fd5b50508035926020909101359150565b6000806040838503121561273957600080fd5b823561274481612523565b915060208301356126f981612523565b600181811c9082168061276857607f821691505b60208210810361278857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465760000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bf157610bf16127fa565b634e487b7160e01b600052603260045260246000fd5b60006001820161284b5761284b6127fa565b5060010190565b8082028115828204841417610bf157610bf16127fa565b60008261288657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610bf157610bf16127fa565b6000806000606084860312156128b357600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156128de57600080fd5b81516125ad81612523565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129395784516001600160a01b031683529383019391830191600101612914565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220e1c39f36bb45ce8706d1927b936fc4565ca973ff991ecddd476f262020bbc84664736f6c63430008110033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000007a6fb68d0305a7886a84df2feb4bdf80c80d71280000000000000000000000000aae502f4208f8941ef879d49bc2613ffecb7c3600000000000000000000000034c985f171f0d3632f5ea91be65d9aa1b88b32ee

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : LPTokenReceiver_ (address): 0x7A6fb68D0305a7886a84DF2FEb4Bdf80C80d7128
Arg [2] : marketingReceiver_ (address): 0x0AAe502f4208F8941Ef879d49Bc2613ffECb7C36
Arg [3] : devReceiver_ (address): 0x34c985F171f0d3632F5ea91be65D9Aa1b88b32Ee

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000007a6fb68d0305a7886a84df2feb4bdf80c80d7128
Arg [2] : 0000000000000000000000000aae502f4208f8941ef879d49bc2613ffecb7c36
Arg [3] : 00000000000000000000000034c985f171f0d3632f5ea91be65d9aa1b88b32ee


Deployed Bytecode Sourcemap

7657:12623:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4268:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1910:89;;;;;;;;;;;;;:::i;:::-;;6101:167;;;;;;;;;;-1:-1:-1;6101:167:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6101:167:0;1023:187:1;11676:425:0;;;;;;;;;;-1:-1:-1;11676:425:0;;;;;:::i;:::-;;:::i;12874:166::-;;;;;;;;;;-1:-1:-1;12874:166:0;;;;;:::i;:::-;;:::i;12109:438::-;;;;;;;;;;-1:-1:-1;12109:438:0;;;;;:::i;:::-;;:::i;8575:36::-;;;;;;;;;;;;;;;;;;;1934:25:1;;;1922:2;1907:18;8575:36:0;1788:177:1;4152:108:0;;;;;;;;;;-1:-1:-1;4240:12:0;;4152:108;;8212:33;;;;;;;;;;;;;;;;8138;;;;;;;;;;;;;;;;3311:493;;;;;;;;;;-1:-1:-1;3311:493:0;;;;;:::i;:::-;;:::i;7700:30::-;;;;;;;;;;-1:-1:-1;7700:30:0;;;;-1:-1:-1;;;;;7700:30:0;;;;;;-1:-1:-1;;;;;2595:32:1;;;2577:51;;2565:2;2550:18;7700:30:0;2431:203:1;4376:93:0;;;;;;;;;;-1:-1:-1;4376:93:0;;4459:2;2781:36:1;;2769:2;2754:18;4376:93:0;2639:184:1;11372:123:0;;;;;;;;;;;;;:::i;1366:179::-;;;;;;;;;;-1:-1:-1;1366:179:0;;;;;:::i;:::-;;:::i;5486:211::-;;;;;;;;;;-1:-1:-1;5486:211:0;;;;;:::i;:::-;;:::i;8652:33::-;;;;;;;;;;-1:-1:-1;8652:33:0;;;;;;;;;;;11503:165;;;;;;:::i;:::-;;:::i;8508:58::-;;;;;;;;;;-1:-1:-1;8508:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8994:35;;;;;;;;;;-1:-1:-1;8994:35:0;;;;;;;;7884:28;;;;;;;;;;;;;;;;7776:26;;;;;;;;;;-1:-1:-1;7776:26:0;;;;-1:-1:-1;;;;;7776:26:0;;;11037:327;;;;;;;;;;-1:-1:-1;11037:327:0;;;;;:::i;:::-;;:::i;6693:127::-;;;;;;;;;;-1:-1:-1;6693:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6794:18:0;6767:7;6794:18;;;:9;:18;;;;;;;6693:127;1799:103;;;;;;;;;;;;;:::i;12748:118::-;;;;;;;;;;;;;:::i;13048:172::-;;;;;;;;;;-1:-1:-1;13048:172:0;;;;;:::i;:::-;;:::i;9093:25::-;;;;;;;;;;;;;;;;7921:30;;;;;;;;;;;;;;;;8293:28;;;;;;;;;;-1:-1:-1;8293:28:0;;;;-1:-1:-1;;;;;8293:28:0;;;14267:198;;;;;;;;;;-1:-1:-1;14267:198:0;;;;;:::i;:::-;;:::i;599:87::-;;;;;;;;;;-1:-1:-1;672:6:0;;-1:-1:-1;;;;;672:6:0;599:87;;13877:144;;;;;;;;;;-1:-1:-1;13877:144:0;;;;;:::i;:::-;;:::i;694:83::-;;;;;;;;;;-1:-1:-1;765:4:0;;-1:-1:-1;;;;;765:4:0;694:83;;8028:31;;;;;;;;;;;;;;;;5989:104;;;;;;;;;;;;;:::i;7958:24::-;;;;;;;;;;;;;;;;14147:112;;;;;;;;;;-1:-1:-1;14147:112:0;;;;;:::i;:::-;;:::i;8178:27::-;;;;;;;;;;;;;;;;13228:152;;;;;;;;;;-1:-1:-1;13228:152:0;;;;;:::i;:::-;;:::i;8066:25::-;;;;;;;;;;;;;;;;6276:409;;;;;;;;;;-1:-1:-1;6276:409:0;;;;;:::i;:::-;;:::i;7737:32::-;;;;;;;;;;-1:-1:-1;7737:32:0;;;;-1:-1:-1;;;;;7737:32:0;;;3812:173;;;;;;;;;;-1:-1:-1;3812:173:0;;;;;:::i;:::-;;:::i;13593:113::-;;;;;;;;;;-1:-1:-1;13593:113:0;;;;;:::i;:::-;;:::i;9038:48::-;;;;;;;;;;-1:-1:-1;9038:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;14029:110;;;;;;;;;;-1:-1:-1;14029:110:0;;;;;:::i;:::-;;:::i;12555:185::-;;;;;;;;;;-1:-1:-1;12555:185:0;;;;;:::i;:::-;;:::i;8376:35::-;;;;;;;;;;;;;;;;7809:32;;;;;;;;;;;;;;;;8330:37;;;;;;;;;;-1:-1:-1;8330:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13714:155;;;;;;;;;;-1:-1:-1;13714:155:0;;;;;:::i;:::-;;:::i;7850:27::-;;;;;;;;;;;;;;;;3993:151;;;;;;;;;;-1:-1:-1;3993:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4109:18:0;;;4082:7;4109:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3993:151;14473:194;;;;;;;;;;-1:-1:-1;14473:194:0;;;;;:::i;:::-;;:::i;13388:197::-;;;;;;;;;;-1:-1:-1;13388:197:0;;;;;:::i;:::-;;:::i;7989:30::-;;;;;;;;;;;;;;;;1157:201;;;;;;;;;;-1:-1:-1;1157:201:0;;;;;:::i;:::-;;:::i;8098:31::-;;;;;;;;;;;;;;;;8254:32;;;;;;;;;;-1:-1:-1;8254:32:0;;;;-1:-1:-1;;;;;8254:32:0;;;8418:24;;;;;;;;;;;;;;;;4268:100;4322:13;4355:5;4348:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4268:100;:::o;1910:89::-;1726:10;1717:5;765:4;;-1:-1:-1;;;;;765:4:0;;694:83;1717:5;-1:-1:-1;;;;;1717:19:0;;1709:62;;;;-1:-1:-1;;;1709:62:0;;;;;;;:::i;:::-;;;;;;;;;1967:24:::1;1988:1;1967:12;:24::i;:::-;1910:89::o:0;6101:167::-;6184:4;6201:37;6210:10;6222:7;6231:6;6201:8;:37::i;:::-;-1:-1:-1;6256:4:0;6101:167;;;;;:::o;11676:425::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;11804:13:::1;;11794:6;:23;;11786:32;;;::::0;::::1;;11829:15;:30:::0;;;11870:9:::1;:18:::0;;;11899:15:::1;:30:::0;;;11917:12;11957:27:::1;11882:6:::0;11847:12;11957:27:::1;:::i;:::-;:45;;;;:::i;:::-;11942:12;:60:::0;12019:12:::1;::::0;;;::::1;;;12015:79;;;12072:9;;12056:12;;:25;;12048:34;;;::::0;::::1;;11676:425:::0;;;:::o;12874:166::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;12961:15:::1;::::0;-1:-1:-1;;;;;12961:30:0;;::::1;:15:::0;::::1;:30:::0;12953:39:::1;;;::::0;::::1;;13003:15;:29:::0;;-1:-1:-1;;;;;;13003:29:0::1;-1:-1:-1::0;;;;;13003:29:0;;;::::1;::::0;;;::::1;::::0;;12874:166::o;12109:438::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;12238:13:::1;;12228:6;:23;;12220:32;;;::::0;::::1;;12263:16;:31:::0;;;12305:10:::1;:19:::0;;;12335:16:::1;:31:::0;;;12354:12;12395:29:::1;12318:6:::0;12282:12;12395:29:::1;:::i;:::-;:48;;;;:::i;:::-;12379:13;:64:::0;12460:13:::1;::::0;;;::::1;;;12456:82;;;12515:10;;12498:13;;:27;;12490:36;;;::::0;::::1;3311:493:::0;3451:4;3468:36;3478:6;3486:9;3497:6;3468:9;:36::i;:::-;-1:-1:-1;;;;;3544:19:0;;3517:24;3544:19;;;:11;:19;;;;;;;;3564:10;3544:31;;;;;;;;3594:26;;;;3586:84;;;;-1:-1:-1;;;3586:84:0;;7033:2:1;3586:84:0;;;7015:21:1;7072:2;7052:18;;;7045:30;7111:34;7091:18;;;7084:62;-1:-1:-1;;;7162:18:1;;;7155:43;7215:19;;3586:84:0;6831:409:1;3586:84:0;3706:55;3715:6;3723:10;3754:6;3735:16;:25;3706:8;:55::i;:::-;-1:-1:-1;3792:4:0;;3311:493;-1:-1:-1;;;;3311:493:0:o;11372:123::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;11438:15:::1;::::0;::::1;;11437:16;11429:25;;;::::0;::::1;;11465:15;:22:::0;;-1:-1:-1;;11465:22:0::1;11483:4;11465:22;::::0;;11372:123::o;1366:179::-;1726:10;1717:5;765:4;;-1:-1:-1;;;;;765:4:0;;694:83;1717:5;-1:-1:-1;;;;;1717:19:0;;1709:62;;;;-1:-1:-1;;;1709:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1445:20:0;::::1;1437:69;;;::::0;-1:-1:-1;;;1437:69:0;;7447:2:1;1437:69:0::1;::::0;::::1;7429:21:1::0;7486:2;7466:18;;;7459:30;7525:34;7505:18;;;7498:62;-1:-1:-1;;;7576:18:1;;;7569:34;7620:19;;1437:69:0::1;7245:400:1::0;1437:69:0::1;1517:20;1530:6;1517:12;:20::i;:::-;1366:179:::0;:::o;5486:211::-;5600:10;5574:4;5621:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5621:32:0;;;;;;;;;;5574:4;;5591:76;;5612:7;;5621:45;;5656:10;;5621:45;:::i;:::-;5591:8;:76::i;11503:165::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;11584:37:::1;11598:11;11611:9;11584:13;:37::i;:::-;-1:-1:-1::0;11645:15:0::1;11632:10;:28:::0;11503:165::o;11037:327::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;11155:15:::1;::::0;::::1;;11154:16;11146:25;;;::::0;::::1;;11189:6;11184:173;11199:16:::0;;::::1;11184:173;;;11237:54;11261:4;11268:7;;11276:1;11268:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11280:7;;11288:1;11280:10;;;;;;;:::i;:::-;;;;;;;11237:15;:54::i;:::-;11335:7;;11343:1;11335:10;;;;;;;:::i;:::-;;;;;;;11306:13;:25;11320:7;;11328:1;11320:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11306:25:0::1;-1:-1:-1::0;;;;;11306:25:0::1;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;11217:3:0;;-1:-1:-1;11217:3:0::1;::::0;::::1;:::i;:::-;;;;11184:173;;;;11037:327:::0;;;;:::o;1799:103::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;1864:30:::1;1891:1;1864:18;:30::i;12748:118::-:0;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;12810:14:::1;::::0;::::1;::::0;::::1;;;12802:23;;;::::0;::::1;;12836:14;:22:::0;;-1:-1:-1;;12836:22:0::1;::::0;;12748:118::o;13048:172::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;13137:17:::1;::::0;-1:-1:-1;;;;;13137:32:0;;::::1;:17:::0;::::1;:32:::0;13129:41:::1;;;::::0;::::1;;13181:17;:31:::0;;-1:-1:-1;;;;;;13181:31:0::1;-1:-1:-1::0;;;;;13181:31:0;;;::::1;::::0;;;::::1;::::0;;13048:172::o;14267:198::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;14360:14:::1;;14351:5;:23;;:45;;;;;14386:10;;14378:5;:18;14351:45;14343:54;;;::::0;::::1;;14408:10;:18:::0;14437:13:::1;:20:::0;;-1:-1:-1;;14437:20:0::1;::::0;::::1;::::0;;14267:198::o;13877:144::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13975:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:38;;-1:-1:-1;;13975:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13877:144::o;5989:104::-;6045:13;6078:7;6071:14;;;;;:::i;14147:112::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;14224:13:::1;:27:::0;;-1:-1:-1;;;;;;14224:27:0::1;-1:-1:-1::0;;;;;14224:27:0;;;::::1;::::0;;;::::1;::::0;;14147:112::o;13228:152::-;1726:10;1717:5;765:4;;-1:-1:-1;;;;;765:4:0;;694:83;1717:5;-1:-1:-1;;;;;1717:19:0;;1709:62;;;;-1:-1:-1;;;1709:62:0;;;;;;;:::i;:::-;13309:11:::1;::::0;-1:-1:-1;;;;;13309:26:0;;::::1;:11:::0;::::1;:26:::0;13301:35:::1;;;::::0;::::1;;13347:11;:25:::0;;-1:-1:-1;;;;;;13347:25:0::1;-1:-1:-1::0;;;;;13347:25:0;;;::::1;::::0;;;::::1;::::0;;13228:152::o;6276:409::-;6425:10;6369:4;6413:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6413:32:0;;;;;;;;;;6464:35;;;;6456:85;;;;-1:-1:-1;;;6456:85:0;;8124:2:1;6456:85:0;;;8106:21:1;8163:2;8143:18;;;8136:30;8202:34;8182:18;;;8175:62;-1:-1:-1;;;8253:18:1;;;8246:35;8298:19;;6456:85:0;7922:401:1;6456:85:0;6577:65;6586:10;6598:7;6626:15;6607:16;:34;6577:8;:65::i;:::-;-1:-1:-1;6673:4:0;;6276:409;-1:-1:-1;;;6276:409:0:o;3812:173::-;3898:4;3915:40;3925:10;3937:9;3948:6;3915:9;:40::i;13593:113::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13672:17:0;;;::::1;;::::0;;;:5:::1;:17;::::0;;;;:26;;-1:-1:-1;;13672:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13593:113::o;14029:110::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;14095:6:::1;:36:::0;;-1:-1:-1;;;;;;14095:36:0::1;-1:-1:-1::0;;;;;14095:36:0;;;::::1;::::0;;;::::1;::::0;;14029:110::o;12555:185::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;12655:20:::1;:44:::0;;;;12710:9:::1;:22:::0;12555:185::o;13714:155::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13814:34:0;;;::::1;;::::0;;;:26:::1;:34;::::0;;;;:47;;-1:-1:-1;;13814:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13714:155::o;14473:194::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;14565:14:::1;;14556:5;:23;;:44;;;;;14591:9;;14583:5;:17;14556:44;14548:53;;;::::0;::::1;;14612:9;:17:::0;14640:12:::1;:19:::0;;-1:-1:-1;;14640:19:0::1;::::0;::::1;::::0;;14473:194::o;13388:197::-;1726:10;1717:5;765:4;;-1:-1:-1;;;;;765:4:0;;694:83;1717:5;-1:-1:-1;;;;;1717:19:0;;1709:62;;;;-1:-1:-1;;;1709:62:0;;;;;;;:::i;:::-;13475:13:::1;;13466:6;:22;13458:31;;;::::0;::::1;;13555:13;:22:::0;13388:197::o;1157:201::-;1604:10;1593:7;672:6;;-1:-1:-1;;;;;672:6:0;;599:87;1593:7;-1:-1:-1;;;;;1593:21:0;;1585:66;;;;-1:-1:-1;;;1585:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1246:22:0;::::1;1238:73;;;::::0;-1:-1:-1;;;1238:73:0;;8530:2:1;1238:73:0::1;::::0;::::1;8512:21:1::0;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:36;8705:19;;1238:73:0::1;8328:402:1::0;1238:73:0::1;1322:28;1341:8;1322:18;:28::i;984:165::-:0;1067:4;;;-1:-1:-1;;;;;1082:13:0;;;-1:-1:-1;;;;;;1082:13:0;;;;;;;1111:30;;1067:4;;;1082:13;1067:4;;1111:30;;1050:14;;1111:30;1039:110;984:165;:::o;5098:380::-;-1:-1:-1;;;;;5234:19:0;;5226:68;;;;-1:-1:-1;;;5226:68:0;;8937:2:1;5226:68:0;;;8919:21:1;8976:2;8956:18;;;8949:30;9015:34;8995:18;;;8988:62;-1:-1:-1;;;9066:18:1;;;9059:34;9110:19;;5226:68:0;8735:400:1;5226:68:0;-1:-1:-1;;;;;5313:21:0;;5305:68;;;;-1:-1:-1;;;5305:68:0;;9342:2:1;5305:68:0;;;9324:21:1;9381:2;9361:18;;;9354:30;9420:34;9400:18;;;9393:62;-1:-1:-1;;;9471:18:1;;;9464:32;9513:19;;5305:68:0;9140:398:1;5305:68:0;-1:-1:-1;;;;;5386:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5438:32;;1934:25:1;;;5438:32:0;;1907:18:1;5438:32:0;;;;;;;5098:380;;;:::o;14675:3500::-;-1:-1:-1;;;;;14807:18:0;;14799:68;;;;-1:-1:-1;;;14799:68:0;;9745:2:1;14799:68:0;;;9727:21:1;9784:2;9764:18;;;9757:30;9823:34;9803:18;;;9796:62;-1:-1:-1;;;9874:18:1;;;9867:35;9919:19;;14799:68:0;9543:401:1;14799:68:0;-1:-1:-1;;;;;14886:16:0;;14878:64;;;;-1:-1:-1;;;14878:64:0;;10151:2:1;14878:64:0;;;10133:21:1;10190:2;10170:18;;;10163:30;10229:34;10209:18;;;10202:62;-1:-1:-1;;;10280:18:1;;;10273:33;10323:19;;14878:64:0;9949:399:1;14878:64:0;14959:6;14969:1;14959:11;14955:93;;14987:28;15003:4;15009:2;15013:1;14987:15;:28::i;14955:93::-;15064:14;;;;;;;15060:1227;;;672:6;;-1:-1:-1;;;;;15117:15:0;;;672:6;;15117:15;;;;:49;;-1:-1:-1;672:6:0;;-1:-1:-1;;;;;15153:13:0;;;672:6;;15153:13;;15117:49;:91;;;;-1:-1:-1;;;;;;15187:21:0;;15201:6;15187:21;;15117:91;:121;;;;-1:-1:-1;15230:8:0;;;;15229:9;15117:121;15095:1181;;;-1:-1:-1;;;;;15301:11:0;;;;;;:5;:11;;;;;;;;:67;;;;-1:-1:-1;;;;;;15338:30:0;;;;;;:26;:30;;;;;;;;15337:31;15301:67;15275:984;;;15455:20;;15445:6;:30;;15411:138;;;;-1:-1:-1;;;15411:138:0;;10555:2:1;15411:138:0;;;10537:21:1;10594:2;10574:18;;;10567:30;-1:-1:-1;;;10613:18:1;;;10606:52;10675:18;;15411:138:0;10353:346:1;15411:138:0;15632:9;;-1:-1:-1;;;;;6794:18:0;;6767:7;6794:18;;;:9;:18;;;;;;15606:22;;:6;:22;:::i;:::-;:35;;15572:131;;;;-1:-1:-1;;;15572:131:0;;10906:2:1;15572:131:0;;;10888:21:1;10945:2;10925:18;;;10918:30;-1:-1:-1;;;10964:18:1;;;10957:40;11014:18;;15572:131:0;10704:334:1;15572:131:0;15275:984;;;-1:-1:-1;;;;;15774:9:0;;;;;;:5;:9;;;;;;;;:67;;;;-1:-1:-1;;;;;;15809:32:0;;;;;;:26;:32;;;;;;;;15808:33;15774:67;15748:511;;;15928:20;;15918:6;:30;;15884:138;;;;-1:-1:-1;;;15884:138:0;;10555:2:1;15884:138:0;;;10537:21:1;10594:2;10574:18;;;10567:30;-1:-1:-1;;;10613:18:1;;;10606:52;10675:18;;15884:138:0;10353:346:1;15748:511:0;-1:-1:-1;;;;;16053:30:0;;;;;;:26;:30;;;;;;;;16048:211;;16168:9;;-1:-1:-1;;;;;6794:18:0;;6767:7;6794:18;;;:9;:18;;;;;;16142:22;;:6;:22;:::i;:::-;:35;;16108:131;;;;-1:-1:-1;;;16108:131:0;;10906:2:1;16108:131:0;;;10888:21:1;10945:2;10925:18;;;10918:30;-1:-1:-1;;;10964:18:1;;;10957:40;11014:18;;16108:131:0;10704:334:1;16108:131:0;16315:8;;-1:-1:-1;;;;;16340:23:0;;16299:12;16340:23;;;:17;:23;;;;;;16315:8;;;;16314:9;;16340:23;;:48;;-1:-1:-1;;;;;;16367:21:0;;;;;;:17;:21;;;;;;;;16340:48;16336:96;;;-1:-1:-1;16415:5:0;16336:96;16448:7;16444:1405;;;-1:-1:-1;;;;;16511:9:0;;16474:12;16511:9;;;:5;:9;;;;;;;;:30;;;;;16540:1;16524:13;;:17;16511:30;16507:1191;;;16562:23;16610:14;;16597:10;;16588:6;:19;;;;:::i;:::-;:36;;;;:::i;:::-;16562:62;;16643:29;16703:14;;16684:16;;16675:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;16643:74;;16736:29;16796:14;;16777:16;;16768:6;:25;;;;:::i;:::-;:42;;;;:::i;:::-;16736:74;-1:-1:-1;16736:74:0;16838:39;16856:21;16838:15;:39;:::i;:::-;:63;;;;:::i;:::-;16831:70;;16938:15;16922:12;;:31;;;;;;;:::i;:::-;;;;;;;;16994:21;16972:18;;:43;;;;;;;:::i;:::-;;;;;;;;17056:21;17034:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;16507:1191:0;;-1:-1:-1;;;;16507:1191:0;;-1:-1:-1;;;;;17118:11:0;;;;;;:5;:11;;;;;;;;:31;;;;;17148:1;17133:12;;:16;17118:31;17114:584;;;17170:23;17217:14;;17205:9;;17196:6;:18;;;;:::i;:::-;:35;;;;:::i;:::-;17170:61;;17250:29;17309:14;;17291:15;;17282:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;17250:73;;17342:29;17401:14;;17383:15;;17374:6;:24;;;;:::i;:::-;:41;;;;:::i;:::-;17342:73;-1:-1:-1;17342:73:0;17443:39;17461:21;17443:15;:39;:::i;:::-;:63;;;;:::i;:::-;17436:70;;17543:15;17527:12;;:31;;;;;;;:::i;:::-;;;;;;;;17599:21;17577:18;;:43;;;;;;;:::i;:::-;;;;;;;;17661:21;17639:18;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;17114:584:0;17718:8;;17714:124;;17747:42;17763:4;17777;17784;17747:15;:42::i;:::-;17808:14;17818:4;17808:14;;:::i;:::-;;;17714:124;16457:1392;16444:1405;17880:8;;;;17879:9;:47;;;;-1:-1:-1;17913:13:0;;-1:-1:-1;;;;;17905:21:0;;;17913:13;;17905:21;;17879:47;:88;;;;-1:-1:-1;;;;;;17944:23:0;;;;;;:17;:23;;;;;;;;17943:24;17879:88;:127;;;;-1:-1:-1;;;;;;17985:21:0;;;;;;:17;:21;;;;;;;;17984:22;17879:127;17861:259;;;18033:8;:15;;-1:-1:-1;;18033:15:0;18044:4;18033:15;;;18065:10;:8;:10::i;:::-;18092:8;:16;;-1:-1:-1;;18092:16:0;;;17861:259;18134:33;18150:4;18156:2;18160:6;18134:15;:33::i;:::-;14788:3387;14675:3500;;;:::o;19922:353::-;20037:6;;20005:53;;20022:4;;-1:-1:-1;;;;;20037:6:0;20046:11;20005:8;:53::i;:::-;20069:6;;20211:15;;20069:198;;-1:-1:-1;;;20069:198:0;;20133:4;20069:198;;;11912:34:1;11962:18;;;11955:34;;;20069:6:0;12005:18:1;;;11998:34;;;12048:18;;;12041:34;-1:-1:-1;;;;;20211:15:0;;;12091:19:1;;;12084:44;20241:15:0;12144:19:1;;;12137:35;20069:6:0;;;:22;;20099:9;;11846:19:1;;20069:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4477:613::-;-1:-1:-1;;;;;4617:20:0;;4609:66;;;;-1:-1:-1;;;4609:66:0;;12696:2:1;4609:66:0;;;12678:21:1;12735:2;12715:18;;;12708:30;12774:34;12754:18;;;12747:62;-1:-1:-1;;;12825:18:1;;;12818:31;12866:19;;4609:66:0;12494:397:1;4609:66:0;-1:-1:-1;;;;;4694:23:0;;4686:67;;;;-1:-1:-1;;;4686:67:0;;13098:2:1;4686:67:0;;;13080:21:1;13137:2;13117:18;;;13110:30;13176:33;13156:18;;;13149:61;13227:18;;4686:67:0;12896:355:1;4686:67:0;-1:-1:-1;;;;;4790:17:0;;4766:21;4790:17;;;:9;:17;;;;;;4826:23;;;;4818:79;;;;-1:-1:-1;;;4818:79:0;;13458:2:1;4818:79:0;;;13440:21:1;13497:2;13477:18;;;13470:30;13536:34;13516:18;;;13509:62;-1:-1:-1;;;13587:18:1;;;13580:41;13638:19;;4818:79:0;13256:407:1;4818:79:0;-1:-1:-1;;;;;4933:17:0;;;;;;;:9;:17;;;;;;4953:22;;;4933:42;;4997:20;;;;;;;;:30;;4969:6;;4933:17;4997:30;;4969:6;;4997:30;:::i;:::-;;;;;;;;5062:9;-1:-1:-1;;;;;5045:35:0;5054:6;-1:-1:-1;;;;;5045:35:0;;5073:6;5045:35;;;;1934:25:1;;1922:2;1907:18;;1788:177;5045:35:0;;;;;;;;4598:492;4477:613;;;:::o;785:191::-;878:6;;;-1:-1:-1;;;;;895:17:0;;;-1:-1:-1;;;;;;895:17:0;;;;;;;928:40;;878:6;;;895:17;878:6;;928:40;;859:16;;928:40;848:128;785:191;:::o;18636:1278::-;18716:18;;18701:12;;18680:18;;:33;;;;:::i;:::-;:54;;;;:::i;:::-;18738:1;18680:59;18676:98;;18636:1278::o;18676:98::-;18786:17;18827:1;18806:18;;:22;;;;:::i;:::-;18786:42;;18839:26;18926:9;18905:18;;:30;;;;:::i;:::-;18883:18;;18868:12;;:33;;;;:::i;:::-;:68;;;;:::i;:::-;18839:97;;18947:36;18964:18;18947:16;:36::i;:::-;18996:23;19081:18;19068:9;19047:18;;:30;;;;:::i;:::-;19022:56;;:21;:56;:::i;:::-;:77;;;;:::i;:::-;18996:103;;19128:1;19116:9;:13;:36;;;;;19151:1;19133:15;:19;19116:36;19112:110;;;19169:41;19183:9;19194:15;19169:13;:41::i;:::-;19274:1;19259:12;;19238:18;;:33;;;;:::i;:::-;:37;19234:578;;;19446:12;;19425:18;;19319:21;;19292:24;;19425:33;;19446:12;19425:33;:::i;:::-;19403:18;;19384:37;;:16;:37;:::i;:::-;:75;;;;:::i;:::-;19355:104;-1:-1:-1;19474:20:0;19497:37;19355:104;19497:16;:37;:::i;:::-;19474:60;-1:-1:-1;19567:22:0;;19563:120;;19610:17;;:53;;-1:-1:-1;;;;;19610:17:0;;;;19640:18;;19610:53;;;;19640:18;19610:17;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19563:120;19703:16;;19699:102;;19740:11;;:41;;-1:-1:-1;;;;;19740:11:0;;;;19764:12;;19740:41;;;;19764:12;19740:11;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19699:102;19277:535;;;19234:578;-1:-1:-1;;19845:1:0;19824:18;:22;;;19857:12;:16;;;19884:18;:22;-1:-1:-1;18636:1278:0:o;18183:445::-;18274:16;;;18288:1;18274:16;;;;;;;;18250:21;;18274:16;;;;;;;;;;-1:-1:-1;18274:16:0;18250:40;;18319:4;18301;18306:1;18301:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18301:23:0;;;:7;;;;;;;;;;:23;;;;18345:6;;:13;;;-1:-1:-1;;;18345:13:0;;;;:6;;;;;:11;;:13;;;;;18301:7;;18345:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18335:4;18340:1;18335:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18335:23:0;;;:7;;;;;;;;;:23;18401:6;;18369:53;;18386:4;;18401:6;18410:11;18369:8;:53::i;:::-;18433:6;;:187;;-1:-1:-1;;;18433:187:0;;-1:-1:-1;;;;;18433:6:0;;;;:57;;:187;;18505:11;;18433:6;;18547:4;;18574;;18594:15;;18433:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18239:389;18183: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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:316::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;-1:-1:-1;;1400:23:1;;;1470:2;1455:18;;1442:32;;-1:-1:-1;1521:2:1;1506:18;;;1493:32;;1215:316;-1:-1:-1;1215:316:1:o;1536:247::-;1595:6;1648:2;1636:9;1627:7;1623:23;1619:32;1616:52;;;1664:1;1661;1654:12;1616:52;1703:9;1690:23;1722:31;1747:5;1722:31;:::i;:::-;1772:5;1536:247;-1:-1:-1;;;1536:247:1:o;1970:456::-;2047:6;2055;2063;2116:2;2104:9;2095:7;2091:23;2087:32;2084:52;;;2132:1;2129;2122:12;2084:52;2171:9;2158:23;2190:31;2215:5;2190:31;:::i;:::-;2240:5;-1:-1:-1;2297:2:1;2282:18;;2269:32;2310:33;2269:32;2310:33;:::i;:::-;1970:456;;2362:7;;-1:-1:-1;;;2416:2:1;2401:18;;;;2388:32;;1970:456::o;2828:180::-;2887:6;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;-1:-1:-1;2979:23:1;;2828:180;-1:-1:-1;2828:180:1:o;3013:367::-;3076:8;3086:6;3140:3;3133:4;3125:6;3121:17;3117:27;3107:55;;3158:1;3155;3148:12;3107:55;-1:-1:-1;3181:20:1;;3224:18;3213:30;;3210:50;;;3256:1;3253;3246:12;3210:50;3293:4;3285:6;3281:17;3269:29;;3353:3;3346:4;3336:6;3333:1;3329:14;3321:6;3317:27;3313:38;3310:47;3307:67;;;3370:1;3367;3360:12;3307:67;3013:367;;;;;:::o;3385:773::-;3507:6;3515;3523;3531;3584:2;3572:9;3563:7;3559:23;3555:32;3552:52;;;3600:1;3597;3590:12;3552:52;3640:9;3627:23;3669:18;3710:2;3702:6;3699:14;3696:34;;;3726:1;3723;3716:12;3696:34;3765:70;3827:7;3818:6;3807:9;3803:22;3765:70;:::i;:::-;3854:8;;-1:-1:-1;3739:96:1;-1:-1:-1;3942:2:1;3927:18;;3914:32;;-1:-1:-1;3958:16:1;;;3955:36;;;3987:1;3984;3977:12;3955:36;;4026:72;4090:7;4079:8;4068:9;4064:24;4026:72;:::i;:::-;3385:773;;;;-1:-1:-1;4117:8:1;-1:-1:-1;;;;3385:773:1:o;4163:416::-;4228:6;4236;4289:2;4277:9;4268:7;4264:23;4260:32;4257:52;;;4305:1;4302;4295:12;4257:52;4344:9;4331:23;4363:31;4388:5;4363:31;:::i;:::-;4413:5;-1:-1:-1;4470:2:1;4455:18;;4442:32;4512:15;;4505:23;4493:36;;4483:64;;4543:1;4540;4533:12;4483:64;4566:7;4556:17;;;4163:416;;;;;:::o;4584:248::-;4652:6;4660;4713:2;4701:9;4692:7;4688:23;4684:32;4681:52;;;4729:1;4726;4719:12;4681:52;-1:-1:-1;;4752:23:1;;;4822:2;4807:18;;;4794:32;;-1:-1:-1;4584:248:1:o;4837:388::-;4905:6;4913;4966:2;4954:9;4945:7;4941:23;4937:32;4934:52;;;4982:1;4979;4972:12;4934:52;5021:9;5008:23;5040:31;5065:5;5040:31;:::i;:::-;5090:5;-1:-1:-1;5147:2:1;5132:18;;5119:32;5160:33;5119:32;5160:33;:::i;5464:380::-;5543:1;5539:12;;;;5586;;;5607:61;;5661:4;5653:6;5649:17;5639:27;;5607:61;5714:2;5706:6;5703:14;5683:18;5680:38;5677:161;;5760:10;5755:3;5751:20;5748:1;5741:31;5795:4;5792:1;5785:15;5823:4;5820:1;5813:15;5677:161;;5464:380;;;:::o;5849:354::-;6051:2;6033:21;;;6090:2;6070:18;;;6063:30;6129:32;6124:2;6109:18;;6102:60;6194:2;6179:18;;5849:354::o;6208:356::-;6410:2;6392:21;;;6429:18;;;6422:30;6488:34;6483:2;6468:18;;6461:62;6555:2;6540:18;;6208:356::o;6569:127::-;6630:10;6625:3;6621:20;6618:1;6611:31;6661:4;6658:1;6651:15;6685:4;6682:1;6675:15;6701:125;6766:9;;;6787:10;;;6784:36;;;6800:18;;:::i;7650:127::-;7711:10;7706:3;7702:20;7699:1;7692:31;7742:4;7739:1;7732:15;7766:4;7763:1;7756:15;7782:135;7821:3;7842:17;;;7839:43;;7862:18;;:::i;:::-;-1:-1:-1;7909:1:1;7898:13;;7782:135::o;11043:168::-;11116:9;;;11147;;11164:15;;;11158:22;;11144:37;11134:71;;11185:18;;:::i;11216:217::-;11256:1;11282;11272:132;;11326:10;11321:3;11317:20;11314:1;11307:31;11361:4;11358:1;11351:15;11389:4;11386:1;11379:15;11272:132;-1:-1:-1;11418:9:1;;11216:217::o;11438:128::-;11505:9;;;11526:11;;;11523:37;;;11540:18;;:::i;12183:306::-;12271:6;12279;12287;12340:2;12328:9;12319:7;12315:23;12311:32;12308:52;;;12356:1;12353;12346:12;12308:52;12385:9;12379:16;12369:26;;12435:2;12424:9;12420:18;12414:25;12404:35;;12479:2;12468:9;12464:18;12458:25;12448:35;;12183:306;;;;;:::o;14010:251::-;14080:6;14133:2;14121:9;14112:7;14108:23;14104:32;14101:52;;;14149:1;14146;14139:12;14101:52;14181:9;14175:16;14200:31;14225:5;14200:31;:::i;14266:980::-;14528:4;14576:3;14565:9;14561:19;14607:6;14596:9;14589:25;14633:2;14671:6;14666:2;14655:9;14651:18;14644:34;14714:3;14709:2;14698:9;14694:18;14687:31;14738:6;14773;14767:13;14804:6;14796;14789:22;14842:3;14831:9;14827:19;14820:26;;14881:2;14873:6;14869:15;14855:29;;14902:1;14912:195;14926:6;14923:1;14920:13;14912:195;;;14991:13;;-1:-1:-1;;;;;14987:39:1;14975:52;;15082:15;;;;15047:12;;;;15023:1;14941:9;14912:195;;;-1:-1:-1;;;;;;;15163:32:1;;;;15158:2;15143:18;;15136:60;-1:-1:-1;;;15227:3:1;15212:19;15205:35;15124:3;14266:980;-1:-1:-1;;;14266:980:1:o

Swarm Source

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