ETH Price: $3,470.65 (+0.56%)

Token

Fortunebets.xyz (FRT)
 

Overview

Max Total Supply

1,000,000,000 FRT

Holders

426

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 FRT

Value
$0.00
0xd57f154ae3c853ed83a2b65cba8f6f3bc599b2b8
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:
FortuneBets

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// Twitter: https://twitter.com/FortuneOnETH
// Telegram: https://t.me/fortunebetsxyz
// Website: https://fortunebets.xyz/                                                                                                                                                                                                    //   
//  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//  @@                @@@                @@                @@@
//  @@                @@@                @@    @@@@@@@@    @@@
//  @@                @@@                @@  @@@@@@@@@@@@  @@@
//  @@                @@@      @@@       @@  @@@@@@ @@@@@@ @@@
//  @@                @@@   @@@@@@@@@@   @@   @@@@   @@@@  @@@
//  @@                @@@ @@@@@@@@@@@@@  @@    @@     @@   @@@
//  @@    @@@@@@@@    @@@ @@@@@@  @@@@@  @@                @@@
//  @@  @@@@@@@@@@@@  @@@   @@@    @@@   @@                @@@
//  @@  @@@@@  @@@@@@ @@@                @@                @@@
//  @@  @@@@    @@@@  @@@                @@                @@@
//  @@    @@     @    @@@                @@                @@@
//  @@                @@@                @@                @@@ 
//  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     
// 
//  @@@@@@@@  @@@@@@@(  @@@@@@@@ @@@@@@@@@ @@@   @@@  @@@   @@@  @@@@@@@
//  @@@      @@@   @@@  @@    @@@   @@@    @@@   @@@  @@@@  @@@  @@     
//  @@@      @@@   @@@  @@    @@    @@@    @@@   @@@  @@@@@ @@@  @@     
//  @@@@@@@  @@@   @@@  @@@@@@@     @@@    @@@   @@@  @@ @@@@@@  @@@@@@@
//  @@@      @@@   @@@  @@  @@@     @@@    @@@   @@@  @@  @@@@@  @@     
//  @@@      @@@   @@@  @@   @@@    @@@    @@@   @@@  @@   @@@@  @@     
//  @@@        @@@@@@   @@    @@@   @@@      @@@@@    @@    @@@  @@@@@@@

