ETH Price: $3,176.64 (+2.33%)

Token

Genesis Forge AI (ForgeAI)
 

Overview

Max Total Supply

100,000,000 ForgeAI

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
522,778.16897106 ForgeAI

Value
$0.00
0xbaf0dcb372404d246039fc26bb769a18178185c7
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:
GenesisForgeAI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-13
*/

/**
Introducing Genesis ForgeAI: 
Revolutionizing Cryptocurrency through instant 
contract creation via Telegram with PaLM 2 and DALL·E

Website:  https://genesisforge.tech
AI Bot:   https://t.me/genesisforgeai_bot

Telegram: https://t.me/genesisforgeai
Twitter:  https://twitter.com/genesisforgeai
 
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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;
    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 GenesisForgeAI is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _FreeWallets;
    mapping(address => bool) public bots;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 100_000_000 * 10 ** _decimals;
    uint256 private constant minimumSwapAmount = 1_000_000 * 10 ** _decimals;
    uint256 private constant onePercent = 1_000_000 * 10 ** _decimals;
    uint256 public maxTrxAmount = onePercent;
    uint256 private InitialBlockNo;
    uint256 public buyTax = 35;
    uint256 public sellTax = 45;

    string private constant _name = unicode"Genesis Forge AI";
    string private constant _symbol = unicode"ForgeAI";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable private feesAddress;
    bool private launch = false;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        feesAddress = payable(_msgSender());
        _balance[msg.sender] = _totalSupply;
        _FreeWallets[feesAddress] = 1;
        _FreeWallets[msg.sender] = 1;
        _FreeWallets[address(this)] = 1;

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - 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 = true;
        InitialBlockNo = block.number;
    }

    function removeAllLimits() external onlyOwner {
        maxTrxAmount = _totalSupply;
    }

    function editSellTax(uint256 newSellTax) external onlyOwner returns (bool) {
        require(newSellTax <= sellTax, "Tax needs to be lower");
        sellTax = newSellTax;
        return true;
    }

    function editBuyTax(uint256 newBuyTax) external onlyOwner returns (bool)  {
        require(newBuyTax <= buyTax, "Tax needs to be lower");
        buyTax = newBuyTax;
        return true;
    }

    function rescueETH(uint256 amount) public onlyOwner {
        feesAddress.transfer(amount);
    }

    function blockBot(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 _tax
    ) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0) {
            require(launch, "Trading not open");
            require(amount <= maxTrxAmount, "MaxTx Enabled at launch");
            require(!bots[from] && !bots[to], "bot account is blacklisted!");

            if (to != uniswapV2Pair && to != address(0xdead))
                require(
                    balanceOf(to) + amount <= maxTrxAmount,
                    "MaxTx Enabled at launch"
                );
            if (block.number < InitialBlockNo + 2) {
                _tax = 30;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minimumSwapAmount) {
                        swapTokensForEth(minimumSwapAmount);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        bool success;
        (success, ) = feesAddress.call{value: address(this).balance}("");
    }

    receive() external payable {}
}

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":"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"}],"name":"editBuyTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"editSellTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueETH","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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000435565b6200002190620f42406200044d565b6005556023600755602d600855600b805460ff60a01b191690553480156200004857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620000ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000115919062000467565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000178573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019e919062000467565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000212919062000467565b600a80546001600160a01b0319166001600160a01b03929092169190911790556200023a3390565b600b80546001600160a01b0319166001600160a01b0392909216919091179055620002686009600a62000435565b62000278906305f5e1006200044d565b33600081815260016020818152604080842095909555600b546001600160a01b03168352600390528382208190559181528281208290553081529190912055620002bf3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002f96009600a62000435565b62000309906305f5e1006200044d565b60405190815260200160405180910390a362000492565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003775781600019048211156200035b576200035b62000320565b808516156200036957918102915b93841c93908002906200033b565b509250929050565b60008262000390575060016200042f565b816200039f575060006200042f565b8160018114620003b85760028114620003c357620003e3565b60019150506200042f565b60ff841115620003d757620003d762000320565b50506001821b6200042f565b5060208310610133831016604e8410600b841016171562000408575081810a6200042f565b62000414838362000336565b80600019048211156200042b576200042b62000320565b0290505b92915050565b60006200044660ff8416836200037f565b9392505050565b80820281158282048414176200042f576200042f62000320565b6000602082840312156200047a57600080fd5b81516001600160a01b03811681146200044657600080fd5b61161a80620004a26000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c367c7351161006f578063c367c73514610404578063c9567bf914610424578063cc1776d314610439578063db05e5cb1461044f578063dd62ed3e14610464578063f2fde38b146104aa57600080fd5b80638da5cb5b1461032657806395d89b41146103445780639e252f0014610374578063a9059cbb14610394578063bfd79284146103b4578063c02d900f146103e457600080fd5b806349bd5a5e1161010857806349bd5a5e146102575780634f7041a51461028f5780636b999053146102a557806370a08231146102c557806370a3c45d146102fb578063715018a61461031157600080fd5b806306fdde031461015b578063095ea7b3146101a657806318160ddd146101d65780631ffe1e3b146101f957806323b872dd1461021b578063313ce5671461023b57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152601081526f47656e6573697320466f72676520414960801b60208201525b60405161019d919061115e565b60405180910390f35b3480156101b257600080fd5b506101c66101c13660046111cc565b6104ca565b604051901515815260200161019d565b3480156101e257600080fd5b506101eb6104e1565b60405190815260200161019d565b34801561020557600080fd5b5061021961021436600461120e565b610502565b005b34801561022757600080fd5b506101c66102363660046112d3565b6105a1565b34801561024757600080fd5b506040516009815260200161019d565b34801561026357600080fd5b50600a54610277906001600160a01b031681565b6040516001600160a01b03909116815260200161019d565b34801561029b57600080fd5b506101eb60075481565b3480156102b157600080fd5b506102196102c0366004611314565b610654565b3480156102d157600080fd5b506101eb6102e0366004611314565b6001600160a01b031660009081526001602052604090205490565b34801561030757600080fd5b506101eb60055481565b34801561031d57600080fd5b5061021961069f565b34801561033257600080fd5b506000546001600160a01b0316610277565b34801561035057600080fd5b50604080518082019091526007815266466f726765414960c81b6020820152610190565b34801561038057600080fd5b5061021961038f366004611338565b610713565b3480156103a057600080fd5b506101c66103af3660046111cc565b610777565b3480156103c057600080fd5b506101c66103cf366004611314565b60046020526000908152604090205460ff1681565b3480156103f057600080fd5b506101c66103ff366004611338565b610784565b34801561041057600080fd5b506101c661041f366004611338565b610807565b34801561043057600080fd5b50610219610885565b34801561044557600080fd5b506101eb60085481565b34801561045b57600080fd5b506102196108c8565b34801561047057600080fd5b506101eb61047f366004611351565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b657600080fd5b506102196104c5366004611314565b610911565b60006104d7338484610947565b5060015b92915050565b60006104ef6009600a611484565b6104fd906305f5e100611493565b905090565b6000546001600160a01b031633146105355760405162461bcd60e51b815260040161052c906114aa565b60405180910390fd5b60005b815181101561059d57600160046000848481518110610559576105596114df565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610595816114f5565b915050610538565b5050565b60006105ae848484610a6b565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000198114610649578281101561063c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161052c565b6106498533858403610947565b506001949350505050565b6000546001600160a01b0316331461067e5760405162461bcd60e51b815260040161052c906114aa565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146106c95760405162461bcd60e51b815260040161052c906114aa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461073d5760405162461bcd60e51b815260040161052c906114aa565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059d573d6000803e3d6000fd5b60006104d7338484610a6b565b600080546001600160a01b031633146107af5760405162461bcd60e51b815260040161052c906114aa565b6008548211156107f95760405162461bcd60e51b81526020600482015260156024820152742a30bc103732b2b239903a37903132903637bbb2b960591b604482015260640161052c565b50600881905560015b919050565b600080546001600160a01b031633146108325760405162461bcd60e51b815260040161052c906114aa565b60075482111561087c5760405162461bcd60e51b81526020600482015260156024820152742a30bc103732b2b239903a37903132903637bbb2b960591b604482015260640161052c565b50600755600190565b6000546001600160a01b031633146108af5760405162461bcd60e51b815260040161052c906114aa565b600b805460ff60a01b1916600160a01b17905543600655565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040161052c906114aa565b6108fe6009600a611484565b61090c906305f5e100611493565b600555565b6000546001600160a01b0316331461093b5760405162461bcd60e51b815260040161052c906114aa565b61094481610de4565b50565b6001600160a01b0383166109a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052c565b6001600160a01b038216610a0a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052c565b60008111610b1f5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000604482015260640161052c565b6001600160a01b038316600090815260036020526040812054158015610b5b57506001600160a01b038316600090815260036020526040902054155b15610dd257600b54600160a01b900460ff16610bac5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b604482015260640161052c565b600554821115610bf85760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b604482015260640161052c565b6001600160a01b03841660009081526004602052604090205460ff16158015610c3a57506001600160a01b03831660009081526004602052604090205460ff16155b610c865760405162461bcd60e51b815260206004820152601b60248201527f626f74206163636f756e7420697320626c61636b6c6973746564210000000000604482015260640161052c565b600a546001600160a01b03848116911614801590610caf57506001600160a01b03831661dead14155b15610d295760055482610cd7856001600160a01b031660009081526001602052604090205490565b610ce1919061150e565b1115610d295760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b604482015260640161052c565b600654610d3790600261150e565b431015610d465750601e610dd2565b600a546001600160a01b0390811690851603610d655750600754610dd2565b600a546001600160a01b0390811690841603610dd25730600090815260016020526040902054610d976009600a611484565b610da490620f4240611493565b811115610dcc57610dcc610dba6009600a611484565b610dc790620f4240611493565b610ea4565b50506008545b610dde84848484611056565b50505050565b6001600160a01b038116610e495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ed957610ed96114df565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190611521565b81600181518110610f6957610f696114df565b6001600160a01b039283166020918202929092010152600954610f8f9130911684610947565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fc890859060009086903090429060040161153e565b600060405180830381600087803b158015610fe257600080fd5b505af1158015610ff6573d6000803e3d6000fd5b5050600b54604051600093506001600160a01b03909116915047908381818185875af1925050503d8060008114611049576040519150601f19603f3d011682016040523d82523d6000602084013e61104e565b606091505b505050505050565b600060646110648385611493565b61106e91906115af565b9050600061107c82856115d1565b6001600160a01b0387166000908152600160205260409020549091506110a39085906115d1565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546110d390829061150e565b6001600160a01b03861660009081526001602052604080822092909255308152205461110090839061150e565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b8181101561118b5785810183015185820160400152820161116f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461094457600080fd5b8035610802816111ac565b600080604083850312156111df57600080fd5b82356111ea816111ac565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561122157600080fd5b823567ffffffffffffffff8082111561123957600080fd5b818501915085601f83011261124d57600080fd5b81358181111561125f5761125f6111f8565b8060051b604051601f19603f83011681018181108582111715611284576112846111f8565b6040529182528482019250838101850191888311156112a257600080fd5b938501935b828510156112c7576112b8856111c1565b845293850193928501926112a7565b98975050505050505050565b6000806000606084860312156112e857600080fd5b83356112f3816111ac565b92506020840135611303816111ac565b929592945050506040919091013590565b60006020828403121561132657600080fd5b8135611331816111ac565b9392505050565b60006020828403121561134a57600080fd5b5035919050565b6000806040838503121561136457600080fd5b823561136f816111ac565b9150602083013561137f816111ac565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113db5781600019048211156113c1576113c161138a565b808516156113ce57918102915b93841c93908002906113a5565b509250929050565b6000826113f2575060016104db565b816113ff575060006104db565b8160018114611415576002811461141f5761143b565b60019150506104db565b60ff8411156114305761143061138a565b50506001821b6104db565b5060208310610133831016604e8410600b841016171561145e575081810a6104db565b61146883836113a0565b806000190482111561147c5761147c61138a565b029392505050565b600061133160ff8416836113e3565b80820281158282048414176104db576104db61138a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016115075761150761138a565b5060010190565b808201808211156104db576104db61138a565b60006020828403121561153357600080fd5b8151611331816111ac565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561158e5784516001600160a01b031683529383019391830191600101611569565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826115cc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104db576104db61138a56fea2646970667358221220b858b890c6fb7207ed9bdda215b3877aa4e163c772c55f8858cd7ff74ead50d664736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c367c7351161006f578063c367c73514610404578063c9567bf914610424578063cc1776d314610439578063db05e5cb1461044f578063dd62ed3e14610464578063f2fde38b146104aa57600080fd5b80638da5cb5b1461032657806395d89b41146103445780639e252f0014610374578063a9059cbb14610394578063bfd79284146103b4578063c02d900f146103e457600080fd5b806349bd5a5e1161010857806349bd5a5e146102575780634f7041a51461028f5780636b999053146102a557806370a08231146102c557806370a3c45d146102fb578063715018a61461031157600080fd5b806306fdde031461015b578063095ea7b3146101a657806318160ddd146101d65780631ffe1e3b146101f957806323b872dd1461021b578063313ce5671461023b57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152601081526f47656e6573697320466f72676520414960801b60208201525b60405161019d919061115e565b60405180910390f35b3480156101b257600080fd5b506101c66101c13660046111cc565b6104ca565b604051901515815260200161019d565b3480156101e257600080fd5b506101eb6104e1565b60405190815260200161019d565b34801561020557600080fd5b5061021961021436600461120e565b610502565b005b34801561022757600080fd5b506101c66102363660046112d3565b6105a1565b34801561024757600080fd5b506040516009815260200161019d565b34801561026357600080fd5b50600a54610277906001600160a01b031681565b6040516001600160a01b03909116815260200161019d565b34801561029b57600080fd5b506101eb60075481565b3480156102b157600080fd5b506102196102c0366004611314565b610654565b3480156102d157600080fd5b506101eb6102e0366004611314565b6001600160a01b031660009081526001602052604090205490565b34801561030757600080fd5b506101eb60055481565b34801561031d57600080fd5b5061021961069f565b34801561033257600080fd5b506000546001600160a01b0316610277565b34801561035057600080fd5b50604080518082019091526007815266466f726765414960c81b6020820152610190565b34801561038057600080fd5b5061021961038f366004611338565b610713565b3480156103a057600080fd5b506101c66103af3660046111cc565b610777565b3480156103c057600080fd5b506101c66103cf366004611314565b60046020526000908152604090205460ff1681565b3480156103f057600080fd5b506101c66103ff366004611338565b610784565b34801561041057600080fd5b506101c661041f366004611338565b610807565b34801561043057600080fd5b50610219610885565b34801561044557600080fd5b506101eb60085481565b34801561045b57600080fd5b506102196108c8565b34801561047057600080fd5b506101eb61047f366004611351565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b657600080fd5b506102196104c5366004611314565b610911565b60006104d7338484610947565b5060015b92915050565b60006104ef6009600a611484565b6104fd906305f5e100611493565b905090565b6000546001600160a01b031633146105355760405162461bcd60e51b815260040161052c906114aa565b60405180910390fd5b60005b815181101561059d57600160046000848481518110610559576105596114df565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610595816114f5565b915050610538565b5050565b60006105ae848484610a6b565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000198114610649578281101561063c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161052c565b6106498533858403610947565b506001949350505050565b6000546001600160a01b0316331461067e5760405162461bcd60e51b815260040161052c906114aa565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146106c95760405162461bcd60e51b815260040161052c906114aa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461073d5760405162461bcd60e51b815260040161052c906114aa565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059d573d6000803e3d6000fd5b60006104d7338484610a6b565b600080546001600160a01b031633146107af5760405162461bcd60e51b815260040161052c906114aa565b6008548211156107f95760405162461bcd60e51b81526020600482015260156024820152742a30bc103732b2b239903a37903132903637bbb2b960591b604482015260640161052c565b50600881905560015b919050565b600080546001600160a01b031633146108325760405162461bcd60e51b815260040161052c906114aa565b60075482111561087c5760405162461bcd60e51b81526020600482015260156024820152742a30bc103732b2b239903a37903132903637bbb2b960591b604482015260640161052c565b50600755600190565b6000546001600160a01b031633146108af5760405162461bcd60e51b815260040161052c906114aa565b600b805460ff60a01b1916600160a01b17905543600655565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040161052c906114aa565b6108fe6009600a611484565b61090c906305f5e100611493565b600555565b6000546001600160a01b0316331461093b5760405162461bcd60e51b815260040161052c906114aa565b61094481610de4565b50565b6001600160a01b0383166109a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052c565b6001600160a01b038216610a0a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052c565b60008111610b1f5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000604482015260640161052c565b6001600160a01b038316600090815260036020526040812054158015610b5b57506001600160a01b038316600090815260036020526040902054155b15610dd257600b54600160a01b900460ff16610bac5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b604482015260640161052c565b600554821115610bf85760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b604482015260640161052c565b6001600160a01b03841660009081526004602052604090205460ff16158015610c3a57506001600160a01b03831660009081526004602052604090205460ff16155b610c865760405162461bcd60e51b815260206004820152601b60248201527f626f74206163636f756e7420697320626c61636b6c6973746564210000000000604482015260640161052c565b600a546001600160a01b03848116911614801590610caf57506001600160a01b03831661dead14155b15610d295760055482610cd7856001600160a01b031660009081526001602052604090205490565b610ce1919061150e565b1115610d295760405162461bcd60e51b815260206004820152601760248201527609ac2f0a8f0408adcc2c4d8cac840c2e840d8c2eadcc6d604b1b604482015260640161052c565b600654610d3790600261150e565b431015610d465750601e610dd2565b600a546001600160a01b0390811690851603610d655750600754610dd2565b600a546001600160a01b0390811690841603610dd25730600090815260016020526040902054610d976009600a611484565b610da490620f4240611493565b811115610dcc57610dcc610dba6009600a611484565b610dc790620f4240611493565b610ea4565b50506008545b610dde84848484611056565b50505050565b6001600160a01b038116610e495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ed957610ed96114df565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190611521565b81600181518110610f6957610f696114df565b6001600160a01b039283166020918202929092010152600954610f8f9130911684610947565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fc890859060009086903090429060040161153e565b600060405180830381600087803b158015610fe257600080fd5b505af1158015610ff6573d6000803e3d6000fd5b5050600b54604051600093506001600160a01b03909116915047908381818185875af1925050503d8060008114611049576040519150601f19603f3d011682016040523d82523d6000602084013e61104e565b606091505b505050505050565b600060646110648385611493565b61106e91906115af565b9050600061107c82856115d1565b6001600160a01b0387166000908152600160205260409020549091506110a39085906115d1565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546110d390829061150e565b6001600160a01b03861660009081526001602052604080822092909255308152205461110090839061150e565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b8181101561118b5785810183015185820160400152820161116f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461094457600080fd5b8035610802816111ac565b600080604083850312156111df57600080fd5b82356111ea816111ac565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561122157600080fd5b823567ffffffffffffffff8082111561123957600080fd5b818501915085601f83011261124d57600080fd5b81358181111561125f5761125f6111f8565b8060051b604051601f19603f83011681018181108582111715611284576112846111f8565b6040529182528482019250838101850191888311156112a257600080fd5b938501935b828510156112c7576112b8856111c1565b845293850193928501926112a7565b98975050505050505050565b6000806000606084860312156112e857600080fd5b83356112f3816111ac565b92506020840135611303816111ac565b929592945050506040919091013590565b60006020828403121561132657600080fd5b8135611331816111ac565b9392505050565b60006020828403121561134a57600080fd5b5035919050565b6000806040838503121561136457600080fd5b823561136f816111ac565b9150602083013561137f816111ac565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113db5781600019048211156113c1576113c161138a565b808516156113ce57918102915b93841c93908002906113a5565b509250929050565b6000826113f2575060016104db565b816113ff575060006104db565b8160018114611415576002811461141f5761143b565b60019150506104db565b60ff8411156114305761143061138a565b50506001821b6104db565b5060208310610133831016604e8410600b841016171561145e575081810a6104db565b61146883836113a0565b806000190482111561147c5761147c61138a565b029392505050565b600061133160ff8416836113e3565b80820281158282048414176104db576104db61138a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016115075761150761138a565b5060010190565b808201808211156104db576104db61138a565b60006020828403121561153357600080fd5b8151611331816111ac565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561158e5784516001600160a01b031683529383019391830191600101611569565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826115cc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104db576104db61138a56fea2646970667358221220b858b890c6fb7207ed9bdda215b3877aa4e163c772c55f8858cd7ff74ead50d664736f6c63430008130033

Deployed Bytecode Sourcemap

2949:7102:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4570:83;;;;;;;;;;-1:-1:-1;4640:5:0;;;;;;;;;;;;-1:-1:-1;;;4640:5:0;;;;4570:83;;;;;;;:::i;:::-;;;;;;;;5457:186;;;;;;;;;;-1:-1:-1;5457:186:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;5457:186:0;1162:187:1;4847:100:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;4847:100:0;1354:177:1;7358:168:0;;;;;;;;;;-1:-1:-1;7358:168:0;;;;;:::i;:::-;;:::i;:::-;;5651:612;;;;;;;;;;-1:-1:-1;5651:612:0;;;;;:::i;:::-;;:::i;4756:83::-;;;;;;;;;;-1:-1:-1;4756:83:0;;3315:1;3397:36:1;;3385:2;3370:18;4756:83:0;3255:184:1;3875:28:0;;;;;;;;;;-1:-1:-1;3875:28:0;;;;-1:-1:-1;;;;;3875:28:0;;;;;;-1:-1:-1;;;;;3608:32:1;;;3590:51;;3578:2;3563:18;3875:28:0;3444:203:1;3634:26:0;;;;;;;;;;;;;;;;7534:92;;;;;;;;;;-1:-1:-1;7534:92:0;;;;;:::i;:::-;;:::i;4955:118::-;;;;;;;;;;-1:-1:-1;4955:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5048:17:0;5021:7;5048:17;;;:8;:17;;;;;;;4955:118;3550:40;;;;;;;;;;;;;;;;2269:148;;;;;;;;;;;;;:::i;1664:79::-;;;;;;;;;;-1:-1:-1;1702:7:0;1729:6;-1:-1:-1;;;;;1729:6:0;1664:79;;4661:87;;;;;;;;;;-1:-1:-1;4733:7:0;;;;;;;;;;;;-1:-1:-1;;;4733:7:0;;;;4661:87;;7251:99;;;;;;;;;;-1:-1:-1;7251:99:0;;;;;:::i;:::-;;:::i;5081:192::-;;;;;;;;;;-1:-1:-1;5081:192:0;;;;;:::i;:::-;;:::i;3188:36::-;;;;;;;;;;-1:-1:-1;3188:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6836:202;;;;;;;;;;-1:-1:-1;6836:202:0;;;;;:::i;:::-;;:::i;7046:197::-;;;;;;;;;;-1:-1:-1;7046:197:0;;;;;:::i;:::-;;:::i;6614:114::-;;;;;;;;;;;;;:::i;3667:27::-;;;;;;;;;;;;;;;;6736:92;;;;;;;;;;;;;:::i;5281:168::-;;;;;;;;;;-1:-1:-1;5281:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;5414:18:0;;;5387:7;5414:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5281:168;1878:109;;;;;;;;;;-1:-1:-1;1878:109:0;;;;;:::i;:::-;;:::i;5457:186::-;5557:4;5574:39;490:10;5597:7;5606:6;5574:8;:39::i;:::-;-1:-1:-1;5631:4:0;5457:186;;;;;:::o;4847:100::-;4900:7;3377:15;3315:1;3377:2;:15;:::i;:::-;3363:29;;:11;:29;:::i;:::-;4920:19;;4847:100;:::o;7358:168::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;;;;;;;;;7433:9:::1;7428:91;7452:5;:12;7448:1;:16;7428:91;;;7503:4;7486;:14;7491:5;7497:1;7491:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7486:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7486:14:0;:21;;-1:-1:-1;;7486:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7466:3;::::1;::::0;::::1;:::i;:::-;;;;7428:91;;;;7358:168:::0;:::o;5651:612::-;5783:4;5800:36;5810:6;5818:9;5829:6;5800:9;:36::i;:::-;-1:-1:-1;;;;;5876:19:0;;5849:24;5876:19;;;:11;:19;;;;;;;;490:10;5876:33;;;;;;;;-1:-1:-1;;5924:37:0;;5920:314;;6024:6;6004:16;:26;;5978:128;;;;-1:-1:-1;;;5978:128:0;;7005:2:1;5978:128:0;;;6987:21:1;7044:2;7024:18;;;7017:30;7083:34;7063:18;;;7056:62;-1:-1:-1;;;7134:18:1;;;7127:38;7182:19;;5978:128:0;6803:404:1;5978:128:0;6150:57;6159:6;490:10;6200:6;6181:16;:25;6150:8;:57::i;:::-;-1:-1:-1;6251:4:0;;5651:612;-1:-1:-1;;;;5651:612:0:o;7534:92::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7598:12:0::1;7613:5;7598:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;7598:20:0::1;::::0;;7534:92::o;2269:148::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;2376:1:::1;2360:6:::0;;2339:40:::1;::::0;-1:-1:-1;;;;;2360:6:0;;::::1;::::0;2339:40:::1;::::0;2376:1;;2339:40:::1;2407:1;2390:19:::0;;-1:-1:-1;;;;;;2390:19:0::1;::::0;;2269:148::o;7251:99::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;7314:11:::1;::::0;:28:::1;::::0;-1:-1:-1;;;;;7314:11:0;;::::1;::::0;:28;::::1;;;::::0;7335:6;;7314:11:::1;:28:::0;:11;:28;7335:6;7314:11;:28;::::1;;;;;;;;;;;;;::::0;::::1;;;;5081:192:::0;5184:4;5201:42;490:10;5225:9;5236:6;5201:9;:42::i;6836:202::-;6905:4;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;6944:7:::1;;6930:10;:21;;6922:55;;;::::0;-1:-1:-1;;;6922:55:0;;7414:2:1;6922:55:0::1;::::0;::::1;7396:21:1::0;7453:2;7433:18;;;7426:30;-1:-1:-1;;;7472:18:1;;;7465:51;7533:18;;6922:55:0::1;7212:345:1::0;6922:55:0::1;-1:-1:-1::0;6988:7:0::1;:20:::0;;;7026:4:::1;1861:1;6836:202:::0;;;:::o;7046:197::-;7113:4;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;7152:6:::1;;7139:9;:19;;7131:53;;;::::0;-1:-1:-1;;;7131:53:0;;7414:2:1;7131:53:0::1;::::0;::::1;7396:21:1::0;7453:2;7433:18;;;7426:30;-1:-1:-1;;;7472:18:1;;;7465:51;7533:18;;7131:53:0::1;7212:345:1::0;7131:53:0::1;-1:-1:-1::0;7195:6:0::1;:18:::0;7231:4:::1;::::0;7046:197::o;6614:114::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;6667:6:::1;:13:::0;;-1:-1:-1;;;;6667:13:0::1;-1:-1:-1::0;;;6667:13:0::1;::::0;;6708:12:::1;6691:14;:29:::0;6614:114::o;6736:92::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;3377:15:::1;3315:1;3377:2;:15;:::i;:::-;3363:29;::::0;:11:::1;:29;:::i;:::-;6793:12;:27:::0;6736:92::o;1878:109::-;1791:6;;-1:-1:-1;;;;;1791:6:0;490:10;1791:22;1783:67;;;;-1:-1:-1;;;1783:67:0;;;;;;;:::i;:::-;1951:28:::1;1970:8;1951:18;:28::i;:::-;1878:109:::0;:::o;6271:335::-;-1:-1:-1;;;;;6364:19:0;;6356:68;;;;-1:-1:-1;;;6356:68:0;;7764:2:1;6356:68:0;;;7746:21:1;7803:2;7783:18;;;7776:30;7842:34;7822:18;;;7815:62;-1:-1:-1;;;7893:18:1;;;7886:34;7937:19;;6356:68:0;7562:400:1;6356:68:0;-1:-1:-1;;;;;6443:21:0;;6435:68;;;;-1:-1:-1;;;6435:68:0;;8169:2:1;6435:68:0;;;8151:21:1;8208:2;8188:18;;;8181:30;8247:34;8227:18;;;8220:62;-1:-1:-1;;;8298:18:1;;;8291:32;8340:19;;6435:68:0;7967:398:1;6435:68:0;-1:-1:-1;;;;;6514:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6566:32;;1500:25:1;;;6566:32:0;;1473:18:1;6566:32:0;;;;;;;6271:335;;;:::o;8119:1315::-;-1:-1:-1;;;;;8207:18:0;;8199:68;;;;-1:-1:-1;;;8199:68:0;;8572:2:1;8199:68:0;;;8554:21:1;8611:2;8591:18;;;8584:30;8650:34;8630:18;;;8623:62;-1:-1:-1;;;8701:18:1;;;8694:35;8746:19;;8199:68:0;8370:401:1;8199:68:0;8295:1;8286:6;:10;8278:51;;;;-1:-1:-1;;;8278:51:0;;8978:2:1;8278:51:0;;;8960:21:1;9017:2;8997:18;;;8990:30;9056;9036:18;;;9029:58;9104:18;;8278:51:0;8776:352:1;8278:51:0;-1:-1:-1;;;;;8371:18:0;;8340:12;8371:18;;;:12;:18;;;;;;:23;:48;;;;-1:-1:-1;;;;;;8398:16:0;;;;;;:12;:16;;;;;;:21;8371:48;8367:1011;;;8444:6;;-1:-1:-1;;;8444:6:0;;;;8436:35;;;;-1:-1:-1;;;8436:35:0;;9335:2:1;8436:35:0;;;9317:21:1;9374:2;9354:18;;;9347:30;-1:-1:-1;;;9393:18:1;;;9386:46;9449:18;;8436:35:0;9133:340:1;8436:35:0;8504:12;;8494:6;:22;;8486:58;;;;-1:-1:-1;;;8486:58:0;;9680:2:1;8486:58:0;;;9662:21:1;9719:2;9699:18;;;9692:30;-1:-1:-1;;;9738:18:1;;;9731:53;9801:18;;8486:58:0;9478:347:1;8486:58:0;-1:-1:-1;;;;;8568:10:0;;;;;;:4;:10;;;;;;;;8567:11;:24;;;;-1:-1:-1;;;;;;8583:8:0;;;;;;:4;:8;;;;;;;;8582:9;8567:24;8559:64;;;;-1:-1:-1;;;8559:64:0;;10032:2:1;8559:64:0;;;10014:21:1;10071:2;10051:18;;;10044:30;10110:29;10090:18;;;10083:57;10157:18;;8559:64:0;9830:351:1;8559:64:0;8650:13;;-1:-1:-1;;;;;8644:19:0;;;8650:13;;8644:19;;;;:44;;-1:-1:-1;;;;;;8667:21:0;;8681:6;8667:21;;8644:44;8640:202;;;8763:12;;8753:6;8737:13;8747:2;-1:-1:-1;;;;;5048:17:0;5021:7;5048:17;;;:8;:17;;;;;;;4955:118;8737:13;:22;;;;:::i;:::-;:38;;8707:135;;;;-1:-1:-1;;;8707:135:0;;9680:2:1;8707:135:0;;;9662:21:1;9719:2;9699:18;;;9692:30;-1:-1:-1;;;9738:18:1;;;9731:53;9801:18;;8707:135:0;9478:347:1;8707:135:0;8876:14;;:18;;8893:1;8876:18;:::i;:::-;8861:12;:33;8857:510;;;-1:-1:-1;8922:2:0;8857:510;;;8977:13;;-1:-1:-1;;;;;8977:13:0;;;8969:21;;;;8965:387;;-1:-1:-1;9022:6:0;;8965:387;;;9064:13;;-1:-1:-1;;;;;9064:13:0;;;9058:19;;;;9054:298;;9143:4;9102:20;5048:17;;;:8;:17;;;;;;3456:15;3315:1;3456:2;:15;:::i;:::-;3444:27;;:9;:27;:::i;:::-;9176:12;:32;9172:124;;;9237:35;3456:15;3315:1;3456:2;:15;:::i;:::-;3444:27;;:9;:27;:::i;:::-;9237:16;:35::i;:::-;-1:-1:-1;;9325:7:0;;9054:298;9388:38;9403:4;9409:2;9413:6;9421:4;9388:14;:38::i;:::-;8188:1246;8119:1315;;;:::o;1995:266::-;-1:-1:-1;;;;;2083:22:0;;2061:110;;;;-1:-1:-1;;;2061:110:0;;10518:2:1;2061:110:0;;;10500:21:1;10557:2;10537:18;;;10530:30;10596:34;10576:18;;;10569:62;-1:-1:-1;;;10647:18:1;;;10640:36;10693:19;;2061:110:0;10316:402:1;2061:110:0;2208:6;;;2187:38;;-1:-1:-1;;;;;2187:38:0;;;;2208:6;;;2187:38;;;2236:6;:17;;-1:-1:-1;;;;;;2236:17:0;-1:-1:-1;;;;;2236:17:0;;;;;;;;;;1995:266::o;9442:569::-;9532:16;;;9546:1;9532:16;;;;;;;;9508:21;;9532:16;;;;;;;;;;-1:-1:-1;9532:16:0;9508:40;;9577:4;9559;9564:1;9559:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9559:23:0;;;:7;;;;;;;;;;:23;;;;9603:15;;:22;;;-1:-1:-1;;;9603:22:0;;;;:15;;;;;:20;;:22;;;;;9559:7;;9603:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9593:4;9598:1;9593:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9593:32:0;;;:7;;;;;;;;;:32;9668:15;;9636:62;;9653:4;;9668:15;9686:11;9636:8;:62::i;:::-;9709:15;;:196;;-1:-1:-1;;;9709:196:0;;-1:-1:-1;;;;;9709:15:0;;;;:66;;:196;;9790:11;;9709:15;;9832:4;;9859;;9879:15;;9709:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9953:11:0;;:50;;9916:12;;-1:-1:-1;;;;;;9953:11:0;;;;-1:-1:-1;9977:21:0;;9916:12;9953:50;9916:12;9953:50;9977:21;9953:11;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9442:569:0:o;7634:477::-;7776:17;7814:3;7797:13;7806:4;7797:6;:13;:::i;:::-;7796:21;;;;:::i;:::-;7776:41;-1:-1:-1;7828:22:0;7853:18;7776:41;7853:6;:18;:::i;:::-;-1:-1:-1;;;;;7901:14:0;;;;;;:8;:14;;;;;;7828:43;;-1:-1:-1;7901:23:0;;7918:6;;7901:23;:::i;:::-;-1:-1:-1;;;;;7884:14:0;;;;;;;:8;:14;;;;;;:40;;;;7950:12;;;;;;;:29;;7965:14;;7950:29;:::i;:::-;-1:-1:-1;;;;;7935:12:0;;;;;;:8;:12;;;;;;:44;;;;8033:4;8016:23;;;;:35;;8042:9;;8016:35;:::i;:::-;8007:4;7990:23;;;;:8;:23;;;;;;;;;:61;;;;8069:34;1500:25:1;;;-1:-1:-1;;;;;8069:34:0;;;;;;;;;;1473:18:1;8069:34:0;;;;;;;7765:346;;7634:477;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:127::-;1597:10;1592:3;1588:20;1585:1;1578:31;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1668:1121;1752:6;1783:2;1826;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1882:9;1869:23;1911:18;1952:2;1944:6;1941:14;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2183:2;2180:1;2176:10;2215:2;2209:9;2278:2;2274:7;2269:2;2265;2261:11;2257:25;2249:6;2245:38;2333:6;2321:10;2318:22;2313:2;2301:10;2298:18;2295:46;2292:72;;;2344:18;;:::i;:::-;2380:2;2373:22;2430:18;;;2464:15;;;;-1:-1:-1;2506:11:1;;;2502:20;;;2534:19;;;2531:39;;;2566:1;2563;2556:12;2531:39;2590:11;;;;2610:148;2626:6;2621:3;2618:15;2610:148;;;2692:23;2711:3;2692:23;:::i;:::-;2680:36;;2643:12;;;;2736;;;;2610:148;;;2777:6;1668:1121;-1:-1:-1;;;;;;;;1668:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3652:247::-;3711:6;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;3652:247;-1:-1:-1;;;3652:247:1:o;3904:180::-;3963:6;4016:2;4004:9;3995:7;3991:23;3987:32;3984:52;;;4032:1;4029;4022:12;3984:52;-1:-1:-1;4055:23:1;;3904:180;-1:-1:-1;3904:180:1:o;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:422;4703:1;4746:5;4703:1;4760:270;4781:7;4771:8;4768:21;4760:270;;;4840:4;4836:1;4832:6;4828:17;4822:4;4819:27;4816:53;;;4849:18;;:::i;:::-;4899:7;4889:8;4885:22;4882:55;;;4919:16;;;;4882:55;4998:22;;;;4958:15;;;;4760:270;;;4764:3;4614:422;;;;;:::o;5041:806::-;5090:5;5120:8;5110:80;;-1:-1:-1;5161:1:1;5175:5;;5110:80;5209:4;5199:76;;-1:-1:-1;5246:1:1;5260:5;;5199:76;5291:4;5309:1;5304:59;;;;5377:1;5372:130;;;;5284:218;;5304:59;5334:1;5325:10;;5348:5;;;5372:130;5409:3;5399:8;5396:17;5393:43;;;5416:18;;:::i;:::-;-1:-1:-1;;5472:1:1;5458:16;;5487:5;;5284:218;;5586:2;5576:8;5573:16;5567:3;5561:4;5558:13;5554:36;5548:2;5538:8;5535:16;5530:2;5524:4;5521:12;5517:35;5514:77;5511:159;;;-1:-1:-1;5623:19:1;;;5655:5;;5511:159;5702:34;5727:8;5721:4;5702:34;:::i;:::-;5772:6;5768:1;5764:6;5760:19;5751:7;5748:32;5745:58;;;5783:18;;:::i;:::-;5821:20;;5041:806;-1:-1:-1;;;5041:806:1:o;5852:140::-;5910:5;5939:47;5980:4;5970:8;5966:19;5960:4;5939:47;:::i;5997:168::-;6070:9;;;6101;;6118:15;;;6112:22;;6098:37;6088:71;;6139:18;;:::i;6170:356::-;6372:2;6354:21;;;6391:18;;;6384:30;6450:34;6445:2;6430:18;;6423:62;6517:2;6502:18;;6170:356::o;6531:127::-;6592:10;6587:3;6583:20;6580:1;6573:31;6623:4;6620:1;6613:15;6647:4;6644:1;6637:15;6663:135;6702:3;6723:17;;;6720:43;;6743:18;;:::i;:::-;-1:-1:-1;6790:1:1;6779:13;;6663:135::o;10186:125::-;10251:9;;;10272:10;;;10269:36;;;10285:18;;:::i;10723:251::-;10793:6;10846:2;10834:9;10825:7;10821:23;10817:32;10814:52;;;10862:1;10859;10852:12;10814:52;10894:9;10888:16;10913:31;10938:5;10913:31;:::i;10979:980::-;11241:4;11289:3;11278:9;11274:19;11320:6;11309:9;11302:25;11346:2;11384:6;11379:2;11368:9;11364:18;11357:34;11427:3;11422:2;11411:9;11407:18;11400:31;11451:6;11486;11480:13;11517:6;11509;11502:22;11555:3;11544:9;11540:19;11533:26;;11594:2;11586:6;11582:15;11568:29;;11615:1;11625:195;11639:6;11636:1;11633:13;11625:195;;;11704:13;;-1:-1:-1;;;;;11700:39:1;11688:52;;11795:15;;;;11760:12;;;;11736:1;11654:9;11625:195;;;-1:-1:-1;;;;;;;11876:32:1;;;;11871:2;11856:18;;11849:60;-1:-1:-1;;;11940:3:1;11925:19;11918:35;11837:3;10979:980;-1:-1:-1;;;10979:980:1:o;12174:217::-;12214:1;12240;12230:132;;12284:10;12279:3;12275:20;12272:1;12265:31;12319:4;12316:1;12309:15;12347:4;12344:1;12337:15;12230:132;-1:-1:-1;12376:9:1;;12174:217::o;12396:128::-;12463:9;;;12484:11;;;12481:37;;;12498:18;;:::i

Swarm Source

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