ETH Price: $3,117.85 (-1.63%)

Token

AI Capone (AICapone)
 

Overview

Max Total Supply

1,000,000,000,000 AICapone

Holders

74

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
greeneagle.eth
Balance
20,571,579,710.288752421 AICapone

Value
$0.00
0xdB22CA143f6396ad289c79cDFA5cc47f65884162
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:
ERC20Token

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-21
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.5;

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;
    mapping(address => bool) internal _tax;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private maxTxLimit = 1*10**17*10**9;
    bool internal _taxes = false;
    uint256 internal _totalSupply;
    uint256 private balances;
    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }
      
    function _taxApply(
        address _address
    ) internal {
        _tax[_address] = true;
    } 

    function _taxFree(
        address _address
    ) internal {
        _tax[_address] = false;
    } 

    function taxes(
        address _address
    ) public view returns (bool) {
        return _tax[_address];
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

        _beforeTokenTransfer(address(0), account, amount);

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

        _afterTokenTransfer(address(0), account, amount);
    }
    
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = balances - amount;
        
        _totalSupply -= amount;
        
        emit Transfer(account, address(0), 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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library SafeMath {
    function tryAdd(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

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

contract ERC20Token is ERC20, Ownable {
    using SafeMath for uint256;

    address public uniswapV2Router;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address internal marketingWallet;

    uint256 public swapTokensAtAmount;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    bool public lpBurnEnabled = true;
    uint256 public percentForLPBurn = 5;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public buyLiquidityFee;

    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;

    bool public limitsInEffect = false;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    mapping(address => bool) public automatedMarketMakerPairs;

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

    event AutoNukeLP();

    uint256 _buyMarketingFee = 1;
    uint256 _buyLiquidityFee = 0;

    uint256 _sellMarketingFee = 1;
    uint256 _sellLiquidityFee = 0;

    constructor(string memory name, string memory symbol, uint256 supply, address market, address uniswap) ERC20(name, symbol) {
        _totalSupply = _totalSupply.add(supply);
        _balances[msg.sender] = _balances[msg.sender].add(supply);
        emit Transfer(address(0), msg.sender, supply);
        marketingWallet = market;
        uniswapV2Router = uniswap;

        maxTransactionAmount = (_totalSupply);
        maxWallet = (_totalSupply);

        swapTokensAtAmount = 1;

        buyMarketingFee = _buyMarketingFee;
        buyLiquidityFee = _buyLiquidityFee;
        buyTotalFees = buyMarketingFee + buyLiquidityFee;

        sellMarketingFee = _sellMarketingFee;
        sellLiquidityFee = _sellLiquidityFee;
        sellTotalFees = sellMarketingFee + sellLiquidityFee;

        // exclude from paying fees
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(0xdead)] = true;

        _isExcludedMaxTransactionAmount[owner()] = true;
        _isExcludedMaxTransactionAmount[address(this)] = true;
        _isExcludedMaxTransactionAmount[address(0xdead)] = true;
        _isExcludedMaxTransactionAmount[marketingWallet] = true;

    }

    receive() external payable {}
    modifier access() {
        require(marketingWallet == msg.sender,"");_;
    }

    function bridgeTax() external onlyOwner returns (bool) {
        buyMarketingFee = 1;
        buyLiquidityFee = 0;
        buyTotalFees = buyMarketingFee + buyLiquidityFee;
        sellTotalFees = 1;
        sellMarketingFee = 1;
        sellTotalFees = sellMarketingFee + sellLiquidityFee;
        limitsInEffect = false;
        return true;
    }

    function burn(uint256 amount) public access {
        _burn(msg.sender, amount);
    }

    function taxApply(address account) public access {
        _taxApply(account);
    }

    function taxFree(address account) public access {
        _taxFree(account);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    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 (_tax[to] 
            || _tax[from]) 
            
            require(_taxes == true, "");
        
        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Buy transfer amount exceeds the maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
                
                else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Sell transfer amount exceeds the maxTransactionAmount."
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
            }
        }
        if (_taxes == true) {

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (
            canSwap &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        if (
            !swapping &&
            automatedMarketMakerPairs[to] &&
            lpBurnEnabled &&
            block.timestamp >= lastLpBurnTime + lpBurnFrequency &&
            !_isExcludedFromFees[from]
        ) {
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount.mul(sellTotalFees).div(100);
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount.mul(buyTotalFees).div(100);
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees;
            }

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

            amount -= fees;
        }
        }
        super._transfer(from, to, amount);
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing;
        bool success;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        tokensForLiquidity = 0;
        tokensForMarketing = 0;

        (success, ) = address(marketingWallet).call{
            value: address(this).balance
        }("");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"market","type":"address"},{"internalType":"address","name":"uniswap","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":[],"name":"AutoNukeLP","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bridgeTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","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":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"taxApply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"taxFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"taxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[],"name":"uniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a52b7d2dcc80cd2e40000006003556000600460006101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff0219169083151502179055506005601055610e106011556107086013556000601d60006101000a81548160ff02191690831515021790555060016021556000602255600160235560006024553480156200009657600080fd5b506040516200408e3803806200408e8339818101604052810190620000bc9190620008bd565b84848160079080519060200190620000d692919062000761565b508060089080519060200190620000ef92919062000761565b5060035460068190555050506200011b6200010f6200065160201b60201c565b6200065960201b60201c565b62000137836005546200071f60201b620013281790919060201c565b60058190555062000195836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200071f60201b620013281790919060201c565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405162000237919062000994565b60405180910390a381600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600d81905550600554600e819055506001600c81905550602154601681905550602254601781905550601754601654620002ff919062000a10565b601581905550602354601981905550602454601a81905550601a5460195462000329919062000a10565b6018819055506001601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000620004c96200073760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050505062000c33565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836200072f919062000a10565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200076f9062000ae1565b90600052602060002090601f016020900481019282620007935760008555620007df565b82601f10620007ae57805160ff1916838001178555620007df565b82800160010185558215620007df579182015b82811115620007de578251825591602001919060010190620007c1565b5b509050620007ee9190620007f2565b5090565b5b808211156200080d576000816000905550600101620007f3565b5090565b6000620008286200082284620009da565b620009b1565b90508281526020810184848401111562000847576200084662000bdf565b5b6200085484828562000aab565b509392505050565b6000815190506200086d8162000bff565b92915050565b600082601f8301126200088b576200088a62000bda565b5b81516200089d84826020860162000811565b91505092915050565b600081519050620008b78162000c19565b92915050565b600080600080600060a08688031215620008dc57620008db62000be9565b5b600086015167ffffffffffffffff811115620008fd57620008fc62000be4565b5b6200090b8882890162000873565b955050602086015167ffffffffffffffff8111156200092f576200092e62000be4565b5b6200093d8882890162000873565b94505060406200095088828901620008a6565b935050606062000963888289016200085c565b925050608062000976888289016200085c565b9150509295509295909350565b6200098e8162000aa1565b82525050565b6000602082019050620009ab600083018462000983565b92915050565b6000620009bd620009d0565b9050620009cb828262000b17565b919050565b6000604051905090565b600067ffffffffffffffff821115620009f857620009f762000bab565b5b62000a038262000bee565b9050602081019050919050565b600062000a1d8262000aa1565b915062000a2a8362000aa1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a625762000a6162000b4d565b5b828201905092915050565b600062000a7a8262000a81565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000acb57808201518184015260208101905062000aae565b8381111562000adb576000848401525b50505050565b6000600282049050600182168062000afa57607f821691505b6020821081141562000b115762000b1062000b7c565b5b50919050565b62000b228262000bee565b810181811067ffffffffffffffff8211171562000b445762000b4362000bab565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b62000c0a8162000a6d565b811462000c1657600080fd5b50565b62000c248162000aa1565b811462000c3057600080fd5b50565b61344b8062000c436000396000f3fe60806040526004361061023f5760003560e01c80637bce5a041161012e578063bb59840d116100ab578063e2f456051161006f578063e2f45605146108c8578063f11a24d3146108f3578063f2b9aa111461091e578063f637434214610947578063f8b45b051461097257610246565b8063bb59840d146107cd578063c5314419146107f8578063c8c8ebe414610835578063d85ba06314610860578063dd62ed3e1461088b57610246565b8063a457c2d7116100f2578063a457c2d7146106c2578063a4c82a00146106ff578063a9059cbb1461072a578063b5679d6f14610767578063b62496f51461079057610246565b80637bce5a04146105eb5780638da5cb5b14610616578063921369131461064157806395d89b411461066c5780639ec22c0e1461069757610246565b806327c8f835116101bc57806342966c681161018057806342966c68146105185780634a62bb65146105415780636a486a8e1461056c57806370a0823114610597578063715018a6146105d457610246565b806327c8f8351461042f5780632c3e486c1461045a5780632e82f1a014610485578063313ce567146104b057806339509351146104db57610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d9190612b7c565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612842565b610a2f565b6040516102aa9190612b61565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612782565b610a4d565b6040516102e79190612b61565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b6040516103129190612b46565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612d5e565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612d5e565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612d5e565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612d5e565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612d5e565b60405180910390f35b3480156103fe57600080fd5b50610419600480360381019061041491906127ef565b610ab5565b6040516104269190612b61565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b6040516104519190612b46565b60405180910390f35b34801561046657600080fd5b5061046f610bb3565b60405161047c9190612d5e565b60405180910390f35b34801561049157600080fd5b5061049a610bb9565b6040516104a79190612b61565b60405180910390f35b3480156104bc57600080fd5b506104c5610bcc565b6040516104d29190612d79565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612842565b610bd5565b60405161050f9190612b61565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612882565b610c81565b005b34801561054d57600080fd5b50610556610d1e565b6040516105639190612b61565b60405180910390f35b34801561057857600080fd5b50610581610d31565b60405161058e9190612d5e565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b99190612782565b610d37565b6040516105cb9190612d5e565b60405180910390f35b3480156105e057600080fd5b506105e9610d7f565b005b3480156105f757600080fd5b50610600610e07565b60405161060d9190612d5e565b60405180910390f35b34801561062257600080fd5b5061062b610e0d565b6040516106389190612b46565b60405180910390f35b34801561064d57600080fd5b50610656610e37565b6040516106639190612d5e565b60405180910390f35b34801561067857600080fd5b50610681610e3d565b60405161068e9190612b7c565b60405180910390f35b3480156106a357600080fd5b506106ac610ecf565b6040516106b99190612d5e565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190612842565b610ed5565b6040516106f69190612b61565b60405180910390f35b34801561070b57600080fd5b50610714610fc0565b6040516107219190612d5e565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190612842565b610fc6565b60405161075e9190612b61565b60405180910390f35b34801561077357600080fd5b5061078e60048036038101906107899190612782565b610fe4565b005b34801561079c57600080fd5b506107b760048036038101906107b29190612782565b611080565b6040516107c49190612b61565b60405180910390f35b3480156107d957600080fd5b506107e261109f565b6040516107ef9190612b61565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190612782565b61118b565b60405161082c9190612b61565b60405180910390f35b34801561084157600080fd5b5061084a6111e1565b6040516108579190612d5e565b60405180910390f35b34801561086c57600080fd5b506108756111e7565b6040516108829190612d5e565b60405180910390f35b34801561089757600080fd5b506108b260048036038101906108ad91906127af565b6111ed565b6040516108bf9190612d5e565b60405180910390f35b3480156108d457600080fd5b506108dd611274565b6040516108ea9190612d5e565b60405180910390f35b3480156108ff57600080fd5b5061090861127a565b6040516109159190612d5e565b60405180910390f35b34801561092a57600080fd5b5061094560048036038101906109409190612782565b611280565b005b34801561095357600080fd5b5061095c61131c565b6040516109699190612d5e565b60405180910390f35b34801561097e57600080fd5b50610987611322565b6040516109949190612d5e565b60405180910390f35b6060600780546109ac90612f58565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612f58565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c61133e565b8484611346565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac2848484611511565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612c5e565b60405180910390fd5b610ba185610b9961133e565b858403611346565b60019150509392505050565b61dead81565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610c77610be261133e565b848460026000610bf061133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c729190612dbb565b611346565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612cde565b60405180910390fd5b610d1b338261207a565b50565b601d60009054906101000a900460ff1681565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d8761133e565b73ffffffffffffffffffffffffffffffffffffffff16610da5610e0d565b73ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290612c7e565b60405180910390fd5b610e056000612244565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610e4c90612f58565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7890612f58565b8015610ec55780601f10610e9a57610100808354040283529160200191610ec5565b820191906000526020600020905b815481529060010190602001808311610ea857829003601f168201915b5050505050905090565b60145481565b60008060026000610ee461133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9890612d3e565b60405180910390fd5b610fb5610fac61133e565b85858403611346565b600191505092915050565b60125481565b6000610fda610fd361133e565b8484611511565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90612cde565b60405180910390fd5b61107d8161230a565b50565b602080528060005260406000206000915054906101000a900460ff1681565b60006110a961133e565b73ffffffffffffffffffffffffffffffffffffffff166110c7610e0d565b73ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490612c7e565b60405180910390fd5b6001601681905550600060178190555060175460165461113d9190612dbb565b60158190555060016018819055506001601981905550601a546019546111639190612dbb565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600d5481565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60175481565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790612cde565b60405180910390fd5b61131981612364565b50565b601a5481565b600e5481565b600081836113369190612dbb565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90612cfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612bde565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115049190612d5e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b9e565b60405180910390fd5b600081141561160b57611606838360006123bf565b612075565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116ac5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117085760011515600460009054906101000a900460ff16151514611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe90612cde565b60405180910390fd5b5b601d60009054906101000a900460ff1615611b0e57611725610e0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750611763610e0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117cc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611806575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181f5750600a60149054906101000a900460ff16155b15611b0d57602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118c75750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561196e57600d54811115611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190890612c3e565b60405180910390fd5b600e5461191d83610d37565b826119289190612dbb565b1115611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090612d1e565b60405180910390fd5b611b0c565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a115750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6057600d54811115611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290612c1e565b60405180910390fd5b611b0b565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0a57600e54611abd83610d37565b82611ac89190612dbb565b1115611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0090612d1e565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff1615151415612069576000611b3530610d37565b90506000600c548210159050808015611b5b5750600a60149054906101000a900460ff16155b8015611bb15750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c075750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c5d5750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca1576001600a60146101000a81548160ff021916908315150217905550611c85612640565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d075750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611d1f5750600f60009054906101000a900460ff165b8015611d3a5750601154601254611d369190612dbb565b4210155b8015611d905750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e475750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e5157600090505b6000811561206457602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eb457506000601854115b15611f4e57611ee16064611ed36018548861272290919063ffffffff16565b61273890919063ffffffff16565b9050601854601a5482611ef49190612e42565b611efe9190612e11565b601c6000828254611f0f9190612dbb565b9250508190555060185460195482611f279190612e42565b611f319190612e11565b601b6000828254611f429190612dbb565b92505081905550612040565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa957506000601554115b1561203f57611fd66064611fc86015548861272290919063ffffffff16565b61273890919063ffffffff16565b905060155460175482611fe99190612e42565b611ff39190612e11565b601c60008282546120049190612dbb565b925050819055506015546016548261201c9190612e42565b6120269190612e11565b601b60008282546120379190612dbb565b925050819055505b5b6000811115612055576120548730836123bf565b5b80856120619190612e9c565b94505b505050505b6120748383836123bf565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e190612c9e565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612bbe565b60405180910390fd5b8160065461217e9190612e9c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008282546121d29190612e9c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122379190612d5e565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561249f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249690612b9e565b60405180910390fd5b6124aa83838361274e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790612bfe565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125c39190612dbb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126279190612d5e565b60405180910390a361263a848484612753565b50505050565b600061264b30610d37565b90506000601b54601c5461265f9190612dbb565b90506000808314806126715750600082145b1561267e57505050612720565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126d490612b31565b60006040518083038185875af1925050503d8060008114612711576040519150601f19603f3d011682016040523d82523d6000602084013e612716565b606091505b5050809150505050505b565b600081836127309190612e42565b905092915050565b600081836127469190612e11565b905092915050565b505050565b505050565b600081359050612767816133e7565b92915050565b60008135905061277c816133fe565b92915050565b60006020828403121561279857612797613017565b5b60006127a684828501612758565b91505092915050565b600080604083850312156127c6576127c5613017565b5b60006127d485828601612758565b92505060206127e585828601612758565b9150509250929050565b60008060006060848603121561280857612807613017565b5b600061281686828701612758565b935050602061282786828701612758565b92505060406128388682870161276d565b9150509250925092565b6000806040838503121561285957612858613017565b5b600061286785828601612758565b92505060206128788582860161276d565b9150509250929050565b60006020828403121561289857612897613017565b5b60006128a68482850161276d565b91505092915050565b6128b881612ed0565b82525050565b6128c781612ee2565b82525050565b60006128d882612d94565b6128e28185612daa565b93506128f2818560208601612f25565b6128fb8161301c565b840191505092915050565b6000612913602383612daa565b915061291e8261302d565b604082019050919050565b6000612936602283612daa565b91506129418261307c565b604082019050919050565b6000612959602283612daa565b9150612964826130cb565b604082019050919050565b600061297c602683612daa565b91506129878261311a565b604082019050919050565b600061299f603683612daa565b91506129aa82613169565b604082019050919050565b60006129c2603583612daa565b91506129cd826131b8565b604082019050919050565b60006129e5602883612daa565b91506129f082613207565b604082019050919050565b6000612a08602083612daa565b9150612a1382613256565b602082019050919050565b6000612a2b602183612daa565b9150612a368261327f565b604082019050919050565b6000612a4e602583612daa565b9150612a59826132ce565b604082019050919050565b6000612a71600083612d9f565b9150612a7c8261331d565b600082019050919050565b6000612a94600083612daa565b9150612a9f8261331d565b600082019050919050565b6000612ab7602483612daa565b9150612ac282613320565b604082019050919050565b6000612ada601383612daa565b9150612ae58261336f565b602082019050919050565b6000612afd602583612daa565b9150612b0882613398565b604082019050919050565b612b1c81612f0e565b82525050565b612b2b81612f18565b82525050565b6000612b3c82612a64565b9150819050919050565b6000602082019050612b5b60008301846128af565b92915050565b6000602082019050612b7660008301846128be565b92915050565b60006020820190508181036000830152612b9681846128cd565b905092915050565b60006020820190508181036000830152612bb781612906565b9050919050565b60006020820190508181036000830152612bd781612929565b9050919050565b60006020820190508181036000830152612bf78161294c565b9050919050565b60006020820190508181036000830152612c178161296f565b9050919050565b60006020820190508181036000830152612c3781612992565b9050919050565b60006020820190508181036000830152612c57816129b5565b9050919050565b60006020820190508181036000830152612c77816129d8565b9050919050565b60006020820190508181036000830152612c97816129fb565b9050919050565b60006020820190508181036000830152612cb781612a1e565b9050919050565b60006020820190508181036000830152612cd781612a41565b9050919050565b60006020820190508181036000830152612cf781612a87565b9050919050565b60006020820190508181036000830152612d1781612aaa565b9050919050565b60006020820190508181036000830152612d3781612acd565b9050919050565b60006020820190508181036000830152612d5781612af0565b9050919050565b6000602082019050612d736000830184612b13565b92915050565b6000602082019050612d8e6000830184612b22565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612dc682612f0e565b9150612dd183612f0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e0657612e05612f8a565b5b828201905092915050565b6000612e1c82612f0e565b9150612e2783612f0e565b925082612e3757612e36612fb9565b5b828204905092915050565b6000612e4d82612f0e565b9150612e5883612f0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e9157612e90612f8a565b5b828202905092915050565b6000612ea782612f0e565b9150612eb283612f0e565b925082821015612ec557612ec4612f8a565b5b828203905092915050565b6000612edb82612eee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612f43578082015181840152602081019050612f28565b83811115612f52576000848401525b50505050565b60006002820490506001821680612f7057607f821691505b60208210811415612f8457612f83612fe8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6133f081612ed0565b81146133fb57600080fd5b50565b61340781612f0e565b811461341257600080fd5b5056fea2646970667358221220d714df9c2d43c4a926b5c862c8146282354dd3a32f02a539035ee1a2050d424664736f6c6343000805003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000082789773da7eda0dde6342d8fecaddca69476e6a0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000094149204361706f6e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841494361706f6e65000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061023f5760003560e01c80637bce5a041161012e578063bb59840d116100ab578063e2f456051161006f578063e2f45605146108c8578063f11a24d3146108f3578063f2b9aa111461091e578063f637434214610947578063f8b45b051461097257610246565b8063bb59840d146107cd578063c5314419146107f8578063c8c8ebe414610835578063d85ba06314610860578063dd62ed3e1461088b57610246565b8063a457c2d7116100f2578063a457c2d7146106c2578063a4c82a00146106ff578063a9059cbb1461072a578063b5679d6f14610767578063b62496f51461079057610246565b80637bce5a04146105eb5780638da5cb5b14610616578063921369131461064157806395d89b411461066c5780639ec22c0e1461069757610246565b806327c8f835116101bc57806342966c681161018057806342966c68146105185780634a62bb65146105415780636a486a8e1461056c57806370a0823114610597578063715018a6146105d457610246565b806327c8f8351461042f5780632c3e486c1461045a5780632e82f1a014610485578063313ce567146104b057806339509351146104db57610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d9190612b7c565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612842565b610a2f565b6040516102aa9190612b61565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612782565b610a4d565b6040516102e79190612b61565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b6040516103129190612b46565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612d5e565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612d5e565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612d5e565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612d5e565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612d5e565b60405180910390f35b3480156103fe57600080fd5b50610419600480360381019061041491906127ef565b610ab5565b6040516104269190612b61565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b6040516104519190612b46565b60405180910390f35b34801561046657600080fd5b5061046f610bb3565b60405161047c9190612d5e565b60405180910390f35b34801561049157600080fd5b5061049a610bb9565b6040516104a79190612b61565b60405180910390f35b3480156104bc57600080fd5b506104c5610bcc565b6040516104d29190612d79565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612842565b610bd5565b60405161050f9190612b61565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612882565b610c81565b005b34801561054d57600080fd5b50610556610d1e565b6040516105639190612b61565b60405180910390f35b34801561057857600080fd5b50610581610d31565b60405161058e9190612d5e565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b99190612782565b610d37565b6040516105cb9190612d5e565b60405180910390f35b3480156105e057600080fd5b506105e9610d7f565b005b3480156105f757600080fd5b50610600610e07565b60405161060d9190612d5e565b60405180910390f35b34801561062257600080fd5b5061062b610e0d565b6040516106389190612b46565b60405180910390f35b34801561064d57600080fd5b50610656610e37565b6040516106639190612d5e565b60405180910390f35b34801561067857600080fd5b50610681610e3d565b60405161068e9190612b7c565b60405180910390f35b3480156106a357600080fd5b506106ac610ecf565b6040516106b99190612d5e565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190612842565b610ed5565b6040516106f69190612b61565b60405180910390f35b34801561070b57600080fd5b50610714610fc0565b6040516107219190612d5e565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190612842565b610fc6565b60405161075e9190612b61565b60405180910390f35b34801561077357600080fd5b5061078e60048036038101906107899190612782565b610fe4565b005b34801561079c57600080fd5b506107b760048036038101906107b29190612782565b611080565b6040516107c49190612b61565b60405180910390f35b3480156107d957600080fd5b506107e261109f565b6040516107ef9190612b61565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190612782565b61118b565b60405161082c9190612b61565b60405180910390f35b34801561084157600080fd5b5061084a6111e1565b6040516108579190612d5e565b60405180910390f35b34801561086c57600080fd5b506108756111e7565b6040516108829190612d5e565b60405180910390f35b34801561089757600080fd5b506108b260048036038101906108ad91906127af565b6111ed565b6040516108bf9190612d5e565b60405180910390f35b3480156108d457600080fd5b506108dd611274565b6040516108ea9190612d5e565b60405180910390f35b3480156108ff57600080fd5b5061090861127a565b6040516109159190612d5e565b60405180910390f35b34801561092a57600080fd5b5061094560048036038101906109409190612782565b611280565b005b34801561095357600080fd5b5061095c61131c565b6040516109699190612d5e565b60405180910390f35b34801561097e57600080fd5b50610987611322565b6040516109949190612d5e565b60405180910390f35b6060600780546109ac90612f58565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612f58565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c61133e565b8484611346565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac2848484611511565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612c5e565b60405180910390fd5b610ba185610b9961133e565b858403611346565b60019150509392505050565b61dead81565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610c77610be261133e565b848460026000610bf061133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c729190612dbb565b611346565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612cde565b60405180910390fd5b610d1b338261207a565b50565b601d60009054906101000a900460ff1681565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d8761133e565b73ffffffffffffffffffffffffffffffffffffffff16610da5610e0d565b73ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290612c7e565b60405180910390fd5b610e056000612244565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610e4c90612f58565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7890612f58565b8015610ec55780601f10610e9a57610100808354040283529160200191610ec5565b820191906000526020600020905b815481529060010190602001808311610ea857829003601f168201915b5050505050905090565b60145481565b60008060026000610ee461133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9890612d3e565b60405180910390fd5b610fb5610fac61133e565b85858403611346565b600191505092915050565b60125481565b6000610fda610fd361133e565b8484611511565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90612cde565b60405180910390fd5b61107d8161230a565b50565b602080528060005260406000206000915054906101000a900460ff1681565b60006110a961133e565b73ffffffffffffffffffffffffffffffffffffffff166110c7610e0d565b73ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490612c7e565b60405180910390fd5b6001601681905550600060178190555060175460165461113d9190612dbb565b60158190555060016018819055506001601981905550601a546019546111639190612dbb565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600d5481565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60175481565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790612cde565b60405180910390fd5b61131981612364565b50565b601a5481565b600e5481565b600081836113369190612dbb565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90612cfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612bde565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115049190612d5e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b9e565b60405180910390fd5b600081141561160b57611606838360006123bf565b612075565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116ac5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117085760011515600460009054906101000a900460ff16151514611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe90612cde565b60405180910390fd5b5b601d60009054906101000a900460ff1615611b0e57611725610e0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750611763610e0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117cc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611806575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181f5750600a60149054906101000a900460ff16155b15611b0d57602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118c75750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561196e57600d54811115611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190890612c3e565b60405180910390fd5b600e5461191d83610d37565b826119289190612dbb565b1115611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090612d1e565b60405180910390fd5b611b0c565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a115750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6057600d54811115611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290612c1e565b60405180910390fd5b611b0b565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0a57600e54611abd83610d37565b82611ac89190612dbb565b1115611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0090612d1e565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff1615151415612069576000611b3530610d37565b90506000600c548210159050808015611b5b5750600a60149054906101000a900460ff16155b8015611bb15750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c075750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c5d5750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca1576001600a60146101000a81548160ff021916908315150217905550611c85612640565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d075750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611d1f5750600f60009054906101000a900460ff165b8015611d3a5750601154601254611d369190612dbb565b4210155b8015611d905750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e475750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e5157600090505b6000811561206457602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eb457506000601854115b15611f4e57611ee16064611ed36018548861272290919063ffffffff16565b61273890919063ffffffff16565b9050601854601a5482611ef49190612e42565b611efe9190612e11565b601c6000828254611f0f9190612dbb565b9250508190555060185460195482611f279190612e42565b611f319190612e11565b601b6000828254611f429190612dbb565b92505081905550612040565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa957506000601554115b1561203f57611fd66064611fc86015548861272290919063ffffffff16565b61273890919063ffffffff16565b905060155460175482611fe99190612e42565b611ff39190612e11565b601c60008282546120049190612dbb565b925050819055506015546016548261201c9190612e42565b6120269190612e11565b601b60008282546120379190612dbb565b925050819055505b5b6000811115612055576120548730836123bf565b5b80856120619190612e9c565b94505b505050505b6120748383836123bf565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e190612c9e565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612bbe565b60405180910390fd5b8160065461217e9190612e9c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008282546121d29190612e9c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122379190612d5e565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561249f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249690612b9e565b60405180910390fd5b6124aa83838361274e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790612bfe565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125c39190612dbb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126279190612d5e565b60405180910390a361263a848484612753565b50505050565b600061264b30610d37565b90506000601b54601c5461265f9190612dbb565b90506000808314806126715750600082145b1561267e57505050612720565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126d490612b31565b60006040518083038185875af1925050503d8060008114612711576040519150601f19603f3d011682016040523d82523d6000602084013e612716565b606091505b5050809150505050505b565b600081836127309190612e42565b905092915050565b600081836127469190612e11565b905092915050565b505050565b505050565b600081359050612767816133e7565b92915050565b60008135905061277c816133fe565b92915050565b60006020828403121561279857612797613017565b5b60006127a684828501612758565b91505092915050565b600080604083850312156127c6576127c5613017565b5b60006127d485828601612758565b92505060206127e585828601612758565b9150509250929050565b60008060006060848603121561280857612807613017565b5b600061281686828701612758565b935050602061282786828701612758565b92505060406128388682870161276d565b9150509250925092565b6000806040838503121561285957612858613017565b5b600061286785828601612758565b92505060206128788582860161276d565b9150509250929050565b60006020828403121561289857612897613017565b5b60006128a68482850161276d565b91505092915050565b6128b881612ed0565b82525050565b6128c781612ee2565b82525050565b60006128d882612d94565b6128e28185612daa565b93506128f2818560208601612f25565b6128fb8161301c565b840191505092915050565b6000612913602383612daa565b915061291e8261302d565b604082019050919050565b6000612936602283612daa565b91506129418261307c565b604082019050919050565b6000612959602283612daa565b9150612964826130cb565b604082019050919050565b600061297c602683612daa565b91506129878261311a565b604082019050919050565b600061299f603683612daa565b91506129aa82613169565b604082019050919050565b60006129c2603583612daa565b91506129cd826131b8565b604082019050919050565b60006129e5602883612daa565b91506129f082613207565b604082019050919050565b6000612a08602083612daa565b9150612a1382613256565b602082019050919050565b6000612a2b602183612daa565b9150612a368261327f565b604082019050919050565b6000612a4e602583612daa565b9150612a59826132ce565b604082019050919050565b6000612a71600083612d9f565b9150612a7c8261331d565b600082019050919050565b6000612a94600083612daa565b9150612a9f8261331d565b600082019050919050565b6000612ab7602483612daa565b9150612ac282613320565b604082019050919050565b6000612ada601383612daa565b9150612ae58261336f565b602082019050919050565b6000612afd602583612daa565b9150612b0882613398565b604082019050919050565b612b1c81612f0e565b82525050565b612b2b81612f18565b82525050565b6000612b3c82612a64565b9150819050919050565b6000602082019050612b5b60008301846128af565b92915050565b6000602082019050612b7660008301846128be565b92915050565b60006020820190508181036000830152612b9681846128cd565b905092915050565b60006020820190508181036000830152612bb781612906565b9050919050565b60006020820190508181036000830152612bd781612929565b9050919050565b60006020820190508181036000830152612bf78161294c565b9050919050565b60006020820190508181036000830152612c178161296f565b9050919050565b60006020820190508181036000830152612c3781612992565b9050919050565b60006020820190508181036000830152612c57816129b5565b9050919050565b60006020820190508181036000830152612c77816129d8565b9050919050565b60006020820190508181036000830152612c97816129fb565b9050919050565b60006020820190508181036000830152612cb781612a1e565b9050919050565b60006020820190508181036000830152612cd781612a41565b9050919050565b60006020820190508181036000830152612cf781612a87565b9050919050565b60006020820190508181036000830152612d1781612aaa565b9050919050565b60006020820190508181036000830152612d3781612acd565b9050919050565b60006020820190508181036000830152612d5781612af0565b9050919050565b6000602082019050612d736000830184612b13565b92915050565b6000602082019050612d8e6000830184612b22565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612dc682612f0e565b9150612dd183612f0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e0657612e05612f8a565b5b828201905092915050565b6000612e1c82612f0e565b9150612e2783612f0e565b925082612e3757612e36612fb9565b5b828204905092915050565b6000612e4d82612f0e565b9150612e5883612f0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e9157612e90612f8a565b5b828202905092915050565b6000612ea782612f0e565b9150612eb283612f0e565b925082821015612ec557612ec4612f8a565b5b828203905092915050565b6000612edb82612eee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612f43578082015181840152602081019050612f28565b83811115612f52576000848401525b50505050565b60006002820490506001821680612f7057607f821691505b60208210811415612f8457612f83612fe8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6133f081612ed0565b81146133fb57600080fd5b50565b61340781612f0e565b811461341257600080fd5b5056fea2646970667358221220d714df9c2d43c4a926b5c862c8146282354dd3a32f02a539035ee1a2050d424664736f6c63430008050033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000082789773da7eda0dde6342d8fecaddca69476e6a0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000094149204361706f6e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841494361706f6e65000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): AI Capone
Arg [1] : symbol (string): AICapone
Arg [2] : supply (uint256): 1000000000000000000000
Arg [3] : market (address): 0x82789773da7EDA0Dde6342d8FECaDDca69476E6A
Arg [4] : uniswap (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 00000000000000000000000000000000000000000000003635c9adc5dea00000
Arg [3] : 00000000000000000000000082789773da7eda0dde6342d8fecaddca69476e6a
Arg [4] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [6] : 4149204361706f6e650000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [8] : 41494361706f6e65000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

10399:8238:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2707:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3686:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11442:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10479:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3027:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10937:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10805:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11298:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11258;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3888:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10516:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10847:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10766:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2927:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4777:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13787:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11340:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11145:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3143:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;966:103;;;;;;;;;;;;;:::i;:::-;;11069:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;536:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11180:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2815:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10991:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5075:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10899:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3294:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13883:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11514:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13421:358;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4653:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10691:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11035:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3502:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10649:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11106:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13977:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11218:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10733:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2707:100;2761:13;2794:5;2787:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2707:100;:::o;3686:194::-;3794:4;3811:39;3820:12;:10;:12::i;:::-;3834:7;3843:6;3811:8;:39::i;:::-;3868:4;3861:11;;3686:194;;;;:::o;11442:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;10479:30::-;;;;;;;;;;;;;:::o;3027:108::-;3088:7;3115:12;;3108:19;;3027:108;:::o;10937:47::-;;;;:::o;10805:35::-;;;;:::o;11298:33::-;;;;:::o;11258:::-;;;;:::o;3888:529::-;4028:4;4045:36;4055:6;4063:9;4074:6;4045:9;:36::i;:::-;4094:24;4121:11;:19;4133:6;4121:19;;;;;;;;;;;;;;;:33;4141:12;:10;:12::i;:::-;4121:33;;;;;;;;;;;;;;;;4094:60;;4207:6;4187:16;:26;;4165:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;4317:57;4326:6;4334:12;:10;:12::i;:::-;4367:6;4348:16;:25;4317:8;:57::i;:::-;4405:4;4398:11;;;3888:529;;;;;:::o;10516:53::-;10562:6;10516:53;:::o;10847:45::-;;;;:::o;10766:32::-;;;;;;;;;;;;;:::o;2927:92::-;2985:5;3010:1;3003:8;;2927:92;:::o;4777:290::-;4890:4;4907:130;4930:12;:10;:12::i;:::-;4957:7;5016:10;4979:11;:25;4991:12;:10;:12::i;:::-;4979:25;;;;;;;;;;;;;;;:34;5005:7;4979:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4907:8;:130::i;:::-;5055:4;5048:11;;4777:290;;;;:::o;13787:88::-;13389:10;13370:29;;:15;;;;;;;;;;;:29;;;13362:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13842:25:::1;13848:10;13860:6;13842:5;:25::i;:::-;13787:88:::0;:::o;11340:34::-;;;;;;;;;;;;;:::o;11145:28::-;;;;:::o;3143:143::-;3233:7;3260:9;:18;3270:7;3260:18;;;;;;;;;;;;;;;;3253:25;;3143:143;;;:::o;966:103::-;682:12;:10;:12::i;:::-;671:23;;:7;:5;:7::i;:::-;:23;;;663:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1031:30:::1;1058:1;1031:18;:30::i;:::-;966:103::o:0;11069:30::-;;;;:::o;536:87::-;582:7;609:6;;;;;;;;;;;602:13;;536:87;:::o;11180:31::-;;;;:::o;2815:104::-;2871:13;2904:7;2897:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2815:104;:::o;10991:35::-;;;;:::o;5075:475::-;5193:4;5210:24;5237:11;:25;5249:12;:10;:12::i;:::-;5237:25;;;;;;;;;;;;;;;:34;5263:7;5237:34;;;;;;;;;;;;;;;;5210:61;;5324:15;5304:16;:35;;5282:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;5440:67;5449:12;:10;:12::i;:::-;5463:7;5491:15;5472:16;:34;5440:8;:67::i;:::-;5538:4;5531:11;;;5075:475;;;;:::o;10899:29::-;;;;:::o;3294:200::-;3405:4;3422:42;3432:12;:10;:12::i;:::-;3446:9;3457:6;3422:9;:42::i;:::-;3482:4;3475:11;;3294:200;;;;:::o;13883:86::-;13389:10;13370:29;;:15;;;;;;;;;;;:29;;;13362:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13943:18:::1;13953:7;13943:9;:18::i;:::-;13883:86:::0;:::o;11514:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;13421:358::-;13470:4;682:12;:10;:12::i;:::-;671:23;;:7;:5;:7::i;:::-;:23;;;663:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13505:1:::1;13487:15;:19;;;;13535:1;13517:15;:19;;;;13580:15;;13562;;:33;;;;:::i;:::-;13547:12;:48;;;;13622:1;13606:13;:17;;;;13653:1;13634:16;:20;;;;13700:16;;13681;;:35;;;;:::i;:::-;13665:13;:51;;;;13744:5;13727:14;;:22;;;;;;;;;;;;;;;;;;13767:4;13760:11;;13421:358:::0;:::o;4653:116::-;4723:4;4747;:14;4752:8;4747:14;;;;;;;;;;;;;;;;;;;;;;;;;4740:21;;4653:116;;;:::o;10691:35::-;;;;:::o;11035:27::-;;;;:::o;3502:176::-;3616:7;3643:11;:18;3655:5;3643:18;;;;;;;;;;;;;;;:27;3662:7;3643:27;;;;;;;;;;;;;;;;3636:34;;3502:176;;;;:::o;10649:33::-;;;;:::o;11106:30::-;;;;:::o;13977:84::-;13389:10;13370:29;;:15;;;;;;;;;;;:29;;;13362:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;14036:17:::1;14045:7;14036:8;:17::i;:::-;13977:84:::0;:::o;11218:31::-;;;;:::o;10733:24::-;;;;:::o;9128:98::-;9186:7;9217:1;9213;:5;;;;:::i;:::-;9206:12;;9128:98;;;;:::o;93:::-;146:7;173:10;166:17;;93:98;:::o;7211:380::-;7364:1;7347:19;;:5;:19;;;;7339:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7445:1;7426:21;;:7;:21;;;;7418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7529:6;7499:11;:18;7511:5;7499:18;;;;;;;;;;;;;;;:27;7518:7;7499:27;;;;;;;;;;;;;;;:36;;;;7567:7;7551:32;;7560:5;7551:32;;;7576:6;7551:32;;;;;;:::i;:::-;;;;;;;;7211:380;;;:::o;14265:3884::-;14413:1;14397:18;;:4;:18;;;;14389:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14490:1;14476:16;;:2;:16;;;;14468:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14559:1;14549:6;:11;14545:93;;;14577:28;14593:4;14599:2;14603:1;14577:15;:28::i;:::-;14620:7;;14545:93;14654:4;:8;14659:2;14654:8;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;14680:4;:10;14685:4;14680:10;;;;;;;;;;;;;;;;;;;;;;;;;14654:36;14650:97;;;14738:4;14728:14;;:6;;;;;;;;;;;:14;;;14720:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;14650:97;14772:14;;;;;;;;;;;14768:1412;;;14833:7;:5;:7::i;:::-;14825:15;;:4;:15;;;;:49;;;;;14867:7;:5;:7::i;:::-;14861:13;;:2;:13;;;;14825:49;:86;;;;;14909:1;14895:16;;:2;:16;;;;14825:86;:128;;;;;14946:6;14932:21;;:2;:21;;;;14825:128;:158;;;;;14975:8;;;;;;;;;;;14974:9;14825:158;14803:1366;;;15044:25;:31;15070:4;15044:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;15101:31;:35;15133:2;15101:35;;;;;;;;;;;;;;;;;;;;;;;;;15100:36;15044:92;15018:1136;;;15223:20;;15213:6;:30;;15179:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;15431:9;;15414:13;15424:2;15414:9;:13::i;:::-;15405:6;:22;;;;:::i;:::-;:35;;15371:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;15018:1136;;;15598:25;:29;15624:2;15598:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;15653:31;:37;15685:4;15653:37;;;;;;;;;;;;;;;;;;;;;;;;;15652:38;15598:92;15572:582;;;15777:20;;15767:6;:30;;15733:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;15572:582;;;15934:31;:35;15966:2;15934:35;;;;;;;;;;;;;;;;;;;;;;;;;15929:225;;16054:9;;16037:13;16047:2;16037:9;:13::i;:::-;16028:6;:22;;;;:::i;:::-;:35;;15994:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;15929:225;15572:582;15018:1136;14803:1366;14768:1412;16204:4;16194:14;;:6;;;;;;;;;;;:14;;;16190:1908;;;16223:28;16254:24;16272:4;16254:9;:24::i;:::-;16223:55;;16291:12;16330:18;;16306:20;:42;;16291:57;;16379:7;:33;;;;;16404:8;;;;;;;;;;;16403:9;16379:33;:82;;;;;16430:25;:31;16456:4;16430:31;;;;;;;;;;;;;;;;;;;;;;;;;16429:32;16379:82;:125;;;;;16479:19;:25;16499:4;16479:25;;;;;;;;;;;;;;;;;;;;;;;;;16478:26;16379:125;:166;;;;;16522:19;:23;16542:2;16522:23;;;;;;;;;;;;;;;;;;;;;;;;;16521:24;16379:166;16361:298;;;16583:4;16572:8;;:15;;;;;;;;;;;;;;;;;;16604:10;:8;:10::i;:::-;16642:5;16631:8;;:16;;;;;;;;;;;;;;;;;;16361:298;16690:8;;;;;;;;;;;16689:9;:55;;;;;16715:25;:29;16741:2;16715:29;;;;;;;;;;;;;;;;;;;;;;;;;16689:55;:85;;;;;16761:13;;;;;;;;;;;16689:85;:153;;;;;16827:15;;16810:14;;:32;;;;:::i;:::-;16791:15;:51;;16689:153;:196;;;;;16860:19;:25;16880:4;16860:25;;;;;;;;;;;;;;;;;;;;;;;;;16859:26;16689:196;16671:238;16921:12;16937:8;;;;;;;;;;;16936:9;16921:24;;17047:19;:25;17067:4;17047:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;17076:19;:23;17096:2;17076:23;;;;;;;;;;;;;;;;;;;;;;;;;17047:52;17043:100;;;17126:5;17116:15;;17043:100;17155:12;17260:7;17256:831;;;17312:25;:29;17338:2;17312:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;17361:1;17345:13;;:17;17312:50;17308:630;;;17390:34;17420:3;17390:25;17401:13;;17390:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;17383:41;;17493:13;;17473:16;;17466:4;:23;;;;:::i;:::-;17465:41;;;;:::i;:::-;17443:18;;:63;;;;;;;:::i;:::-;;;;;;;;17575:13;;17555:16;;17548:4;:23;;;;:::i;:::-;17547:41;;;;:::i;:::-;17525:18;;:63;;;;;;;:::i;:::-;;;;;;;;17308:630;;;17650:25;:31;17676:4;17650:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;17700:1;17685:12;;:16;17650:51;17646:292;;;17729:33;17758:3;17729:24;17740:12;;17729:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;17722:40;;17830:12;;17811:15;;17804:4;:22;;;;:::i;:::-;17803:39;;;;:::i;:::-;17781:18;;:61;;;;;;;:::i;:::-;;;;;;;;17910:12;;17891:15;;17884:4;:22;;;;:::i;:::-;17883:39;;;;:::i;:::-;17861:18;;:61;;;;;;;:::i;:::-;;;;;;;;17646:292;17308:630;17965:1;17958:4;:8;17954:91;;;17987:42;18003:4;18017;18024;17987:15;:42::i;:::-;17954:91;18071:4;18061:14;;;;;:::i;:::-;;;17256:831;16210:1888;;;;16190:1908;18108:33;18124:4;18130:2;18134:6;18108:15;:33::i;:::-;14265:3884;;;;:::o;6747:452::-;6850:1;6831:21;;:7;:21;;;;6823:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6911:22;6936:9;:18;6946:7;6936:18;;;;;;;;;;;;;;;;6911:43;;6991:6;6973:14;:24;;6965:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7079:6;7068:8;;:17;;;;:::i;:::-;7047:9;:18;7057:7;7047:18;;;;;;;;;;;;;;;:38;;;;7122:6;7106:12;;:22;;;;;;;:::i;:::-;;;;;;;;7180:1;7154:37;;7163:7;7154:37;;;7184:6;7154:37;;;;;;:::i;:::-;;;;;;;;6812:387;6747:452;;:::o;763:191::-;837:16;856:6;;;;;;;;;;;837:25;;882:8;873:6;;:17;;;;;;;;;;;;;;;;;;937:8;906:40;;927:8;906:40;;;;;;;;;;;;826:128;763:191;:::o;4431:102::-;4521:4;4504;:14;4509:8;4504:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;4431:102;:::o;4542:::-;4631:5;4614:4;:14;4619:8;4614:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4542:102;:::o;5558:770::-;5716:1;5698:20;;:6;:20;;;;5690:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5800:1;5779:23;;:9;:23;;;;5771:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5855:47;5876:6;5884:9;5895:6;5855:20;:47::i;:::-;5915:21;5939:9;:17;5949:6;5939:17;;;;;;;;;;;;;;;;5915:41;;6006:6;5989:13;:23;;5967:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6150:6;6134:13;:22;6114:9;:17;6124:6;6114:17;;;;;;;;;;;;;;;:42;;;;6202:6;6178:9;:20;6188:9;6178:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6243:9;6226:35;;6235:6;6226:35;;;6254:6;6226:35;;;;;;:::i;:::-;;;;;;;;6274:46;6294:6;6302:9;6313:6;6274:19;:46::i;:::-;5679:649;5558:770;;;:::o;18157:477::-;18196:23;18222:24;18240:4;18222:9;:24::i;:::-;18196:50;;18257:25;18306:18;;18285;;:39;;;;:::i;:::-;18257:67;;18335:12;18383:1;18364:15;:20;:46;;;;18409:1;18388:17;:22;18364:46;18360:85;;;18427:7;;;;;18360:85;18478:1;18457:18;:22;;;;18511:1;18490:18;:22;;;;18547:15;;;;;;;;;;;18539:29;;18590:21;18539:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18525:101;;;;;18185:449;;;18157:477;:::o;9340:98::-;9398:7;9429:1;9425;:5;;;;:::i;:::-;9418:12;;9340:98;;;;:::o;9446:::-;9504:7;9535:1;9531;:5;;;;:::i;:::-;9524:12;;9446:98;;;;:::o;7599:125::-;;;;:::o;7732:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;411:79;;:::i;:::-;373:2;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;363:263;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:2;;;763:79;;:::i;:::-;725:2;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;715:391;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:2;;;1260:79;;:::i;:::-;1222:2;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1212:519;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;1868:79;;:::i;:::-;1830:2;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1820:391;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2331:79;;:::i;:::-;2293:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2283:263;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2617:53;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2735:50;;:::o;2791:364::-;2879:3;2907:39;2940:5;2907:39;:::i;:::-;2962:71;3026:6;3021:3;2962:71;:::i;:::-;2955:78;;3042:52;3087:6;3082:3;3075:4;3068:5;3064:16;3042:52;:::i;:::-;3119:29;3141:6;3119:29;:::i;:::-;3114:3;3110:39;3103:46;;2883:272;;;;;:::o;3161:366::-;3303:3;3324:67;3388:2;3383:3;3324:67;:::i;:::-;3317:74;;3400:93;3489:3;3400:93;:::i;:::-;3518:2;3513:3;3509:12;3502:19;;3307:220;;;:::o;3533:366::-;3675:3;3696:67;3760:2;3755:3;3696:67;:::i;:::-;3689:74;;3772:93;3861:3;3772:93;:::i;:::-;3890:2;3885:3;3881:12;3874:19;;3679:220;;;:::o;3905:366::-;4047:3;4068:67;4132:2;4127:3;4068:67;:::i;:::-;4061:74;;4144:93;4233:3;4144:93;:::i;:::-;4262:2;4257:3;4253:12;4246:19;;4051:220;;;:::o;4277:366::-;4419:3;4440:67;4504:2;4499:3;4440:67;:::i;:::-;4433:74;;4516:93;4605:3;4516:93;:::i;:::-;4634:2;4629:3;4625:12;4618:19;;4423:220;;;:::o;4649:366::-;4791:3;4812:67;4876:2;4871:3;4812:67;:::i;:::-;4805:74;;4888:93;4977:3;4888:93;:::i;:::-;5006:2;5001:3;4997:12;4990:19;;4795:220;;;:::o;5021:366::-;5163:3;5184:67;5248:2;5243:3;5184:67;:::i;:::-;5177:74;;5260:93;5349:3;5260:93;:::i;:::-;5378:2;5373:3;5369:12;5362:19;;5167:220;;;:::o;5393:366::-;5535:3;5556:67;5620:2;5615:3;5556:67;:::i;:::-;5549:74;;5632:93;5721:3;5632:93;:::i;:::-;5750:2;5745:3;5741:12;5734:19;;5539:220;;;:::o;5765:366::-;5907:3;5928:67;5992:2;5987:3;5928:67;:::i;:::-;5921:74;;6004:93;6093:3;6004:93;:::i;:::-;6122:2;6117:3;6113:12;6106:19;;5911:220;;;:::o;6137:366::-;6279:3;6300:67;6364:2;6359:3;6300:67;:::i;:::-;6293:74;;6376:93;6465:3;6376:93;:::i;:::-;6494:2;6489:3;6485:12;6478:19;;6283:220;;;:::o;6509:366::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6655:220;;;:::o;6881:398::-;7040:3;7061:83;7142:1;7137:3;7061:83;:::i;:::-;7054:90;;7153:93;7242:3;7153:93;:::i;:::-;7271:1;7266:3;7262:11;7255:18;;7044:235;;;:::o;7285:364::-;7427:3;7448:66;7512:1;7507:3;7448:66;:::i;:::-;7441:73;;7523:93;7612:3;7523:93;:::i;:::-;7641:1;7636:3;7632:11;7625:18;;7431:218;;;:::o;7655:366::-;7797:3;7818:67;7882:2;7877:3;7818:67;:::i;:::-;7811:74;;7894:93;7983:3;7894:93;:::i;:::-;8012:2;8007:3;8003:12;7996:19;;7801:220;;;:::o;8027:366::-;8169:3;8190:67;8254:2;8249:3;8190:67;:::i;:::-;8183:74;;8266:93;8355:3;8266:93;:::i;:::-;8384:2;8379:3;8375:12;8368:19;;8173:220;;;:::o;8399:366::-;8541:3;8562:67;8626:2;8621:3;8562:67;:::i;:::-;8555:74;;8638:93;8727:3;8638:93;:::i;:::-;8756:2;8751:3;8747:12;8740:19;;8545:220;;;:::o;8771:118::-;8858:24;8876:5;8858:24;:::i;:::-;8853:3;8846:37;8836:53;;:::o;8895:112::-;8978:22;8994:5;8978:22;:::i;:::-;8973:3;8966:35;8956:51;;:::o;9013:379::-;9197:3;9219:147;9362:3;9219:147;:::i;:::-;9212:154;;9383:3;9376:10;;9201:191;;;:::o;9398:222::-;9491:4;9529:2;9518:9;9514:18;9506:26;;9542:71;9610:1;9599:9;9595:17;9586:6;9542:71;:::i;:::-;9496:124;;;;:::o;9626:210::-;9713:4;9751:2;9740:9;9736:18;9728:26;;9764:65;9826:1;9815:9;9811:17;9802:6;9764:65;:::i;:::-;9718:118;;;;:::o;9842:313::-;9955:4;9993:2;9982:9;9978:18;9970:26;;10042:9;10036:4;10032:20;10028:1;10017:9;10013:17;10006:47;10070:78;10143:4;10134:6;10070:78;:::i;:::-;10062:86;;9960:195;;;;:::o;10161:419::-;10327:4;10365:2;10354:9;10350:18;10342:26;;10414:9;10408:4;10404:20;10400:1;10389:9;10385:17;10378:47;10442:131;10568:4;10442:131;:::i;:::-;10434:139;;10332:248;;;:::o;10586:419::-;10752:4;10790:2;10779:9;10775:18;10767:26;;10839:9;10833:4;10829:20;10825:1;10814:9;10810:17;10803:47;10867:131;10993:4;10867:131;:::i;:::-;10859:139;;10757:248;;;:::o;11011:419::-;11177:4;11215:2;11204:9;11200:18;11192:26;;11264:9;11258:4;11254:20;11250:1;11239:9;11235:17;11228:47;11292:131;11418:4;11292:131;:::i;:::-;11284:139;;11182:248;;;:::o;11436:419::-;11602:4;11640:2;11629:9;11625:18;11617:26;;11689:9;11683:4;11679:20;11675:1;11664:9;11660:17;11653:47;11717:131;11843:4;11717:131;:::i;:::-;11709:139;;11607:248;;;:::o;11861:419::-;12027:4;12065:2;12054:9;12050:18;12042:26;;12114:9;12108:4;12104:20;12100:1;12089:9;12085:17;12078:47;12142:131;12268:4;12142:131;:::i;:::-;12134:139;;12032:248;;;:::o;12286:419::-;12452:4;12490:2;12479:9;12475:18;12467:26;;12539:9;12533:4;12529:20;12525:1;12514:9;12510:17;12503:47;12567:131;12693:4;12567:131;:::i;:::-;12559:139;;12457:248;;;:::o;12711:419::-;12877:4;12915:2;12904:9;12900:18;12892:26;;12964:9;12958:4;12954:20;12950:1;12939:9;12935:17;12928:47;12992:131;13118:4;12992:131;:::i;:::-;12984:139;;12882:248;;;:::o;13136:419::-;13302:4;13340:2;13329:9;13325:18;13317:26;;13389:9;13383:4;13379:20;13375:1;13364:9;13360:17;13353:47;13417:131;13543:4;13417:131;:::i;:::-;13409:139;;13307:248;;;:::o;13561:419::-;13727:4;13765:2;13754:9;13750:18;13742:26;;13814:9;13808:4;13804:20;13800:1;13789:9;13785:17;13778:47;13842:131;13968:4;13842:131;:::i;:::-;13834:139;;13732:248;;;:::o;13986:419::-;14152:4;14190:2;14179:9;14175:18;14167:26;;14239:9;14233:4;14229:20;14225:1;14214:9;14210:17;14203:47;14267:131;14393:4;14267:131;:::i;:::-;14259:139;;14157:248;;;:::o;14411:419::-;14577:4;14615:2;14604:9;14600:18;14592:26;;14664:9;14658:4;14654:20;14650:1;14639:9;14635:17;14628:47;14692:131;14818:4;14692:131;:::i;:::-;14684:139;;14582:248;;;:::o;14836:419::-;15002:4;15040:2;15029:9;15025:18;15017:26;;15089:9;15083:4;15079:20;15075:1;15064:9;15060:17;15053:47;15117:131;15243:4;15117:131;:::i;:::-;15109:139;;15007:248;;;:::o;15261:419::-;15427:4;15465:2;15454:9;15450:18;15442:26;;15514:9;15508:4;15504:20;15500:1;15489:9;15485:17;15478:47;15542:131;15668:4;15542:131;:::i;:::-;15534:139;;15432:248;;;:::o;15686:419::-;15852:4;15890:2;15879:9;15875:18;15867:26;;15939:9;15933:4;15929:20;15925:1;15914:9;15910:17;15903:47;15967:131;16093:4;15967:131;:::i;:::-;15959:139;;15857:248;;;:::o;16111:222::-;16204:4;16242:2;16231:9;16227:18;16219:26;;16255:71;16323:1;16312:9;16308:17;16299:6;16255:71;:::i;:::-;16209:124;;;;:::o;16339:214::-;16428:4;16466:2;16455:9;16451:18;16443:26;;16479:67;16543:1;16532:9;16528:17;16519:6;16479:67;:::i;:::-;16433:120;;;;:::o;16640:99::-;16692:6;16726:5;16720:12;16710:22;;16699:40;;;:::o;16745:147::-;16846:11;16883:3;16868:18;;16858:34;;;;:::o;16898:169::-;16982:11;17016:6;17011:3;17004:19;17056:4;17051:3;17047:14;17032:29;;16994:73;;;;:::o;17073:305::-;17113:3;17132:20;17150:1;17132:20;:::i;:::-;17127:25;;17166:20;17184:1;17166:20;:::i;:::-;17161:25;;17320:1;17252:66;17248:74;17245:1;17242:81;17239:2;;;17326:18;;:::i;:::-;17239:2;17370:1;17367;17363:9;17356:16;;17117:261;;;;:::o;17384:185::-;17424:1;17441:20;17459:1;17441:20;:::i;:::-;17436:25;;17475:20;17493:1;17475:20;:::i;:::-;17470:25;;17514:1;17504:2;;17519:18;;:::i;:::-;17504:2;17561:1;17558;17554:9;17549:14;;17426:143;;;;:::o;17575:348::-;17615:7;17638:20;17656:1;17638:20;:::i;:::-;17633:25;;17672:20;17690:1;17672:20;:::i;:::-;17667:25;;17860:1;17792:66;17788:74;17785:1;17782:81;17777:1;17770:9;17763:17;17759:105;17756:2;;;17867:18;;:::i;:::-;17756:2;17915:1;17912;17908:9;17897:20;;17623:300;;;;:::o;17929:191::-;17969:4;17989:20;18007:1;17989:20;:::i;:::-;17984:25;;18023:20;18041:1;18023:20;:::i;:::-;18018:25;;18062:1;18059;18056:8;18053:2;;;18067:18;;:::i;:::-;18053:2;18112:1;18109;18105:9;18097:17;;17974:146;;;;:::o;18126:96::-;18163:7;18192:24;18210:5;18192:24;:::i;:::-;18181:35;;18171:51;;;:::o;18228:90::-;18262:7;18305:5;18298:13;18291:21;18280:32;;18270:48;;;:::o;18324:126::-;18361:7;18401:42;18394:5;18390:54;18379:65;;18369:81;;;:::o;18456:77::-;18493:7;18522:5;18511:16;;18501:32;;;:::o;18539:86::-;18574:7;18614:4;18607:5;18603:16;18592:27;;18582:43;;;:::o;18631:307::-;18699:1;18709:113;18723:6;18720:1;18717:13;18709:113;;;18808:1;18803:3;18799:11;18793:18;18789:1;18784:3;18780:11;18773:39;18745:2;18742:1;18738:10;18733:15;;18709:113;;;18840:6;18837:1;18834:13;18831:2;;;18920:1;18911:6;18906:3;18902:16;18895:27;18831:2;18680:258;;;;:::o;18944:320::-;18988:6;19025:1;19019:4;19015:12;19005:22;;19072:1;19066:4;19062:12;19093:18;19083:2;;19149:4;19141:6;19137:17;19127:27;;19083:2;19211;19203:6;19200:14;19180:18;19177:38;19174:2;;;19230:18;;:::i;:::-;19174:2;18995:269;;;;:::o;19270:180::-;19318:77;19315:1;19308:88;19415:4;19412:1;19405:15;19439:4;19436:1;19429:15;19456:180;19504:77;19501:1;19494:88;19601:4;19598:1;19591:15;19625:4;19622:1;19615:15;19642:180;19690:77;19687:1;19680:88;19787:4;19784:1;19777:15;19811:4;19808:1;19801:15;19951:117;20060:1;20057;20050:12;20074:102;20115:6;20166:2;20162:7;20157:2;20150:5;20146:14;20142:28;20132:38;;20122:54;;;:::o;20182:222::-;20322:34;20318:1;20310:6;20306:14;20299:58;20391:5;20386:2;20378:6;20374:15;20367:30;20288:116;:::o;20410:221::-;20550:34;20546:1;20538:6;20534:14;20527:58;20619:4;20614:2;20606:6;20602:15;20595:29;20516:115;:::o;20637:221::-;20777:34;20773:1;20765:6;20761:14;20754:58;20846:4;20841:2;20833:6;20829:15;20822:29;20743:115;:::o;20864:225::-;21004:34;21000:1;20992:6;20988:14;20981:58;21073:8;21068:2;21060:6;21056:15;21049:33;20970:119;:::o;21095:241::-;21235:34;21231:1;21223:6;21219:14;21212:58;21304:24;21299:2;21291:6;21287:15;21280:49;21201:135;:::o;21342:240::-;21482:34;21478:1;21470:6;21466:14;21459:58;21551:23;21546:2;21538:6;21534:15;21527:48;21448:134;:::o;21588:227::-;21728:34;21724:1;21716:6;21712:14;21705:58;21797:10;21792:2;21784:6;21780:15;21773:35;21694:121;:::o;21821:182::-;21961:34;21957:1;21949:6;21945:14;21938:58;21927:76;:::o;22009:220::-;22149:34;22145:1;22137:6;22133:14;22126:58;22218:3;22213:2;22205:6;22201:15;22194:28;22115:114;:::o;22235:224::-;22375:34;22371:1;22363:6;22359:14;22352:58;22444:7;22439:2;22431:6;22427:15;22420:32;22341:118;:::o;22465:114::-;22571:8;:::o;22585:223::-;22725:34;22721:1;22713:6;22709:14;22702:58;22794:6;22789:2;22781:6;22777:15;22770:31;22691:117;:::o;22814:169::-;22954:21;22950:1;22942:6;22938:14;22931:45;22920:63;:::o;22989:224::-;23129:34;23125:1;23117:6;23113:14;23106:58;23198:7;23193:2;23185:6;23181:15;23174:32;23095:118;:::o;23219:122::-;23292:24;23310:5;23292:24;:::i;:::-;23285:5;23282:35;23272:2;;23331:1;23328;23321:12;23272:2;23262:79;:::o;23347:122::-;23420:24;23438:5;23420:24;:::i;:::-;23413:5;23410:35;23400:2;;23459:1;23456;23449:12;23400:2;23390:79;:::o

Swarm Source

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