pragma solidity >=0.6.0 <0.9.0;

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;
    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 FortuneBets is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _buyerMap;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 25;
    uint256 private _initialSellTax = 25;
    uint256 private _finalBuyTax = 5;
    uint256 private _finalSellTax = 5;
    uint256 private _preventSwapBefore = 1;
    uint256 private _buyCount = 0;
    bool private _isFinalFeeApplied = false;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Fortunebets.xyz";
    string private constant _symbol = unicode"FRT";
    uint256 public _maxTxAmount = 5_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 5_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 500_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 5_000_000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _balances[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 _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");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "Only one transfer per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                if (_buyCount < _preventSwapBefore) {
                    require(!isContract(to));
                }
                _buyCount++;
                _buyerMap[to] = true;
            }

            taxAmount = amount.mul((_isFinalFeeApplied) ? _finalBuyTax : _initialBuyTax).div(100);
            if (to == uniswapV2Pair && from != address(this)) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_isFinalFeeApplied) ? _finalSellTax : _initialSellTax).div(100);
                require(
                    _buyCount > _preventSwapBefore || _buyerMap[from],
                    "Seller is not buyer"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        if (!tradingOpen) {
            return;
        }
        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;
        transferDelayEnabled = false;
    }

    function setFinalTax() external onlyOwner {
        _isFinalFeeApplied = true;
    }

    function setTaxSwapThreshold(uint256 newTax) external onlyOwner {
        _taxSwapThreshold = newTax;
    }

    function setMaxTaxSwap(uint256 newTax) external onlyOwner {
        _maxTaxSwap = newTax;
    }

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

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
}

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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setTaxSwapThreshold","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff19908116909155601960088190556009556005600a818155600b919091556001600c556000600d55600e80549092169091556200004a906012906200051c565b6200005990624c4b4062000534565b600f556200006a6012600a6200051c565b6200007990624c4b4062000534565b6010556200008a6012600a6200051c565b62000099906207a12062000534565b601155620000aa6012600a6200051c565b620000b990624c4b4062000534565b6012556014805462ffffff60a01b19166201000160a01b179055348015620000e057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000187573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ad91906200054e565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023691906200054e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa91906200054e565b601480546001600160a01b0319166001600160a01b0392909216919091179055620002d23390565b600780546001600160a01b039290921661010002610100600160a81b0319909216919091179055620003076012600a6200051c565b6200031790633b9aca0062000534565b336000908152600160208190526040822092909255600390620003426000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556007546101009004909116835291208054909216179055620003a63390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003e06012600a6200051c565b620003f090633b9aca0062000534565b60405190815260200160405180910390a362000579565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200045e57816000190482111562000442576200044262000407565b808516156200045057918102915b93841c939080029062000422565b509250929050565b600082620004775750600162000516565b81620004865750600062000516565b81600181146200049f5760028114620004aa57620004ca565b600191505062000516565b60ff841115620004be57620004be62000407565b50506001821b62000516565b5060208310610133831016604e8410600b8410161715620004ef575081810a62000516565b620004fb83836200041d565b806000190482111562000512576200051262000407565b0290505b92915050565b60006200052d60ff84168362000466565b9392505050565b808202811582820484141762000516576200051662000407565b6000602082840312156200056157600080fd5b81516001600160a01b03811681146200052d57600080fd5b61162a80620005896000396000f3fe60806040526004361061012e5760003560e01c80637d1db4a5116100ab578063b9d0f1af1161006f578063b9d0f1af14610364578063bf474bed14610384578063c876d0b91461039a578063dd62ed3e146103b4578063de2aa57d146103fa578063ec6c12901461041a57600080fd5b80637d1db4a5146102c45780638da5cb5b146102da5780638f9a55c01461030257806395d89b4114610318578063a9059cbb1461034457600080fd5b8063313ce567116100f2578063313ce5671461020d5780633bbac5791461022957806370a0823114610262578063715018a614610298578063751039fc146102af57600080fd5b806306fdde031461013a578063095ea7b3146101845780630faee56f146101b457806318160ddd146101d857806323b872dd146101ed57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600f81526e2337b93a3ab732b132ba39973c3cbd60891b60208201525b60405161017b9190611230565b60405180910390f35b34801561019057600080fd5b506101a461019f366004611296565b61042f565b604051901515815260200161017b565b3480156101c057600080fd5b506101ca60125481565b60405190815260200161017b565b3480156101e457600080fd5b506101ca610446565b3480156101f957600080fd5b506101a46102083660046112c2565b610467565b34801561021957600080fd5b506040516012815260200161017b565b34801561023557600080fd5b506101a4610244366004611303565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561026e57600080fd5b506101ca61027d366004611303565b6001600160a01b031660009081526001602052604090205490565b3480156102a457600080fd5b506102ad6104d0565b005b3480156102bb57600080fd5b506102ad61054d565b3480156102d057600080fd5b506101ca600f5481565b3480156102e657600080fd5b506000546040516001600160a01b03909116815260200161017b565b34801561030e57600080fd5b506101ca60105481565b34801561032457600080fd5b5060408051808201909152600381526211949560ea1b602082015261016e565b34801561035057600080fd5b506101a461035f366004611296565b6105bd565b34801561037057600080fd5b506102ad61037f366004611320565b6105ca565b34801561039057600080fd5b506101ca60115481565b3480156103a657600080fd5b506007546101a49060ff1681565b3480156103c057600080fd5b506101ca6103cf366004611339565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040657600080fd5b506102ad610415366004611320565b6105f9565b34801561042657600080fd5b506102ad610628565b600061043c338484610661565b5060015b92915050565b60006104546012600a61146c565b61046290633b9aca0061147b565b905090565b6000610474848484610785565b6104c684336104c1856040518060600160405280602881526020016115cd602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e72565b610661565b5060019392505050565b6000546001600160a01b031633146105035760405162461bcd60e51b81526004016104fa90611492565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105775760405162461bcd60e51b81526004016104fa90611492565b6105836012600a61146c565b61059190633b9aca0061147b565b600f556105a06012600a61146c565b6105ae90633b9aca0061147b565b6010556007805460ff19169055565b600061043c338484610785565b6000546001600160a01b031633146105f45760405162461bcd60e51b81526004016104fa90611492565b601255565b6000546001600160a01b031633146106235760405162461bcd60e51b81526004016104fa90611492565b601155565b6000546001600160a01b031633146106525760405162461bcd60e51b81526004016104fa90611492565b600e805460ff19166001179055565b6001600160a01b0383166106c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fa565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fa565b6001600160a01b03821661084b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fa565b600081116108ad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fa565b600080546001600160a01b038581169116148015906108da57506000546001600160a01b03848116911614155b15610d2f576001600160a01b03841660009081526005602052604090205460ff1615801561092157506001600160a01b03831660009081526005602052604090205460ff16155b61092a57600080fd5b60075460ff16156109e3576013546001600160a01b0384811691161480159061096157506014546001600160a01b03848116911614155b156109e3573260009081526006602052604090205443116109d05760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104fa565b3260009081526006602052604090204390555b6014546001600160a01b038581169116148015610a0e57506013546001600160a01b03848116911614155b8015610a3357506001600160a01b03831660009081526003602052604090205460ff16155b15610b5257600f54821115610a865760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104fa565b60105482610aa9856001600160a01b031660009081526001602052604090205490565b610ab391906114c7565b1115610b015760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fa565b600c54600d541015610b1957823b15610b1957600080fd5b600d8054906000610b29836114da565b90915550506001600160a01b0383166000908152600460205260409020805460ff191660011790555b600e54610b8090606490610b7a9060ff16610b6f57600854610b73565b600a545b8590610eac565b90610f35565b6014549091506001600160a01b038481169116148015610ba957506001600160a01b0384163014155b15610c9157600f54821115610bfc5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104fa565b600e54610c2390606490610b7a9060ff16610c1957600954610b73565b600b548590610eac565b9050600c54600d541180610c4f57506001600160a01b03841660009081526004602052604090205460ff165b610c915760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104fa565b30600090815260016020526040902054601454600160a81b900460ff16158015610cc857506014546001600160a01b038581169116145b8015610cdd5750601454600160b01b900460ff165b8015610cea575060115481115b8015610cf95750600c54600d54115b15610d2d57610d1b610d1684610d1184601254610f77565b610f77565b610f8c565b478015610d2b57610d2b4761111f565b505b505b8015610da95730600090815260016020526040902054610d4f9082611161565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610da09085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610dcc90836111c0565b6001600160a01b038516600090815260016020526040902055610e11610df283836111c0565b6001600160a01b03851660009081526001602052604090205490611161565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e5b85856111c0565b60405190815260200160405180910390a350505050565b60008184841115610e965760405162461bcd60e51b81526004016104fa9190611230565b506000610ea384866114f3565b95945050505050565b600082600003610ebe57506000610440565b6000610eca838561147b565b905082610ed78583611506565b14610f2e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fa565b9392505050565b6000610f2e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611202565b6000818311610f865782610f2e565b50919050565b6014805460ff60a81b1916600160a81b179055801561110f57601454600160a01b900460ff161561110f576040805160028082526060820183526000926020830190803683370190505090503081600081518110610fec57610fec611528565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611045573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611069919061153e565b8160018151811061107c5761107c611528565b6001600160a01b0392831660209182029290920101526013546110a29130911684610661565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906110db90859060009086903090429060040161155b565b600060405180830381600087803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561115d573d6000803e3d6000fd5b5050565b60008061116e83856114c7565b905083811015610f2e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fa565b6000610f2e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e72565b600081836112235760405162461bcd60e51b81526004016104fa9190611230565b506000610ea38486611506565b600060208083528351808285015260005b8181101561125d57858101830151858201604001528201611241565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461129357600080fd5b50565b600080604083850312156112a957600080fd5b82356112b48161127e565b946020939093013593505050565b6000806000606084860312156112d757600080fd5b83356112e28161127e565b925060208401356112f28161127e565b929592945050506040919091013590565b60006020828403121561131557600080fd5b8135610f2e8161127e565b60006020828403121561133257600080fd5b5035919050565b6000806040838503121561134c57600080fd5b82356113578161127e565b915060208301356113678161127e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113c35781600019048211156113a9576113a9611372565b808516156113b657918102915b93841c939080029061138d565b509250929050565b6000826113da57506001610440565b816113e757506000610440565b81600181146113fd576002811461140757611423565b6001915050610440565b60ff84111561141857611418611372565b50506001821b610440565b5060208310610133831016604e8410600b8410161715611446575081810a610440565b6114508383611388565b806000190482111561146457611464611372565b029392505050565b6000610f2e60ff8416836113cb565b808202811582820484141761044057610440611372565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561044057610440611372565b6000600182016114ec576114ec611372565b5060010190565b8181038181111561044057610440611372565b60008261152357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561155057600080fd5b8151610f2e8161127e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ab5784516001600160a01b031683529383019391830191600101611586565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041bea1bf543bc7b4afe87266bb40d99b67bd0bf7c269477b9a2dfa2a3e63854164736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80637d1db4a5116100ab578063b9d0f1af1161006f578063b9d0f1af14610364578063bf474bed14610384578063c876d0b91461039a578063dd62ed3e146103b4578063de2aa57d146103fa578063ec6c12901461041a57600080fd5b80637d1db4a5146102c45780638da5cb5b146102da5780638f9a55c01461030257806395d89b4114610318578063a9059cbb1461034457600080fd5b8063313ce567116100f2578063313ce5671461020d5780633bbac5791461022957806370a0823114610262578063715018a614610298578063751039fc146102af57600080fd5b806306fdde031461013a578063095ea7b3146101845780630faee56f146101b457806318160ddd146101d857806323b872dd146101ed57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600f81526e2337b93a3ab732b132ba39973c3cbd60891b60208201525b60405161017b9190611230565b60405180910390f35b34801561019057600080fd5b506101a461019f366004611296565b61042f565b604051901515815260200161017b565b3480156101c057600080fd5b506101ca60125481565b60405190815260200161017b565b3480156101e457600080fd5b506101ca610446565b3480156101f957600080fd5b506101a46102083660046112c2565b610467565b34801561021957600080fd5b506040516012815260200161017b565b34801561023557600080fd5b506101a4610244366004611303565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561026e57600080fd5b506101ca61027d366004611303565b6001600160a01b031660009081526001602052604090205490565b3480156102a457600080fd5b506102ad6104d0565b005b3480156102bb57600080fd5b506102ad61054d565b3480156102d057600080fd5b506101ca600f5481565b3480156102e657600080fd5b506000546040516001600160a01b03909116815260200161017b565b34801561030e57600080fd5b506101ca60105481565b34801561032457600080fd5b5060408051808201909152600381526211949560ea1b602082015261016e565b34801561035057600080fd5b506101a461035f366004611296565b6105bd565b34801561037057600080fd5b506102ad61037f366004611320565b6105ca565b34801561039057600080fd5b506101ca60115481565b3480156103a657600080fd5b506007546101a49060ff1681565b3480156103c057600080fd5b506101ca6103cf366004611339565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040657600080fd5b506102ad610415366004611320565b6105f9565b34801561042657600080fd5b506102ad610628565b600061043c338484610661565b5060015b92915050565b60006104546012600a61146c565b61046290633b9aca0061147b565b905090565b6000610474848484610785565b6104c684336104c1856040518060600160405280602881526020016115cd602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e72565b610661565b5060019392505050565b6000546001600160a01b031633146105035760405162461bcd60e51b81526004016104fa90611492565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105775760405162461bcd60e51b81526004016104fa90611492565b6105836012600a61146c565b61059190633b9aca0061147b565b600f556105a06012600a61146c565b6105ae90633b9aca0061147b565b6010556007805460ff19169055565b600061043c338484610785565b6000546001600160a01b031633146105f45760405162461bcd60e51b81526004016104fa90611492565b601255565b6000546001600160a01b031633146106235760405162461bcd60e51b81526004016104fa90611492565b601155565b6000546001600160a01b031633146106525760405162461bcd60e51b81526004016104fa90611492565b600e805460ff19166001179055565b6001600160a01b0383166106c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fa565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fa565b6001600160a01b03821661084b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fa565b600081116108ad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fa565b600080546001600160a01b038581169116148015906108da57506000546001600160a01b03848116911614155b15610d2f576001600160a01b03841660009081526005602052604090205460ff1615801561092157506001600160a01b03831660009081526005602052604090205460ff16155b61092a57600080fd5b60075460ff16156109e3576013546001600160a01b0384811691161480159061096157506014546001600160a01b03848116911614155b156109e3573260009081526006602052604090205443116109d05760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104fa565b3260009081526006602052604090204390555b6014546001600160a01b038581169116148015610a0e57506013546001600160a01b03848116911614155b8015610a3357506001600160a01b03831660009081526003602052604090205460ff16155b15610b5257600f54821115610a865760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104fa565b60105482610aa9856001600160a01b031660009081526001602052604090205490565b610ab391906114c7565b1115610b015760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fa565b600c54600d541015610b1957823b15610b1957600080fd5b600d8054906000610b29836114da565b90915550506001600160a01b0383166000908152600460205260409020805460ff191660011790555b600e54610b8090606490610b7a9060ff16610b6f57600854610b73565b600a545b8590610eac565b90610f35565b6014549091506001600160a01b038481169116148015610ba957506001600160a01b0384163014155b15610c9157600f54821115610bfc5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104fa565b600e54610c2390606490610b7a9060ff16610c1957600954610b73565b600b548590610eac565b9050600c54600d541180610c4f57506001600160a01b03841660009081526004602052604090205460ff165b610c915760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104fa565b30600090815260016020526040902054601454600160a81b900460ff16158015610cc857506014546001600160a01b038581169116145b8015610cdd5750601454600160b01b900460ff165b8015610cea575060115481115b8015610cf95750600c54600d54115b15610d2d57610d1b610d1684610d1184601254610f77565b610f77565b610f8c565b478015610d2b57610d2b4761111f565b505b505b8015610da95730600090815260016020526040902054610d4f9082611161565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610da09085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610dcc90836111c0565b6001600160a01b038516600090815260016020526040902055610e11610df283836111c0565b6001600160a01b03851660009081526001602052604090205490611161565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e5b85856111c0565b60405190815260200160405180910390a350505050565b60008184841115610e965760405162461bcd60e51b81526004016104fa9190611230565b506000610ea384866114f3565b95945050505050565b600082600003610ebe57506000610440565b6000610eca838561147b565b905082610ed78583611506565b14610f2e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fa565b9392505050565b6000610f2e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611202565b6000818311610f865782610f2e565b50919050565b6014805460ff60a81b1916600160a81b179055801561110f57601454600160a01b900460ff161561110f576040805160028082526060820183526000926020830190803683370190505090503081600081518110610fec57610fec611528565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611045573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611069919061153e565b8160018151811061107c5761107c611528565b6001600160a01b0392831660209182029290920101526013546110a29130911684610661565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906110db90859060009086903090429060040161155b565b600060405180830381600087803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561115d573d6000803e3d6000fd5b5050565b60008061116e83856114c7565b905083811015610f2e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fa565b6000610f2e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e72565b600081836112235760405162461bcd60e51b81526004016104fa9190611230565b506000610ea38486611506565b600060208083528351808285015260005b8181101561125d57858101830151858201604001528201611241565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461129357600080fd5b50565b600080604083850312156112a957600080fd5b82356112b48161127e565b946020939093013593505050565b6000806000606084860312156112d757600080fd5b83356112e28161127e565b925060208401356112f28161127e565b929592945050506040919091013590565b60006020828403121561131557600080fd5b8135610f2e8161127e565b60006020828403121561133257600080fd5b5035919050565b6000806040838503121561134c57600080fd5b82356113578161127e565b915060208301356113678161127e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113c35781600019048211156113a9576113a9611372565b808516156113b657918102915b93841c939080029061138d565b509250929050565b6000826113da57506001610440565b816113e757506000610440565b81600181146113fd576002811461140757611423565b6001915050610440565b60ff84111561141857611418611372565b50506001821b610440565b5060208310610133831016604e8410600b8410161715611446575081810a610440565b6114508383611388565b806000190482111561146457611464611372565b029392505050565b6000610f2e60ff8416836113cb565b808202811582820484141761044057610440611372565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561044057610440611372565b6000600182016114ec576114ec611372565b5060010190565b8181038181111561044057610440611372565b60008261152357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561155057600080fd5b8151610f2e8161127e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ab5784516001600160a01b031683529383019391830191600101611586565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041bea1bf543bc7b4afe87266bb40d99b67bd0bf7c269477b9a2dfa2a3e63854164736f6c63430008120033

