ETH Price: $3,410.41 (+2.71%)

Token

ChartAI (EYE)
 

Overview

Max Total Supply

1,000,000,000 EYE

Holders

945 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (+18.24%)

Onchain Market Cap

$2,913,020.00

Circulating Supply Market Cap

$2,913,016.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000 EYE

Value
$2.91 ( ~0.00085326995687263 Eth) [0.0001%]
0x3ef0f66b61ba57304f1bb2349c23b1fda39b40d1
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Introducing ChartAI: Where trends can shift in the blink of an eye, having access to accurate and real-time data is crucial for making informed decisions. Enter ChartAI, the cryptocurrency tool that harnesses the power of AI to bring you instant and personalized charting within your Telegram chat.

# Exchange Pair Price  24H Volume % Volume
1
Uniswap V2 (Ethereum)
0XB146823FB8EA064D14BA1A52E3E55CDE09AFFF2D-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.0029
0.0000009 Eth
$11,989.92
4,303,407.908 0XB146823FB8EA064D14BA1A52E3E55CDE09AFFF2D
100.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
EYEToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2024-07-17
*/

/**

     
Welcome to ChartAI - Unleash the Power of Data Visualization with our Ultimate Charting Bot.

Website: https://chartai.tech
Twitter: https://x.com/chartai_erc
Telegram: https://t.me/chartai_portal                                           //

**/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.18;

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

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
    );
}

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract EYEToken is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 1_000_000_000e18;
    uint256 private constant minSwap = 250_000e18;
    uint256 private constant onePercent = 10_000_000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;

    string private constant _name = "ChartAI";
    string private constant _symbol = "EYE";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 0;
        sellTax = 50;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0xCCCA95EBAF66002E0C2F4bc3B7D3F2c997609255);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function addExcludedWalletMany(address[] calldata wallets) external onlyOwner {
        for(uint i = 0; i < wallets.length; i++) {
            _isExcludedFromFeeWallet[wallets[i]] = true;
        }
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0,
                "Launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > onePercent) {
                        tokensToSwap = onePercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}

    function recoverTokens(address token) external onlyOwner {
        if (token == address(0))
            payable(msg.sender).transfer(address(this).balance);
        else
            IERC20(token).transfer(
                msg.sender,
                IERC20(token).balanceOf(address(this))
            );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"addExcludedWalletMany","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101006040523480156200001257600080fd5b506000620000256200070360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000159573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017f919062000775565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506000600281905550603260038190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000236919062000775565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b815260040162000274929190620007b8565b6020604051808303816000875af115801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba919062000775565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505073ccca95ebaf66002e0c2f4bc3b7d3f2c99760925573ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506b033b2e3c9fd0803ce8000000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016008600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6007600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200068a6200070360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051620006f5919062000800565b60405180910390a36200081d565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200073d8262000710565b9050919050565b6200074f8162000730565b81146200075b57600080fd5b50565b6000815190506200076f8162000744565b92915050565b6000602082840312156200078e576200078d6200070b565b5b60006200079e848285016200075e565b91505092915050565b620007b28162000730565b82525050565b6000604082019050620007cf6000830185620007a7565b620007de6020830184620007a7565b9392505050565b6000819050919050565b620007fa81620007e5565b82525050565b6000602082019050620008176000830184620007ef565b92915050565b60805160a05160c05160e0516127126200085e600039600061160a0152600061155b01526000818161135c01526113b9015260006115ca01526127126000f3fe6080604052600436106101185760003560e01c80638da5cb5b116100a0578063cc1776d311610064578063cc1776d31461039a578063d1886145146103c5578063dba9d420146103ee578063dd62ed3e14610417578063f2fde38b146104545761011f565b80638da5cb5b146102c75780639036ed4d146102f257806395d89b411461031b578063a9059cbb14610346578063c9567bf9146103835761011f565b806323b872dd116100e757806323b872dd146101e0578063313ce5671461021d5780634f7041a51461024857806370a0823114610273578063715018a6146102b05761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961047d565b6040516101469190611b88565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611c48565b6104ba565b6040516101839190611ca3565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611cbe565b6104d8565b005b3480156101c157600080fd5b506101ca6106e9565b6040516101d79190611cfa565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190611d15565b6106fd565b6040516102149190611ca3565b60405180910390f35b34801561022957600080fd5b506102326107b5565b60405161023f9190611d84565b60405180910390f35b34801561025457600080fd5b5061025d6107be565b60405161026a9190611cfa565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190611cbe565b6107c4565b6040516102a79190611cfa565b60405180910390f35b3480156102bc57600080fd5b506102c561080d565b005b3480156102d357600080fd5b506102dc610960565b6040516102e99190611dae565b60405180910390f35b3480156102fe57600080fd5b5061031960048036038101906103149190611dc9565b610989565b005b34801561032757600080fd5b50610330610a30565b60405161033d9190611b88565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190611c48565b610a6d565b60405161037a9190611ca3565b60405180910390f35b34801561038f57600080fd5b50610398610a8b565b005b3480156103a657600080fd5b506103af610b45565b6040516103bc9190611cfa565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190611e6e565b610b4b565b005b3480156103fa57600080fd5b5061041560048036038101906104109190611cbe565b610c85565b005b34801561042357600080fd5b5061043e60048036038101906104399190611ebb565b610d75565b60405161044b9190611cfa565b60405180910390f35b34801561046057600080fd5b5061047b60048036038101906104769190611cbe565b610dfc565b005b60606040518060400160405280600781526020017f4368617274414900000000000000000000000000000000000000000000000000815250905090565b60006104ce6104c7610e9d565b8484610ea5565b6001905092915050565b6104e0610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056490611f47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105ed573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105e7573d6000803e3d6000fd5b506106e6565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106439190611dae565b602060405180830381865afa158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190611f7c565b6040518363ffffffff1660e01b81526004016106a1929190611fa9565b6020604051808303816000875af11580156106c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e49190611ffe565b505b50565b60006b033b2e3c9fd0803ce8000000905090565b600061070a84848461106e565b6107aa84610716610e9d565b84600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610760610e9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107a5919061205a565b610ea5565b600190509392505050565b60006012905090565b60025481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610815610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990611f47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610991610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590611f47565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600381526020017f4559450000000000000000000000000000000000000000000000000000000000815250905090565b6000610a81610a7a610e9d565b848461106e565b6001905092915050565b610a93610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611f47565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610b53610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790611f47565b60405180910390fd5b60005b82829050811015610c8057600160086000858585818110610c0757610c0661208e565b5b9050602002016020810190610c1c9190611cbe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c78906120bd565b915050610be3565b505050565b610c8d610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190611f47565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e04610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890611f47565b60405180910390fd5b610e9a816119cc565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612177565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a90612209565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110619190611cfa565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d49061229b565b60405180910390fd5b633b9aca008111611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612307565b60405180910390fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111c65750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111d457600090506116ac565b6000600460009054906101000a900460ff1660ff1603611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090612373565b60405180910390fd5b6001600460019054906101000a900460ff1660ff160361135a5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611292919061205a565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112e89190612393565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161134c9190611cfa565b60405180910390a3506119c7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113b75760025490506116ab565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a5576000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506934f086f3b33b684000008111801561147957506000600460019054906101000a900460ff1660ff16145b1561169a576a084595161401484a0000008111156114a0576a084595161401484a00000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156114d9576114d86123c7565b5b6040519080825280602002602001820160405280156115075781602001602082028036833780820191505090505b509050308160008151811061151f5761151e61208e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061158e5761158d61208e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b815260040161164a95949392919061254e565b600060405180830381600087803b15801561166457600080fd5b505af1158015611678573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b6003549150506116aa565b600090505b5b5b600081146118b3576000606482846116c491906125a8565b6116ce9190612619565b9050600081846116de919061205a565b905083600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172f919061205a565b9250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117859190612393565b9250508190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117db9190612393565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183f9190611cfa565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a49190611cfa565b60405180910390a350506119c5565b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611902919061205a565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119589190612393565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119bc9190611cfa565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a32906126bc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b32578082015181840152602081019050611b17565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b5a82611af8565b611b648185611b03565b9350611b74818560208601611b14565b611b7d81611b3e565b840191505092915050565b60006020820190508181036000830152611ba28184611b4f565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611bdf82611bb4565b9050919050565b611bef81611bd4565b8114611bfa57600080fd5b50565b600081359050611c0c81611be6565b92915050565b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b60008060408385031215611c5f57611c5e611baa565b5b6000611c6d85828601611bfd565b9250506020611c7e85828601611c33565b9150509250929050565b60008115159050919050565b611c9d81611c88565b82525050565b6000602082019050611cb86000830184611c94565b92915050565b600060208284031215611cd457611cd3611baa565b5b6000611ce284828501611bfd565b91505092915050565b611cf481611c12565b82525050565b6000602082019050611d0f6000830184611ceb565b92915050565b600080600060608486031215611d2e57611d2d611baa565b5b6000611d3c86828701611bfd565b9350506020611d4d86828701611bfd565b9250506040611d5e86828701611c33565b9150509250925092565b600060ff82169050919050565b611d7e81611d68565b82525050565b6000602082019050611d996000830184611d75565b92915050565b611da881611bd4565b82525050565b6000602082019050611dc36000830184611d9f565b92915050565b60008060408385031215611de057611ddf611baa565b5b6000611dee85828601611c33565b9250506020611dff85828601611c33565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e2e57611e2d611e09565b5b8235905067ffffffffffffffff811115611e4b57611e4a611e0e565b5b602083019150836020820283011115611e6757611e66611e13565b5b9250929050565b60008060208385031215611e8557611e84611baa565b5b600083013567ffffffffffffffff811115611ea357611ea2611baf565b5b611eaf85828601611e18565b92509250509250929050565b60008060408385031215611ed257611ed1611baa565b5b6000611ee085828601611bfd565b9250506020611ef185828601611bfd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f31602083611b03565b9150611f3c82611efb565b602082019050919050565b60006020820190508181036000830152611f6081611f24565b9050919050565b600081519050611f7681611c1c565b92915050565b600060208284031215611f9257611f91611baa565b5b6000611fa084828501611f67565b91505092915050565b6000604082019050611fbe6000830185611d9f565b611fcb6020830184611ceb565b9392505050565b611fdb81611c88565b8114611fe657600080fd5b50565b600081519050611ff881611fd2565b92915050565b60006020828403121561201457612013611baa565b5b600061202284828501611fe9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061206582611c12565b915061207083611c12565b92508282039050818111156120885761208761202b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006120c882611c12565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120fa576120f961202b565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612161602483611b03565b915061216c82612105565b604082019050919050565b6000602082019050818103600083015261219081612154565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121f3602283611b03565b91506121fe82612197565b604082019050919050565b60006020820190508181036000830152612222816121e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612285602583611b03565b915061229082612229565b604082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b60006122f1601083611b03565b91506122fc826122bb565b602082019050919050565b60006020820190508181036000830152612320816122e4565b9050919050565b7f4c61756e63680000000000000000000000000000000000000000000000000000600082015250565b600061235d600683611b03565b915061236882612327565b602082019050919050565b6000602082019050818103600083015261238c81612350565b9050919050565b600061239e82611c12565b91506123a983611c12565b92508282019050808211156123c1576123c061202b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b600061242561242061241b846123f6565b612400565b611c12565b9050919050565b6124358161240a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61247081611bd4565b82525050565b60006124828383612467565b60208301905092915050565b6000602082019050919050565b60006124a68261243b565b6124b08185612446565b93506124bb83612457565b8060005b838110156124ec5781516124d38882612476565b97506124de8361248e565b9250506001810190506124bf565b5085935050505092915050565b600061251461250f61250a84611bb4565b612400565b611bb4565b9050919050565b6000612526826124f9565b9050919050565b60006125388261251b565b9050919050565b6125488161252d565b82525050565b600060a0820190506125636000830188611ceb565b612570602083018761242c565b8181036040830152612582818661249b565b9050612591606083018561253f565b61259e6080830184611ceb565b9695505050505050565b60006125b382611c12565b91506125be83611c12565b92508282026125cc81611c12565b915082820484148315176125e3576125e261202b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262482611c12565b915061262f83611c12565b92508261263f5761263e6125ea565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126a6602683611b03565b91506126b18261264a565b604082019050919050565b600060208201905081810360008301526126d581612699565b905091905056fea264697066735822122035b859eee6f893de26a86819fced64afca46e171bdbef8af5c91fff17f61882164736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80638da5cb5b116100a0578063cc1776d311610064578063cc1776d31461039a578063d1886145146103c5578063dba9d420146103ee578063dd62ed3e14610417578063f2fde38b146104545761011f565b80638da5cb5b146102c75780639036ed4d146102f257806395d89b411461031b578063a9059cbb14610346578063c9567bf9146103835761011f565b806323b872dd116100e757806323b872dd146101e0578063313ce5671461021d5780634f7041a51461024857806370a0823114610273578063715018a6146102b05761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961047d565b6040516101469190611b88565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611c48565b6104ba565b6040516101839190611ca3565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611cbe565b6104d8565b005b3480156101c157600080fd5b506101ca6106e9565b6040516101d79190611cfa565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190611d15565b6106fd565b6040516102149190611ca3565b60405180910390f35b34801561022957600080fd5b506102326107b5565b60405161023f9190611d84565b60405180910390f35b34801561025457600080fd5b5061025d6107be565b60405161026a9190611cfa565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190611cbe565b6107c4565b6040516102a79190611cfa565b60405180910390f35b3480156102bc57600080fd5b506102c561080d565b005b3480156102d357600080fd5b506102dc610960565b6040516102e99190611dae565b60405180910390f35b3480156102fe57600080fd5b5061031960048036038101906103149190611dc9565b610989565b005b34801561032757600080fd5b50610330610a30565b60405161033d9190611b88565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190611c48565b610a6d565b60405161037a9190611ca3565b60405180910390f35b34801561038f57600080fd5b50610398610a8b565b005b3480156103a657600080fd5b506103af610b45565b6040516103bc9190611cfa565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190611e6e565b610b4b565b005b3480156103fa57600080fd5b5061041560048036038101906104109190611cbe565b610c85565b005b34801561042357600080fd5b5061043e60048036038101906104399190611ebb565b610d75565b60405161044b9190611cfa565b60405180910390f35b34801561046057600080fd5b5061047b60048036038101906104769190611cbe565b610dfc565b005b60606040518060400160405280600781526020017f4368617274414900000000000000000000000000000000000000000000000000815250905090565b60006104ce6104c7610e9d565b8484610ea5565b6001905092915050565b6104e0610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056490611f47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105ed573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105e7573d6000803e3d6000fd5b506106e6565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106439190611dae565b602060405180830381865afa158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190611f7c565b6040518363ffffffff1660e01b81526004016106a1929190611fa9565b6020604051808303816000875af11580156106c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e49190611ffe565b505b50565b60006b033b2e3c9fd0803ce8000000905090565b600061070a84848461106e565b6107aa84610716610e9d565b84600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610760610e9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107a5919061205a565b610ea5565b600190509392505050565b60006012905090565b60025481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610815610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990611f47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610991610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590611f47565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600381526020017f4559450000000000000000000000000000000000000000000000000000000000815250905090565b6000610a81610a7a610e9d565b848461106e565b6001905092915050565b610a93610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611f47565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610b53610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790611f47565b60405180910390fd5b60005b82829050811015610c8057600160086000858585818110610c0757610c0661208e565b5b9050602002016020810190610c1c9190611cbe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c78906120bd565b915050610be3565b505050565b610c8d610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190611f47565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e04610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890611f47565b60405180910390fd5b610e9a816119cc565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612177565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a90612209565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110619190611cfa565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d49061229b565b60405180910390fd5b633b9aca008111611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612307565b60405180910390fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111c65750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111d457600090506116ac565b6000600460009054906101000a900460ff1660ff1603611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090612373565b60405180910390fd5b6001600460019054906101000a900460ff1660ff160361135a5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611292919061205a565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112e89190612393565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161134c9190611cfa565b60405180910390a3506119c7565b7f000000000000000000000000b6d5905da55c030ec74efc95143b221a1f59c6f873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113b75760025490506116ab565b7f000000000000000000000000b6d5905da55c030ec74efc95143b221a1f59c6f873ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a5576000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506934f086f3b33b684000008111801561147957506000600460019054906101000a900460ff1660ff16145b1561169a576a084595161401484a0000008111156114a0576a084595161401484a00000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156114d9576114d86123c7565b5b6040519080825280602002602001820160405280156115075781602001602082028036833780820191505090505b509050308160008151811061151f5761151e61208e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061158e5761158d61208e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f000000000000000000000000ccca95ebaf66002e0c2f4bc3b7d3f2c997609255426040518663ffffffff1660e01b815260040161164a95949392919061254e565b600060405180830381600087803b15801561166457600080fd5b505af1158015611678573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b6003549150506116aa565b600090505b5b5b600081146118b3576000606482846116c491906125a8565b6116ce9190612619565b9050600081846116de919061205a565b905083600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172f919061205a565b9250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117859190612393565b9250508190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117db9190612393565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183f9190611cfa565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a49190611cfa565b60405180910390a350506119c5565b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611902919061205a565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119589190612393565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119bc9190611cfa565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a32906126bc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b32578082015181840152602081019050611b17565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b5a82611af8565b611b648185611b03565b9350611b74818560208601611b14565b611b7d81611b3e565b840191505092915050565b60006020820190508181036000830152611ba28184611b4f565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611bdf82611bb4565b9050919050565b611bef81611bd4565b8114611bfa57600080fd5b50565b600081359050611c0c81611be6565b92915050565b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b60008060408385031215611c5f57611c5e611baa565b5b6000611c6d85828601611bfd565b9250506020611c7e85828601611c33565b9150509250929050565b60008115159050919050565b611c9d81611c88565b82525050565b6000602082019050611cb86000830184611c94565b92915050565b600060208284031215611cd457611cd3611baa565b5b6000611ce284828501611bfd565b91505092915050565b611cf481611c12565b82525050565b6000602082019050611d0f6000830184611ceb565b92915050565b600080600060608486031215611d2e57611d2d611baa565b5b6000611d3c86828701611bfd565b9350506020611d4d86828701611bfd565b9250506040611d5e86828701611c33565b9150509250925092565b600060ff82169050919050565b611d7e81611d68565b82525050565b6000602082019050611d996000830184611d75565b92915050565b611da881611bd4565b82525050565b6000602082019050611dc36000830184611d9f565b92915050565b60008060408385031215611de057611ddf611baa565b5b6000611dee85828601611c33565b9250506020611dff85828601611c33565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e2e57611e2d611e09565b5b8235905067ffffffffffffffff811115611e4b57611e4a611e0e565b5b602083019150836020820283011115611e6757611e66611e13565b5b9250929050565b60008060208385031215611e8557611e84611baa565b5b600083013567ffffffffffffffff811115611ea357611ea2611baf565b5b611eaf85828601611e18565b92509250509250929050565b60008060408385031215611ed257611ed1611baa565b5b6000611ee085828601611bfd565b9250506020611ef185828601611bfd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f31602083611b03565b9150611f3c82611efb565b602082019050919050565b60006020820190508181036000830152611f6081611f24565b9050919050565b600081519050611f7681611c1c565b92915050565b600060208284031215611f9257611f91611baa565b5b6000611fa084828501611f67565b91505092915050565b6000604082019050611fbe6000830185611d9f565b611fcb6020830184611ceb565b9392505050565b611fdb81611c88565b8114611fe657600080fd5b50565b600081519050611ff881611fd2565b92915050565b60006020828403121561201457612013611baa565b5b600061202284828501611fe9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061206582611c12565b915061207083611c12565b92508282039050818111156120885761208761202b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006120c882611c12565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120fa576120f961202b565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612161602483611b03565b915061216c82612105565b604082019050919050565b6000602082019050818103600083015261219081612154565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121f3602283611b03565b91506121fe82612197565b604082019050919050565b60006020820190508181036000830152612222816121e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612285602583611b03565b915061229082612229565b604082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b60006122f1601083611b03565b91506122fc826122bb565b602082019050919050565b60006020820190508181036000830152612320816122e4565b9050919050565b7f4c61756e63680000000000000000000000000000000000000000000000000000600082015250565b600061235d600683611b03565b915061236882612327565b602082019050919050565b6000602082019050818103600083015261238c81612350565b9050919050565b600061239e82611c12565b91506123a983611c12565b92508282019050808211156123c1576123c061202b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b600061242561242061241b846123f6565b612400565b611c12565b9050919050565b6124358161240a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61247081611bd4565b82525050565b60006124828383612467565b60208301905092915050565b6000602082019050919050565b60006124a68261243b565b6124b08185612446565b93506124bb83612457565b8060005b838110156124ec5781516124d38882612476565b97506124de8361248e565b9250506001810190506124bf565b5085935050505092915050565b600061251461250f61250a84611bb4565b612400565b611bb4565b9050919050565b6000612526826124f9565b9050919050565b60006125388261251b565b9050919050565b6125488161252d565b82525050565b600060a0820190506125636000830188611ceb565b612570602083018761242c565b8181036040830152612582818661249b565b9050612591606083018561253f565b61259e6080830184611ceb565b9695505050505050565b60006125b382611c12565b91506125be83611c12565b92508282026125cc81611c12565b915082820484148315176125e3576125e261202b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262482611c12565b915061262f83611c12565b92508261263f5761263e6125ea565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126a6602683611b03565b91506126b18261264a565b604082019050919050565b600060208201905081810360008301526126d581612699565b905091905056fea264697066735822122035b859eee6f893de26a86819fced64afca46e171bdbef8af5c91fff17f61882164736f6c63430008120033

Deployed Bytecode Sourcemap

2936:7200:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4835:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5745:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9816:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5112:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5946:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5021:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3376:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5220:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2263:148;;;;;;;;;;;;;:::i;:::-;;1658:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7140:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4926:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5346:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6681:108;;;;;;;;;;;;;:::i;:::-;;3404:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6925:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6797:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5553:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1872:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4835:83;4872:13;4905:5;;;;;;;;;;;;;;;;;4898:12;;4835:83;:::o;5745:193::-;5847:4;5869:39;5878:12;:10;:12::i;:::-;5892:7;5901:6;5869:8;:39::i;:::-;5926:4;5919:11;;5745:193;;;;:::o;9816:317::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9905:1:::1;9888:19;;:5;:19;;::::0;9884:241:::1;;9930:10;9922:28;;:51;9951:21;9922:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9884:241;;;10009:5;10002:22;;;10043:10;10079:5;10072:23;;;10104:4;10072:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10002:123;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9884:241;9816:317:::0;:::o;5112:100::-;5165:7;3029:16;5185:19;;5112:100;:::o;5946:350::-;6078:4;6095:36;6105:6;6113:9;6124:6;6095:9;:36::i;:::-;6142:124;6165:6;6186:12;:10;:12::i;:::-;6249:6;6213:11;:19;6225:6;6213:19;;;;;;;;;;;;;;;:33;6233:12;:10;:12::i;:::-;6213:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6142:8;:124::i;:::-;6284:4;6277:11;;5946:350;;;;;:::o;5021:83::-;5062:5;3197:2;5080:16;;5021:83;:::o;3376:21::-;;;;:::o;5220:118::-;5286:7;5313:8;:17;5322:7;5313:17;;;;;;;;;;;;;;;;5306:24;;5220:118;;;:::o;2263:148::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2370:1:::1;2333:40;;2354:6;::::0;::::1;;;;;;;;2333:40;;;;;;;;;;;;2401:1;2384:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2263:148::o:0;1658:79::-;1696:7;1723:6;;;;;;;;;;;1716:13;;1658:79;:::o;7140:145::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7237:9:::1;7228:6;:18;;;;7267:10;7257:7;:20;;;;7140:145:::0;;:::o;4926:87::-;4965:13;4998:7;;;;;;;;;;;;;;;;;4991:14;;4926:87;:::o;5346:199::-;5451:4;5473:42;5483:12;:10;:12::i;:::-;5497:9;5508:6;5473:9;:42::i;:::-;5533:4;5526:11;;5346:199;;;;:::o;6681:108::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6743:1:::1;6734:6;;:10;;;;;;;;;;;;;;;;;;6769:12;6755:11;:26;;;;6681:108::o:0;3404:22::-;;;;:::o;6925:207::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7018:6:::1;7014:111;7034:7;;:14;;7030:1;:18;7014:111;;;7109:4;7070:24;:36;7095:7;;7103:1;7095:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7070:36;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;7050:3;;;;;:::i;:::-;;;;7014:111;;;;6925:207:::0;;:::o;6797:120::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6905:4:::1;6870:24;:32;6895:6;6870:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6797:120:::0;:::o;5553:184::-;5670:7;5702:11;:18;5714:5;5702:18;;;;;;;;;;;;;;;:27;5721:7;5702:27;;;;;;;;;;;;;;;;5695:34;;5553:184;;;;:::o;1872:109::-;1795:12;:10;:12::i;:::-;1785:22;;:6;;;;;;;;;;:22;;;1777:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1945:28:::1;1964:8;1945:18;:28::i;:::-;1872:109:::0;:::o;372:98::-;425:7;452:10;445:17;;372:98;:::o;6304:369::-;6448:1;6431:19;;:5;:19;;;6423:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6529:1;6510:21;;:7;:21;;;6502:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6611:6;6581:11;:18;6593:5;6581:18;;;;;;;;;;;;;;;:27;6600:7;6581:27;;;;;;;;;;;;;;;:36;;;;6649:7;6633:32;;6642:5;6633:32;;;6658:6;6633:32;;;;;;:::i;:::-;;;;;;;;6304:369;;;:::o;7293:2478::-;7431:1;7415:18;;:4;:18;;;7407:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7503:3;7494:6;:12;7486:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7540:12;7567:24;:30;7592:4;7567:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;7601:24;:28;7626:2;7601:28;;;;;;;;;;;;;;;;;;;;;;;;;7567:62;7563:1551;;;7653:1;7646:8;;7563:1551;;;7723:1;7713:6;;;;;;;;;;;:11;;;7687:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7807:1;7787:16;;;;;;;;;;;:21;;;7783:239;;7882:6;7864:8;:14;7873:4;7864:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;7923:6;7907:8;:12;7916:2;7907:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;7970:2;7955:26;;7964:4;7955:26;;;7974:6;7955:26;;;;;;:::i;:::-;;;;;;;;8000:7;;;7783:239;8050:13;8042:21;;:4;:21;;;8038:1065;;8091:6;;8084:13;;8038:1065;;;8129:13;8123:19;;:2;:19;;;8119:984;;8163:20;8186:8;:23;8203:4;8186:23;;;;;;;;;;;;;;;;8163:46;;3087:10;8232:12;:22;:47;;;;;8278:1;8258:16;;;;;;;;;;;:21;;;8232:47;8228:778;;;3142:13;8308:12;:25;8304:107;;;3142:13;8362:25;;8304:107;8452:1;8433:16;;:20;;;;;;;;;;;;;;;;;;8476:21;8514:1;8500:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8476:40;;8557:4;8539;8544:1;8539:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8595:4;8585;8590:1;8585:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;8622:15;:92;;;8745:12;8788:1;8820:4;8855:15;8901;8622:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8985:1;8966:16;;:20;;;;;;;;;;;;;;;;;;8281:725;8228:778;9031:7;;9024:14;;8144:910;8119:984;;;9086:1;9079:8;;8119:984;8038:1065;7563:1551;9183:1;9175:4;:9;9171:593;;9229:17;9267:3;9259:4;9250:6;:13;;;;:::i;:::-;9249:21;;;;:::i;:::-;9229:41;;9285:22;9319:9;9310:6;:18;;;;:::i;:::-;9285:43;;9363:6;9345:8;:14;9354:4;9345:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9400:14;9384:8;:12;9393:2;9384:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;9456:9;9429:8;:23;9446:4;9429:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;9508:4;9485:40;;9494:4;9485:40;;;9515:9;9485:40;;;;;;:::i;:::-;;;;;;;;9560:2;9545:34;;9554:4;9545:34;;;9564:14;9545:34;;;;;;:::i;:::-;;;;;;;;9186:405;;9171:593;;;9661:6;9643:8;:14;9652:4;9643:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9698:6;9682:8;:12;9691:2;9682:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9741:2;9726:26;;9735:4;9726:26;;;9745:6;9726:26;;;;;;:::i;:::-;;;;;;;;9171:593;7396:2375;7293:2478;;;;:::o;1989:266::-;2097:1;2077:22;;:8;:22;;;2055:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2210:8;2181:38;;2202:6;;;;;;;;;;2181:38;;;;;;;;;;;;2239:8;2230:6;;:17;;;;;;;;;;;;;;;;;;1989:266;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:117::-;6129:1;6126;6119:12;6143:117;6252:1;6249;6242:12;6266:117;6375:1;6372;6365:12;6406:568;6479:8;6489:6;6539:3;6532:4;6524:6;6520:17;6516:27;6506:122;;6547:79;;:::i;:::-;6506:122;6660:6;6647:20;6637:30;;6690:18;6682:6;6679:30;6676:117;;;6712:79;;:::i;:::-;6676:117;6826:4;6818:6;6814:17;6802:29;;6880:3;6872:4;6864:6;6860:17;6850:8;6846:32;6843:41;6840:128;;;6887:79;;:::i;:::-;6840:128;6406:568;;;;;:::o;6980:559::-;7066:6;7074;7123:2;7111:9;7102:7;7098:23;7094:32;7091:119;;;7129:79;;:::i;:::-;7091:119;7277:1;7266:9;7262:17;7249:31;7307:18;7299:6;7296:30;7293:117;;;7329:79;;:::i;:::-;7293:117;7442:80;7514:7;7505:6;7494:9;7490:22;7442:80;:::i;:::-;7424:98;;;;7220:312;6980:559;;;;;:::o;7545:474::-;7613:6;7621;7670:2;7658:9;7649:7;7645:23;7641:32;7638:119;;;7676:79;;:::i;:::-;7638:119;7796:1;7821:53;7866:7;7857:6;7846:9;7842:22;7821:53;:::i;:::-;7811:63;;7767:117;7923:2;7949:53;7994:7;7985:6;7974:9;7970:22;7949:53;:::i;:::-;7939:63;;7894:118;7545:474;;;;;:::o;8025:182::-;8165:34;8161:1;8153:6;8149:14;8142:58;8025:182;:::o;8213:366::-;8355:3;8376:67;8440:2;8435:3;8376:67;:::i;:::-;8369:74;;8452:93;8541:3;8452:93;:::i;:::-;8570:2;8565:3;8561:12;8554:19;;8213:366;;;:::o;8585:419::-;8751:4;8789:2;8778:9;8774:18;8766:26;;8838:9;8832:4;8828:20;8824:1;8813:9;8809:17;8802:47;8866:131;8992:4;8866:131;:::i;:::-;8858:139;;8585:419;;;:::o;9010:143::-;9067:5;9098:6;9092:13;9083:22;;9114:33;9141:5;9114:33;:::i;:::-;9010:143;;;;:::o;9159:351::-;9229:6;9278:2;9266:9;9257:7;9253:23;9249:32;9246:119;;;9284:79;;:::i;:::-;9246:119;9404:1;9429:64;9485:7;9476:6;9465:9;9461:22;9429:64;:::i;:::-;9419:74;;9375:128;9159:351;;;;:::o;9516:332::-;9637:4;9675:2;9664:9;9660:18;9652:26;;9688:71;9756:1;9745:9;9741:17;9732:6;9688:71;:::i;:::-;9769:72;9837:2;9826:9;9822:18;9813:6;9769:72;:::i;:::-;9516:332;;;;;:::o;9854:116::-;9924:21;9939:5;9924:21;:::i;:::-;9917:5;9914:32;9904:60;;9960:1;9957;9950:12;9904:60;9854:116;:::o;9976:137::-;10030:5;10061:6;10055:13;10046:22;;10077:30;10101:5;10077:30;:::i;:::-;9976:137;;;;:::o;10119:345::-;10186:6;10235:2;10223:9;10214:7;10210:23;10206:32;10203:119;;;10241:79;;:::i;:::-;10203:119;10361:1;10386:61;10439:7;10430:6;10419:9;10415:22;10386:61;:::i;:::-;10376:71;;10332:125;10119:345;;;;:::o;10470:180::-;10518:77;10515:1;10508:88;10615:4;10612:1;10605:15;10639:4;10636:1;10629:15;10656:194;10696:4;10716:20;10734:1;10716:20;:::i;:::-;10711:25;;10750:20;10768:1;10750:20;:::i;:::-;10745:25;;10794:1;10791;10787:9;10779:17;;10818:1;10812:4;10809:11;10806:37;;;10823:18;;:::i;:::-;10806:37;10656:194;;;;:::o;10856:180::-;10904:77;10901:1;10894:88;11001:4;10998:1;10991:15;11025:4;11022:1;11015:15;11042:233;11081:3;11104:24;11122:5;11104:24;:::i;:::-;11095:33;;11150:66;11143:5;11140:77;11137:103;;11220:18;;:::i;:::-;11137:103;11267:1;11260:5;11256:13;11249:20;;11042:233;;;:::o;11281:223::-;11421:34;11417:1;11409:6;11405:14;11398:58;11490:6;11485:2;11477:6;11473:15;11466:31;11281:223;:::o;11510:366::-;11652:3;11673:67;11737:2;11732:3;11673:67;:::i;:::-;11666:74;;11749:93;11838:3;11749:93;:::i;:::-;11867:2;11862:3;11858:12;11851:19;;11510:366;;;:::o;11882:419::-;12048:4;12086:2;12075:9;12071:18;12063:26;;12135:9;12129:4;12125:20;12121:1;12110:9;12106:17;12099:47;12163:131;12289:4;12163:131;:::i;:::-;12155:139;;11882:419;;;:::o;12307:221::-;12447:34;12443:1;12435:6;12431:14;12424:58;12516:4;12511:2;12503:6;12499:15;12492:29;12307:221;:::o;12534:366::-;12676:3;12697:67;12761:2;12756:3;12697:67;:::i;:::-;12690:74;;12773:93;12862:3;12773:93;:::i;:::-;12891:2;12886:3;12882:12;12875:19;;12534:366;;;:::o;12906:419::-;13072:4;13110:2;13099:9;13095:18;13087:26;;13159:9;13153:4;13149:20;13145:1;13134:9;13130:17;13123:47;13187:131;13313:4;13187:131;:::i;:::-;13179:139;;12906:419;;;:::o;13331:224::-;13471:34;13467:1;13459:6;13455:14;13448:58;13540:7;13535:2;13527:6;13523:15;13516:32;13331:224;:::o;13561:366::-;13703:3;13724:67;13788:2;13783:3;13724:67;:::i;:::-;13717:74;;13800:93;13889:3;13800:93;:::i;:::-;13918:2;13913:3;13909:12;13902:19;;13561:366;;;:::o;13933:419::-;14099:4;14137:2;14126:9;14122:18;14114:26;;14186:9;14180:4;14176:20;14172:1;14161:9;14157:17;14150:47;14214:131;14340:4;14214:131;:::i;:::-;14206:139;;13933:419;;;:::o;14358:166::-;14498:18;14494:1;14486:6;14482:14;14475:42;14358:166;:::o;14530:366::-;14672:3;14693:67;14757:2;14752:3;14693:67;:::i;:::-;14686:74;;14769:93;14858:3;14769:93;:::i;:::-;14887:2;14882:3;14878:12;14871:19;;14530:366;;;:::o;14902:419::-;15068:4;15106:2;15095:9;15091:18;15083:26;;15155:9;15149:4;15145:20;15141:1;15130:9;15126:17;15119:47;15183:131;15309:4;15183:131;:::i;:::-;15175:139;;14902:419;;;:::o;15327:156::-;15467:8;15463:1;15455:6;15451:14;15444:32;15327:156;:::o;15489:365::-;15631:3;15652:66;15716:1;15711:3;15652:66;:::i;:::-;15645:73;;15727:93;15816:3;15727:93;:::i;:::-;15845:2;15840:3;15836:12;15829:19;;15489:365;;;:::o;15860:419::-;16026:4;16064:2;16053:9;16049:18;16041:26;;16113:9;16107:4;16103:20;16099:1;16088:9;16084:17;16077:47;16141:131;16267:4;16141:131;:::i;:::-;16133:139;;15860:419;;;:::o;16285:191::-;16325:3;16344:20;16362:1;16344:20;:::i;:::-;16339:25;;16378:20;16396:1;16378:20;:::i;:::-;16373:25;;16421:1;16418;16414:9;16407:16;;16442:3;16439:1;16436:10;16433:36;;;16449:18;;:::i;:::-;16433:36;16285:191;;;;:::o;16482:180::-;16530:77;16527:1;16520:88;16627:4;16624:1;16617:15;16651:4;16648:1;16641:15;16668:85;16713:7;16742:5;16731:16;;16668:85;;;:::o;16759:60::-;16787:3;16808:5;16801:12;;16759:60;;;:::o;16825:158::-;16883:9;16916:61;16934:42;16943:32;16969:5;16943:32;:::i;:::-;16934:42;:::i;:::-;16916:61;:::i;:::-;16903:74;;16825:158;;;:::o;16989:147::-;17084:45;17123:5;17084:45;:::i;:::-;17079:3;17072:58;16989:147;;:::o;17142:114::-;17209:6;17243:5;17237:12;17227:22;;17142:114;;;:::o;17262:184::-;17361:11;17395:6;17390:3;17383:19;17435:4;17430:3;17426:14;17411:29;;17262:184;;;;:::o;17452:132::-;17519:4;17542:3;17534:11;;17572:4;17567:3;17563:14;17555:22;;17452:132;;;:::o;17590:108::-;17667:24;17685:5;17667:24;:::i;:::-;17662:3;17655:37;17590:108;;:::o;17704:179::-;17773:10;17794:46;17836:3;17828:6;17794:46;:::i;:::-;17872:4;17867:3;17863:14;17849:28;;17704:179;;;;:::o;17889:113::-;17959:4;17991;17986:3;17982:14;17974:22;;17889:113;;;:::o;18038:732::-;18157:3;18186:54;18234:5;18186:54;:::i;:::-;18256:86;18335:6;18330:3;18256:86;:::i;:::-;18249:93;;18366:56;18416:5;18366:56;:::i;:::-;18445:7;18476:1;18461:284;18486:6;18483:1;18480:13;18461:284;;;18562:6;18556:13;18589:63;18648:3;18633:13;18589:63;:::i;:::-;18582:70;;18675:60;18728:6;18675:60;:::i;:::-;18665:70;;18521:224;18508:1;18505;18501:9;18496:14;;18461:284;;;18465:14;18761:3;18754:10;;18162:608;;;18038:732;;;;:::o;18776:142::-;18826:9;18859:53;18877:34;18886:24;18904:5;18886:24;:::i;:::-;18877:34;:::i;:::-;18859:53;:::i;:::-;18846:66;;18776:142;;;:::o;18924:126::-;18974:9;19007:37;19038:5;19007:37;:::i;:::-;18994:50;;18924:126;;;:::o;19056:134::-;19114:9;19147:37;19178:5;19147:37;:::i;:::-;19134:50;;19056:134;;;:::o;19196:147::-;19291:45;19330:5;19291:45;:::i;:::-;19286:3;19279:58;19196:147;;:::o;19349:847::-;19620:4;19658:3;19647:9;19643:19;19635:27;;19672:71;19740:1;19729:9;19725:17;19716:6;19672:71;:::i;:::-;19753:80;19829:2;19818:9;19814:18;19805:6;19753:80;:::i;:::-;19880:9;19874:4;19870:20;19865:2;19854:9;19850:18;19843:48;19908:108;20011:4;20002:6;19908:108;:::i;:::-;19900:116;;20026:80;20102:2;20091:9;20087:18;20078:6;20026:80;:::i;:::-;20116:73;20184:3;20173:9;20169:19;20160:6;20116:73;:::i;:::-;19349:847;;;;;;;;:::o;20202:410::-;20242:7;20265:20;20283:1;20265:20;:::i;:::-;20260:25;;20299:20;20317:1;20299:20;:::i;:::-;20294:25;;20354:1;20351;20347:9;20376:30;20394:11;20376:30;:::i;:::-;20365:41;;20555:1;20546:7;20542:15;20539:1;20536:22;20516:1;20509:9;20489:83;20466:139;;20585:18;;:::i;:::-;20466:139;20250:362;20202:410;;;;:::o;20618:180::-;20666:77;20663:1;20656:88;20763:4;20760:1;20753:15;20787:4;20784:1;20777:15;20804:185;20844:1;20861:20;20879:1;20861:20;:::i;:::-;20856:25;;20895:20;20913:1;20895:20;:::i;:::-;20890:25;;20934:1;20924:35;;20939:18;;:::i;:::-;20924:35;20981:1;20978;20974:9;20969:14;;20804:185;;;;:::o;20995:225::-;21135:34;21131:1;21123:6;21119:14;21112:58;21204:8;21199:2;21191:6;21187:15;21180:33;20995:225;:::o;21226:366::-;21368:3;21389:67;21453:2;21448:3;21389:67;:::i;:::-;21382:74;;21465:93;21554:3;21465:93;:::i;:::-;21583:2;21578:3;21574:12;21567:19;;21226:366;;;:::o;21598:419::-;21764:4;21802:2;21791:9;21787:18;21779:26;;21851:9;21845:4;21841:20;21837:1;21826:9;21822:17;21815:47;21879:131;22005:4;21879:131;:::i;:::-;21871:139;;21598:419;;;:::o

Swarm Source

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