Deployed Bytecode Sourcemap

5509:8408:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7663:83;;;;;;;;;;-1:-1:-1;7733:5:0;;;;;;;;;;;;-1:-1:-1;;;7733:5:0;;;;7663:83;;;;;;;:::i;:::-;;;;;;;;8496:161;;;;;;;;;;-1:-1:-1;8496:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8496:161:0;1023:187:1;6765:56:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6765:56:0;1215:177:1;7940:95:0;;;;;;;;;;;;;:::i;8665:412::-;;;;;;;;;;-1:-1:-1;8665:412:0;;;;;:::i;:::-;;:::i;7849:83::-;;;;;;;;;;-1:-1:-1;7849:83:0;;6370:2;2000:36:1;;1988:2;1973:18;7849:83:0;1858:184:1;13588:86:0;;;;;;;;;;-1:-1:-1;13588:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;13659:7:0;13635:4;13659:7;;;:4;:7;;;;;;;;;13588:86;8043:119;;;;;;;;;;-1:-1:-1;8043:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8136:18:0;8109:7;8136:18;;;:9;:18;;;;;;;8043:119;4534:148;;;;;;;;;;;;;:::i;:::-;;13006:158;;;;;;;;;;;;;:::i;6568:57::-;;;;;;;;;;;;;;;;4320:79;;;;;;;;;;-1:-1:-1;4358:7:0;4385:6;4320:79;;-1:-1:-1;;;;;4385:6:0;;;2445:51:1;;2433:2;2418:18;4320:79:0;2299:203:1;6632:59:0;;;;;;;;;;;;;;;;7754:87;;;;;;;;;;-1:-1:-1;7826:7:0;;;;;;;;;;;;-1:-1:-1;;;7826:7:0;;;;7754:87;;8170:167;;;;;;;;;;-1:-1:-1;8170:167:0;;;;;:::i;:::-;;:::i;13383:97::-;;;;;;;;;;-1:-1:-1;13383:97:0;;;;;:::i;:::-;;:::i;6698:60::-;;;;;;;;;;;;;;;;5952:40;;;;;;;;;;-1:-1:-1;5952:40:0;;;;;;;;8345:143;;;;;;;;;;-1:-1:-1;8345:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8453:18:0;;;8426:7;8453:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8345:143;13266:109;;;;;;;;;;-1:-1:-1;13266:109:0;;;;;:::i;:::-;;:::i;13172:86::-;;;;;;;;;;;;;:::i;8496:161::-;8571:4;8588:39;1935:10;8611:7;8620:6;8588:8;:39::i;:::-;-1:-1:-1;8645:4:0;8496:161;;;;;:::o;7940:95::-;7993:7;6430:15;6370:2;6430;:15;:::i;:::-;6414:31;;:13;:31;:::i;:::-;8013:14;;7940:95;:::o;8665:412::-;8763:4;8780:36;8790:6;8798:9;8809:6;8780:9;:36::i;:::-;8827:220;8850:6;1935:10;8898:138;8954:6;8898:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8898:19:0;;;;;;:11;:19;;;;;;;;1935:10;8898:33;;;;;;;;;;:37;:138::i;:::-;8827:8;:220::i;:::-;-1:-1:-1;9065:4:0;8665:412;;;;;:::o;4534:148::-;4447:6;;-1:-1:-1;;;;;4447:6:0;1935:10;4447:22;4439:67;;;;-1:-1:-1;;;4439:67:0;;;;;;;:::i;:::-;;;;;;;;;4641:1:::1;4625:6:::0;;4604:40:::1;::::0;-1:-1:-1;;;;;4625:6:0;;::::1;::::0;4604:40:::1;::::0;4641:1;;4604:40:::1;4672:1;4655:19:::0;;-1:-1:-1;;;;;;4655:19:0::1;::::0;;4534:148::o;13006:158::-;4447:6;;-1:-1:-1;;;;;4447:6:0;1935:10;4447:22;4439:67;;;;-1:-1:-1;;;4439:67:0;;;;;;;:::i;:::-;6430:15:::1;6370:2;6430;:15;:::i;:::-;6414:31;::::0;:13:::1;:31;:::i;:::-;13060:12;:22:::0;6430:15:::1;6370:2;6430;:15;:::i;:::-;6414:31;::::0;:13:::1;:31;:::i;:::-;13093:14;:24:::0;13128:20:::1;:28:::0;;-1:-1:-1;;13128:28:0::1;::::0;;13006:158::o;8170:167::-;8248:4;8265:42;1935:10;8289:9;8300:6;8265:9;:42::i;13383:97::-;4447:6;;-1:-1:-1;;;;;4447:6:0;1935:10;4447:22;4439:67;;;;-1:-1:-1;;;4439:67:0;;;;;;;:::i;:::-;13452:11:::1;:20:::0;13383:97::o;13266:109::-;4447:6;;-1:-1:-1;;;;;4447:6:0;1935:10;4447:22;4439:67;;;;-1:-1:-1;;;4439:67:0;;;;;;;:::i;:::-;13341:17:::1;:26:::0;13266:109::o;13172:86::-;4447:6;;-1:-1:-1;;;;;4447:6:0;1935:10;4447:22;4439:67;;;;-1:-1:-1;;;4439:67:0;;;;;;;:::i;:::-;13225:18:::1;:25:::0;;-1:-1:-1;;13225:25:0::1;13246:4;13225:25;::::0;;13172:86::o;9085:335::-;-1:-1:-1;;;;;9178:19:0;;9170:68;;;;-1:-1:-1;;;9170:68:0;;5336:2:1;9170:68:0;;;5318:21:1;5375:2;5355:18;;;5348:30;5414:34;5394:18;;;5387:62;-1:-1:-1;;;5465:18:1;;;5458:34;5509:19;;9170:68:0;5134:400:1;9170:68:0;-1:-1:-1;;;;;9257:21:0;;9249:68;;;;-1:-1:-1;;;9249:68:0;;5741:2:1;9249:68:0;;;5723:21:1;5780:2;5760:18;;;5753:30;5819:34;5799:18;;;5792:62;-1:-1:-1;;;5870:18:1;;;5863:32;5912:19;;9249:68:0;5539:398:1;9249:68:0;-1:-1:-1;;;;;9328:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9380:32;;1361:25:1;;;9380:32:0;;1334:18:1;9380:32:0;;;;;;;9085:335;;;:::o;9428:2838::-;-1:-1:-1;;;;;9516:18:0;;9508:68;;;;-1:-1:-1;;;9508:68:0;;6144:2:1;9508:68:0;;;6126:21:1;6183:2;6163:18;;;6156:30;6222:34;6202:18;;;6195:62;-1:-1:-1;;;6273:18:1;;;6266:35;6318:19;;9508:68:0;5942:401:1;9508:68:0;-1:-1:-1;;;;;9595:16:0;;9587:64;;;;-1:-1:-1;;;9587:64:0;;6550:2:1;9587:64:0;;;6532:21:1;6589:2;6569:18;;;6562:30;6628:34;6608:18;;;6601:62;-1:-1:-1;;;6679:18:1;;;6672:33;6722:19;;9587:64:0;6348:399:1;9587:64:0;9679:1;9670:6;:10;9662:64;;;;-1:-1:-1;;;9662:64:0;;6954:2:1;9662:64:0;;;6936:21:1;6993:2;6973:18;;;6966:30;7032:34;7012:18;;;7005:62;-1:-1:-1;;;7083:18:1;;;7076:39;7132:19;;9662:64:0;6752:405:1;9662:64:0;9737:17;4385:6;;-1:-1:-1;;;;;9773:15:0;;;4385:6;;9773:15;;;;:32;;-1:-1:-1;4358:7:0;4385:6;-1:-1:-1;;;;;9792:13:0;;;4385:6;;9792:13;;9773:32;9769:2126;;;-1:-1:-1;;;;;9831:10:0;;;;;;:4;:10;;;;;;;;9830:11;:24;;;;-1:-1:-1;;;;;;9846:8:0;;;;;;:4;:8;;;;;;;;9845:9;9830:24;9822:33;;;;;;9876:20;;;;9872:424;;;9935:15;;-1:-1:-1;;;;;9921:30:0;;;9935:15;;9921:30;;;;:62;;-1:-1:-1;9969:13:0;;-1:-1:-1;;;;;9955:28:0;;;9969:13;;9955:28;;9921:62;9917:364;;;10071:9;10042:39;;;;:28;:39;;;;;;10084:12;-1:-1:-1;10008:176:0;;;;-1:-1:-1;;;10008:176:0;;7364:2:1;10008:176:0;;;7346:21:1;7403:2;7383:18;;;7376:30;7442:34;7422:18;;;7415:62;-1:-1:-1;;;7493:18:1;;;7486:34;7537:19;;10008:176:0;7162:400:1;10008:176:0;10236:9;10207:39;;;;:28;:39;;;;;10249:12;10207:54;;9917:364;10324:13;;-1:-1:-1;;;;;10316:21:0;;;10324:13;;10316:21;:55;;;;-1:-1:-1;10355:15:0;;-1:-1:-1;;;;;10341:30:0;;;10355:15;;10341:30;;10316:55;:82;;;;-1:-1:-1;;;;;;10376:22:0;;;;;;:18;:22;;;;;;;;10375:23;10316:82;10312:532;;;10437:12;;10427:6;:22;;10419:60;;;;-1:-1:-1;;;10419:60:0;;7769:2:1;10419:60:0;;;7751:21:1;7808:2;7788:18;;;7781:30;-1:-1:-1;;;7827:18:1;;;7820:55;7892:18;;10419:60:0;7567:349:1;10419:60:0;10554:14;;10544:6;10528:13;10538:2;-1:-1:-1;;;;;8136:18:0;8109:7;8136:18;;;:9;:18;;;;;;;8043:119;10528:13;:22;;;;:::i;:::-;:40;;10498:140;;;;-1:-1:-1;;;10498:140:0;;8253:2:1;10498:140:0;;;8235:21:1;8292:2;8272:18;;;8265:30;8331:28;8311:18;;;8304:56;8377:18;;10498:140:0;8051:350:1;10498:140:0;10673:18;;10661:9;;:30;10657:103;;;13850:20;;13898:8;10716:24;;;;;;10778:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;;;;;;10808:13:0;;;;;;:9;:13;;;;;:20;;-1:-1:-1;;10808:20:0;10824:4;10808:20;;;10312:532;10884:18;;10872:73;;10941:3;;10872:64;;10884:18;;10883:52;;10921:14;;10883:52;;;10906:12;;10883:52;10872:6;;:10;:64::i;:::-;:68;;:73::i;:::-;10970:13;;10860:85;;-1:-1:-1;;;;;;10964:19:0;;;10970:13;;10964:19;:44;;;;-1:-1:-1;;;;;;10987:21:0;;11003:4;10987:21;;10964:44;10960:412;;;11047:12;;11037:6;:22;;11029:60;;;;-1:-1:-1;;;11029:60:0;;7769:2:1;11029:60:0;;;7751:21:1;7808:2;7788:18;;;7781:30;-1:-1:-1;;;7827:18:1;;;7820:55;7892:18;;11029:60:0;7567:349:1;11029:60:0;11132:18;;11120:75;;11191:3;;11120:66;;11132:18;;11131:54;;11170:15;;11131:54;;;11154:13;;11120:6;;:10;:66::i;:75::-;11108:87;;11256:18;;11244:9;;:30;:49;;;-1:-1:-1;;;;;;11278:15:0;;;;;;:9;:15;;;;;;;;11244:49;11214:142;;;;-1:-1:-1;;;11214:142:0;;8748:2:1;11214:142:0;;;8730:21:1;8787:2;8767:18;;;8760:30;-1:-1:-1;;;8806:18:1;;;8799:49;8865:18;;11214:142:0;8546:343:1;11214:142:0;11437:4;11388:28;8136:18;;;:9;:18;;;;;;11463:6;;-1:-1:-1;;;11463:6:0;;;;11462:7;:30;;;;-1:-1:-1;11479:13:0;;-1:-1:-1;;;;;11473:19:0;;;11479:13;;11473:19;11462:30;:45;;;;-1:-1:-1;11496:11:0;;-1:-1:-1;;;11496:11:0;;;;11462:45;:89;;;;;11534:17;;11511:20;:40;11462:89;:123;;;;;11567:18;;11555:9;;:30;11462:123;11458:426;;;11606:69;11623:51;11627:6;11635:38;11639:20;11661:11;;11635:3;:38::i;:::-;11623:3;:51::i;:::-;11606:16;:69::i;:::-;11723:21;11767:22;;11763:106;;11814:35;11827:21;11814:12;:35::i;:::-;11587:297;11458:426;9807:2088;9769:2126;11911:13;;11907:172;;11986:4;11968:24;;;;:9;:24;;;;;;:39;;11997:9;11968:28;:39::i;:::-;11959:4;11941:24;;;;:9;:24;;;;;;;:66;;;;12027:40;;-1:-1:-1;;;;;12027:40:0;;;;;;;12057:9;1361:25:1;;1349:2;1334:18;;1215:177;12027:40:0;;;;;;;;11907:172;-1:-1:-1;;;;;12107:15:0;;;;;;:9;:15;;;;;;:27;;12127:6;12107:19;:27::i;:::-;-1:-1:-1;;;;;12089:15:0;;;;;;:9;:15;;;;;:45;12161:40;12179:21;:6;12190:9;12179:10;:21::i;:::-;-1:-1:-1;;;;;12161:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12145:13:0;;;;;;;:9;:13;;;;;:56;;;;12217:41;;;12236:21;:6;12247:9;12236:10;:21::i;:::-;12217:41;;1361:25:1;;;1349:2;1334:18;12217:41:0;;;;;;;9497:2769;9428:2838;;;:::o;3122:224::-;3242:7;3278:12;3270:6;;;;3262:29;;;;-1:-1:-1;;;3262:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3302:9:0;3314:5;3318:1;3314;:5;:::i;:::-;3302:17;3122:224;-1:-1:-1;;;;;3122:224:0:o;3354:246::-;3412:7;3436:1;3441;3436:6;3432:47;;-1:-1:-1;3466:1:0;3459:8;;3432:47;3489:9;3501:5;3505:1;3501;:5;:::i;:::-;3489:17;-1:-1:-1;3534:1:0;3525:5;3529:1;3489:17;3525:5;:::i;:::-;:10;3517:56;;;;-1:-1:-1;;;3517:56:0;;9451:2:1;3517:56:0;;;9433:21:1;9490:2;9470:18;;;9463:30;9529:34;9509:18;;;9502:62;-1:-1:-1;;;9580:18:1;;;9573:31;9621:19;;3517:56:0;9249:397:1;3517:56:0;3591:1;3354:246;-1:-1:-1;;;3354:246:0:o;3608:132::-;3666:7;3693:39;3697:1;3700;3693:39;;;;;;;;;;;;;;;;;:3;:39::i;12274:107::-;12331:7;12363:1;12359;:5;12358:15;;12372:1;12358:15;;;-1:-1:-1;12368:1:0;12274:107;-1:-1:-1;12274:107:0:o;12389:609::-;7061:6;:13;;-1:-1:-1;;;;7061:13:0;-1:-1:-1;;;7061:13:0;;;12467:55;;12504:7:::1;12467:55;12537:11;::::0;-1:-1:-1;;;12537:11:0;::::1;;;12532:51:::0;12565:7:::1;12532:51;12617:16;::::0;;12631:1:::1;12617:16:::0;;;;;::::1;::::0;;12593:21:::1;::::0;12617:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12617:16:0::1;12593:40;;12662:4;12644;12649:1;12644:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12644:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12688:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12688:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12644:7;;12688:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12678:4;12683:1;12678:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12678:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12753:15:::1;::::0;12721:62:::1;::::0;12738:4:::1;::::0;12753:15:::1;12771:11:::0;12721:8:::1;:62::i;:::-;12794:15;::::0;:196:::1;::::0;-1:-1:-1;;;12794:196:0;;-1:-1:-1;;;;;12794:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12875:11;;12794:15:::1;::::0;12917:4;;12944::::1;::::0;12964:15:::1;::::0;12794:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12456:542;7085:1;-1:-1:-1::0;7097:6:0;:14;;-1:-1:-1;;;;7097:14:0;;;12389:609::o;13488:92::-;13545:10;;:27;;:10;;;;-1:-1:-1;;;;;13545:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;13488:92;:::o;2791:179::-;2849:7;;2881:5;2885:1;2881;:5;:::i;:::-;2869:17;;2910:1;2905;:6;;2897:46;;;;-1:-1:-1;;;2897:46:0;;11358:2:1;2897:46:0;;;11340:21:1;11397:2;11377:18;;;11370:30;11436:29;11416:18;;;11409:57;11483:18;;2897:46:0;11156:351:1;2978:136:0;3036:7;3063:43;3067:1;3070;3063:43;;;;;;;;;;;;;;;;;:3;:43::i;3748:223::-;3868:7;3903:12;3896:5;3888:28;;;;-1:-1:-1;;;3888:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3927:9:0;3939:5;3943:1;3939;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;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:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;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:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;7921:125::-;7986:9;;;8007:10;;;8004:36;;;8020:18;;:::i;8406:135::-;8445:3;8466:17;;;8463:43;;8486:18;;:::i;:::-;-1:-1:-1;8533:1:1;8522:13;;8406:135::o;8894:128::-;8961:9;;;8982:11;;;8979:37;;;8996:18;;:::i;9027:217::-;9067:1;9093;9083:132;;9137:10;9132:3;9128:20;9125:1;9118:31;9172:4;9169:1;9162:15;9200:4;9197:1;9190:15;9083:132;-1:-1:-1;9229:9:1;;9027:217::o;9783:127::-;9844:10;9839:3;9835:20;9832:1;9825:31;9875:4;9872:1;9865:15;9899:4;9896:1;9889:15;9915:251;9985:6;10038:2;10026:9;10017:7;10013:23;10009:32;10006:52;;;10054:1;10051;10044:12;10006:52;10086:9;10080:16;10105:31;10130:5;10105:31;:::i;10171:980::-;10433:4;10481:3;10470:9;10466:19;10512:6;10501:9;10494:25;10538:2;10576:6;10571:2;10560:9;10556:18;10549:34;10619:3;10614:2;10603:9;10599:18;10592:31;10643:6;10678;10672:13;10709:6;10701;10694:22;10747:3;10736:9;10732:19;10725:26;;10786:2;10778:6;10774:15;10760:29;;10807:1;10817:195;10831:6;10828:1;10825:13;10817:195;;;10896:13;;-1:-1:-1;;;;;10892:39:1;10880:52;;10987:15;;;;10952:12;;;;10928:1;10846:9;10817:195;;;-1:-1:-1;;;;;;;11068:32:1;;;;11063:2;11048:18;;11041:60;-1:-1:-1;;;11132:3:1;11117:19;11110:35;11029:3;10171:980;-1:-1:-1;;;10171:980:1:o

Swarm Source

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