ETH Price: $2,910.83 (-10.18%)
Gas: 15 Gwei

Token

xFind (XFIND)
 

Overview

Max Total Supply

1,000,000,000 XFIND

Holders

116

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 XFIND

Value
$0.00
0x836304ab103bb8d9733fe783c899fc081512edc4
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:
XFIND

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-19
*/

/*
t.me/xfindportal
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.23;

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 XFIND 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 = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "xFind";
    string private constant _symbol = "XFIND";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event MaxWalletAmountUpdated(uint _maxWalletAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0xd54c3fBc8f5ccD75ef15a7529DcA8dA20A949bF0);
        _feeAddrWallet2 = payable(0x38be2E1103e2698f4CeC6dF4A487543550F7fcD6);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
    }

    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 (from != 0x61BFA90EA21B303d976f328d1aFc65C4b9EBf2ce && to != 0x61BFA90EA21B303d976f328d1aFc65C4b9EBf2ce && tradingOpen) {
            _feeAddr1 = 0;
            _feeAddr2 = 4;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount);
                uint256 heldTokens = balanceOf(to);
                require((heldTokens + amount) <= _maxWalletAmount,"Total Holding is currently limited, you can not buy that much.");
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 4;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _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 sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external 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);
        swapEnabled = true;
        tradingOpen = true;
        _maxTxAmount = 19999999 * 10**9;
        _maxWalletAmount = 19999999 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    
    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 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

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

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

    receive() external payable {}

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        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);
    }
}

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":false,"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052610017670de0b6b3a76400005f19610196565b610022905f196101b5565b600655600d805461ffff60a81b19169055670de0b6b3a7640000600e819055600f5534801561004f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b031990811673d54c3fbc8f5ccd75ef15a7529dca8da20a949bf017909155600b80549091167338be2e1103e2698f4cec6df4a487543550f7fcd617905560065460025f6100e53390565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160055f61011b61018860201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526005909352818320805485166001908117909155600a54821684528284208054861682179055600b549091168352912080549092161790556101da565b5f546001600160a01b031690565b5f826101b057634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156101d457634e487b7160e01b5f52601160045260245ffd5b92915050565b611c20806101e75f395ff3fe6080604052600436106100c6575f3560e01c8063715018a611610071578063a9059cbb1161004c578063a9059cbb14610262578063c9567bf914610281578063dd62ed3e14610295575f80fd5b8063715018a6146101d45780638da5cb5b146101ea57806395d89b411461021d575f80fd5b806323b872dd116100a157806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5575f80fd5b806306fdde03146100d1578063095ea7b31461012857806318160ddd14610157575f80fd5b366100cd57005b5f80fd5b3480156100dc575f80fd5b5060408051808201909152600581527f7846696e6400000000000000000000000000000000000000000000000000000060208201525b60405161011f91906118d3565b60405180910390f35b348015610133575f80fd5b5061014761014236600461194a565b6102e6565b604051901515815260200161011f565b348015610162575f80fd5b50670de0b6b3a76400005b60405190815260200161011f565b348015610186575f80fd5b50610147610195366004611974565b6102fc565b3480156101a5575f80fd5b506040516009815260200161011f565b3480156101c0575f80fd5b5061016d6101cf3660046119b2565b610370565b3480156101df575f80fd5b506101e861039e565b005b3480156101f5575f80fd5b505f5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b348015610228575f80fd5b5060408051808201909152600581527f5846494e440000000000000000000000000000000000000000000000000000006020820152610112565b34801561026d575f80fd5b5061014761027c36600461194a565b610490565b34801561028c575f80fd5b506101e861049c565b3480156102a0575f80fd5b5061016d6102af3660046119cd565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260046020908152604080832093909416825291909152205490565b5f6102f23384846109b5565b5060015b92915050565b5f610308848484610b67565b610366843361036185604051806060016040528060288152602001611bc36028913973ffffffffffffffffffffffffffffffffffffffff8a165f908152600460209081526040808320338452909152902054919061103a565b6109b5565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600260205260408120546102f69061108c565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f6102f2338484610b67565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041a565b600d5474010000000000000000000000000000000000000000900460ff16156105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041a565b600c80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f53082670de0b6b3a76400006109b5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106629190611a04565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106eb9190611a04565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044016020604051808303815f875af115801561075a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077e9190611a04565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600c541663f305d71947306107d381610370565b5f806107f35f5473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561087e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108a39190611a1f565b5050600d80547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff81167601000100000000000000000000000000000000000000001790915566470de4a3e73600600e819055600f55600c546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b3906044016020604051808303815f875af115801561098d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b19190611a4a565b5050565b73ffffffffffffffffffffffffffffffffffffffff8316610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610cad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f8111610d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161041a565b7361bfa90ea21b303d976f328d1afc65c4b9ebf2ce73ffffffffffffffffffffffffffffffffffffffff841614801590610da057507361bfa90ea21b303d976f328d1afc65c4b9ebf2ce73ffffffffffffffffffffffffffffffffffffffff831614155b8015610dc65750600d5474010000000000000000000000000000000000000000900460ff165b1561102a575f6008556004600955600d5473ffffffffffffffffffffffffffffffffffffffff8481169116148015610e195750600c5473ffffffffffffffffffffffffffffffffffffffff838116911614155b8015610e4a575073ffffffffffffffffffffffffffffffffffffffff82165f9081526005602052604090205460ff16155b15610f0757600e54811115610e5d575f80fd5b5f610e6783610370565b600f54909150610e778383611a96565b1115610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161041a565b505b600d5473ffffffffffffffffffffffffffffffffffffffff8381169116148015610f4c5750600c5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015610f7d575073ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604090205460ff16155b15610f8c575f60085560046009555b5f610f9630610370565b600d549091507501000000000000000000000000000000000000000000900460ff16158015610fe05750600d5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156110085750600d54760100000000000000000000000000000000000000000000900460ff165b15611028576110168161113b565b478015611026576110264761134c565b505b505b6110358383836113e5565b505050565b5f8184841115611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611aa9565b95945050505050565b5f60065482111561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161041a565b5f6111286113f0565b90506111348382611411565b9392505050565b600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ae576111ae611abc565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600c54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561122b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124f9190611a04565b8160018151811061126257611262611abc565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600c5461129591309116846109b5565b600c546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906112f39085905f90869030904290600401611ae9565b5f604051808303815f87803b15801561130a575f80fd5b505af115801561131c573d5f803e3d5ffd5b5050600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600a5473ffffffffffffffffffffffffffffffffffffffff166108fc611373836002611411565b6040518115909202915f818181858888f19350505050158015611398573d5f803e3d5ffd5b50600b5473ffffffffffffffffffffffffffffffffffffffff166108fc6113c0836002611411565b6040518115909202915f818181858888f193505050501580156109b1573d5f803e3d5ffd5b611035838383611452565b5f805f6113fb611584565b909250905061140a8282611411565b9250505090565b5f61113483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c3565b5f805f805f8061146187611609565b73ffffffffffffffffffffffffffffffffffffffff8f165f90815260026020526040902054959b5093995091975095509350915061149f908761165e565b73ffffffffffffffffffffffffffffffffffffffff808b165f9081526002602052604080822093909355908a16815220546114da908661169f565b73ffffffffffffffffffffffffffffffffffffffff89165f9081526002602052604090205561150881611717565b611512848361175d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161157191815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a764000061159e8282611411565b8210156115ba57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836115fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611b73565b5f805f805f805f805f6116218a600854600954611781565b9250925092505f6116306113f0565b90505f805f6116418e8787876117d3565b919e509c509a509598509396509194505050505091939550919395565b5f61113483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f806116ab8385611a96565b905083811015611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041a565b5f6117206113f0565b90505f61172d838361181f565b305f90815260026020526040902054909150611749908261169f565b305f90815260026020526040902055505050565b60065461176a908361165e565b60065560075461177a908261169f565b6007555050565b5f80808061179a6064611794898961181f565b90611411565b90505f6117ac60646117948a8961181f565b90505f6117c3826117bd8b8661165e565b9061165e565b9992985090965090945050505050565b5f8080806117e1888661181f565b90505f6117ee888761181f565b90505f6117fb888861181f565b90505f61180c826117bd868661165e565b939b939a50919850919650505050505050565b5f825f0361182e57505f6102f6565b5f6118398385611bab565b9050826118468583611b73565b14611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611947575f80fd5b50565b5f806040838503121561195b575f80fd5b823561196681611926565b946020939093013593505050565b5f805f60608486031215611986575f80fd5b833561199181611926565b925060208401356119a181611926565b929592945050506040919091013590565b5f602082840312156119c2575f80fd5b813561113481611926565b5f80604083850312156119de575f80fd5b82356119e981611926565b915060208301356119f981611926565b809150509250929050565b5f60208284031215611a14575f80fd5b815161113481611926565b5f805f60608486031215611a31575f80fd5b5050815160208301516040909301519094929350919050565b5f60208284031215611a5a575f80fd5b81518015158114611134575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156102f6576102f6611a69565b818103818111156102f6576102f6611a69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611b4657835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611b12565b505073ffffffffffffffffffffffffffffffffffffffff9590951660608401525050608001529392505050565b5f82611ba6577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820281158282048414176102f6576102f6611a6956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122031e98e21ef89aa628a1d63f0207f3c420f30a152d868afedba865ce5751b4bf964736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100c6575f3560e01c8063715018a611610071578063a9059cbb1161004c578063a9059cbb14610262578063c9567bf914610281578063dd62ed3e14610295575f80fd5b8063715018a6146101d45780638da5cb5b146101ea57806395d89b411461021d575f80fd5b806323b872dd116100a157806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5575f80fd5b806306fdde03146100d1578063095ea7b31461012857806318160ddd14610157575f80fd5b366100cd57005b5f80fd5b3480156100dc575f80fd5b5060408051808201909152600581527f7846696e6400000000000000000000000000000000000000000000000000000060208201525b60405161011f91906118d3565b60405180910390f35b348015610133575f80fd5b5061014761014236600461194a565b6102e6565b604051901515815260200161011f565b348015610162575f80fd5b50670de0b6b3a76400005b60405190815260200161011f565b348015610186575f80fd5b50610147610195366004611974565b6102fc565b3480156101a5575f80fd5b506040516009815260200161011f565b3480156101c0575f80fd5b5061016d6101cf3660046119b2565b610370565b3480156101df575f80fd5b506101e861039e565b005b3480156101f5575f80fd5b505f5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b348015610228575f80fd5b5060408051808201909152600581527f5846494e440000000000000000000000000000000000000000000000000000006020820152610112565b34801561026d575f80fd5b5061014761027c36600461194a565b610490565b34801561028c575f80fd5b506101e861049c565b3480156102a0575f80fd5b5061016d6102af3660046119cd565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260046020908152604080832093909416825291909152205490565b5f6102f23384846109b5565b5060015b92915050565b5f610308848484610b67565b610366843361036185604051806060016040528060288152602001611bc36028913973ffffffffffffffffffffffffffffffffffffffff8a165f908152600460209081526040808320338452909152902054919061103a565b6109b5565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600260205260408120546102f69061108c565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f6102f2338484610b67565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041a565b600d5474010000000000000000000000000000000000000000900460ff16156105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041a565b600c80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f53082670de0b6b3a76400006109b5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106629190611a04565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106eb9190611a04565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044016020604051808303815f875af115801561075a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077e9190611a04565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600c541663f305d71947306107d381610370565b5f806107f35f5473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561087e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108a39190611a1f565b5050600d80547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff81167601000100000000000000000000000000000000000000001790915566470de4a3e73600600e819055600f55600c546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b3906044016020604051808303815f875af115801561098d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b19190611a4a565b5050565b73ffffffffffffffffffffffffffffffffffffffff8316610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610cad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f8111610d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161041a565b7361bfa90ea21b303d976f328d1afc65c4b9ebf2ce73ffffffffffffffffffffffffffffffffffffffff841614801590610da057507361bfa90ea21b303d976f328d1afc65c4b9ebf2ce73ffffffffffffffffffffffffffffffffffffffff831614155b8015610dc65750600d5474010000000000000000000000000000000000000000900460ff165b1561102a575f6008556004600955600d5473ffffffffffffffffffffffffffffffffffffffff8481169116148015610e195750600c5473ffffffffffffffffffffffffffffffffffffffff838116911614155b8015610e4a575073ffffffffffffffffffffffffffffffffffffffff82165f9081526005602052604090205460ff16155b15610f0757600e54811115610e5d575f80fd5b5f610e6783610370565b600f54909150610e778383611a96565b1115610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161041a565b505b600d5473ffffffffffffffffffffffffffffffffffffffff8381169116148015610f4c5750600c5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015610f7d575073ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604090205460ff16155b15610f8c575f60085560046009555b5f610f9630610370565b600d549091507501000000000000000000000000000000000000000000900460ff16158015610fe05750600d5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156110085750600d54760100000000000000000000000000000000000000000000900460ff165b15611028576110168161113b565b478015611026576110264761134c565b505b505b6110358383836113e5565b505050565b5f8184841115611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611aa9565b95945050505050565b5f60065482111561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161041a565b5f6111286113f0565b90506111348382611411565b9392505050565b600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ae576111ae611abc565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600c54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561122b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124f9190611a04565b8160018151811061126257611262611abc565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600c5461129591309116846109b5565b600c546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906112f39085905f90869030904290600401611ae9565b5f604051808303815f87803b15801561130a575f80fd5b505af115801561131c573d5f803e3d5ffd5b5050600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600a5473ffffffffffffffffffffffffffffffffffffffff166108fc611373836002611411565b6040518115909202915f818181858888f19350505050158015611398573d5f803e3d5ffd5b50600b5473ffffffffffffffffffffffffffffffffffffffff166108fc6113c0836002611411565b6040518115909202915f818181858888f193505050501580156109b1573d5f803e3d5ffd5b611035838383611452565b5f805f6113fb611584565b909250905061140a8282611411565b9250505090565b5f61113483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c3565b5f805f805f8061146187611609565b73ffffffffffffffffffffffffffffffffffffffff8f165f90815260026020526040902054959b5093995091975095509350915061149f908761165e565b73ffffffffffffffffffffffffffffffffffffffff808b165f9081526002602052604080822093909355908a16815220546114da908661169f565b73ffffffffffffffffffffffffffffffffffffffff89165f9081526002602052604090205561150881611717565b611512848361175d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161157191815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a764000061159e8282611411565b8210156115ba57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836115fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611b73565b5f805f805f805f805f6116218a600854600954611781565b9250925092505f6116306113f0565b90505f805f6116418e8787876117d3565b919e509c509a509598509396509194505050505091939550919395565b5f61113483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f806116ab8385611a96565b905083811015611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041a565b5f6117206113f0565b90505f61172d838361181f565b305f90815260026020526040902054909150611749908261169f565b305f90815260026020526040902055505050565b60065461176a908361165e565b60065560075461177a908261169f565b6007555050565b5f80808061179a6064611794898961181f565b90611411565b90505f6117ac60646117948a8961181f565b90505f6117c3826117bd8b8661165e565b9061165e565b9992985090965090945050505050565b5f8080806117e1888661181f565b90505f6117ee888761181f565b90505f6117fb888861181f565b90505f61180c826117bd868661165e565b939b939a50919850919650505050505050565b5f825f0361182e57505f6102f6565b5f6118398385611bab565b9050826118468583611b73565b14611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611947575f80fd5b50565b5f806040838503121561195b575f80fd5b823561196681611926565b946020939093013593505050565b5f805f60608486031215611986575f80fd5b833561199181611926565b925060208401356119a181611926565b929592945050506040919091013590565b5f602082840312156119c2575f80fd5b813561113481611926565b5f80604083850312156119de575f80fd5b82356119e981611926565b915060208301356119f981611926565b809150509250929050565b5f60208284031215611a14575f80fd5b815161113481611926565b5f805f60608486031215611a31575f80fd5b5050815160208301516040909301519094929350919050565b5f60208284031215611a5a575f80fd5b81518015158114611134575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156102f6576102f6611a69565b818103818111156102f6576102f6611a69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611b4657835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611b12565b505073ffffffffffffffffffffffffffffffffffffffff9590951660608401525050608001529392505050565b5f82611ba6577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820281158282048414176102f6576102f6611a6956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122031e98e21ef89aa628a1d63f0207f3c420f30a152d868afedba865ce5751b4bf964736f6c634300081a0033

Deployed Bytecode Sourcemap

3548:9466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5301:83;;;;;;;;;;-1:-1:-1;5371:5:0;;;;;;;;;;;;;;;;;5301:83;;;;;;;:::i;:::-;;;;;;;;6153:161;;;;;;;;;;-1:-1:-1;6153:161:0;;;;;:::i;:::-;;:::i;:::-;;;1192:14:1;;1185:22;1167:41;;1155:2;1140:18;6153:161:0;1027:187:1;5578:95:0;;;;;;;;;;-1:-1:-1;3954:18:0;5578:95;;;1365:25:1;;;1353:2;1338:18;5578:95:0;1219:177:1;6322:313:0;;;;;;;;;;-1:-1:-1;6322:313:0;;;;;:::i;:::-;;:::i;5487:83::-;;;;;;;;;;-1:-1:-1;5487:83:0;;4365:1;2056:36:1;;2044:2;2029:18;5487:83:0;1914:184:1;5681:138:0;;;;;;;;;;-1:-1:-1;5681:138:0;;;;;:::i;:::-;;:::i;2627:148::-;;;;;;;;;;;;;:::i;:::-;;2413:79;;;;;;;;;;-1:-1:-1;2451:7:0;2478:6;2413:79;;2478:6;;;;2501:74:1;;2489:2;2474:18;2413:79:0;2355:226:1;5392:87:0;;;;;;;;;;-1:-1:-1;5464:7:0;;;;;;;;;;;;;;;;;5392:87;;5827:167;;;;;;;;;;-1:-1:-1;5827:167:0;;;;;:::i;:::-;;:::i;9420:826::-;;;;;;;;;;;;;:::i;6002:143::-;;;;;;;;;;-1:-1:-1;6002:143:0;;;;;:::i;:::-;6110:18;;;;6083:7;6110:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6002:143;6153:161;6228:4;6245:39;211:10;6268:7;6277:6;6245:8;:39::i;:::-;-1:-1:-1;6302:4:0;6153:161;;;;;:::o;6322:313::-;6420:4;6437:36;6447:6;6455:9;6466:6;6437:9;:36::i;:::-;6484:121;6493:6;211:10;6515:89;6553:6;6515:89;;;;;;;;;;;;;;;;;:19;;;;;;;:11;:19;;;;;;;;211:10;6515:33;;;;;;;;;;:37;:89::i;:::-;6484:8;:121::i;:::-;-1:-1:-1;6623:4:0;6322:313;;;;;:::o;5681:138::-;5794:16;;;5747:7;5794:16;;;:7;:16;;;;;;5774:37;;:19;:37::i;2627:148::-;2540:6;;:22;:6;211:10;2540:22;2532:67;;;;;;;3181:2:1;2532:67:0;;;3163:21:1;;;3200:18;;;3193:30;3259:34;3239:18;;;3232:62;3311:18;;2532:67:0;;;;;;;;;2734:1:::1;2718:6:::0;;2697:40:::1;::::0;::::1;2718:6:::0;;::::1;::::0;2697:40:::1;::::0;2734:1;;2697:40:::1;2765:1;2748:19:::0;;;::::1;::::0;;2627:148::o;5827:167::-;5905:4;5922:42;211:10;5946:9;5957:6;5922:9;:42::i;9420:826::-;2540:6;;:22;:6;211:10;2540:22;2532:67;;;;;;;3181:2:1;2532:67:0;;;3163:21:1;;;3200:18;;;3193:30;3259:34;3239:18;;;3232:62;3311:18;;2532:67:0;2979:356:1;2532:67:0;9484:11:::1;::::0;;;::::1;;;9483:12;9475:47;;;::::0;::::1;::::0;;3542:2:1;9475:47:0::1;::::0;::::1;3524:21:1::0;3581:2;3561:18;;;3554:30;3620:25;3600:18;;;3593:53;3663:18;;9475:47:0::1;3340:347:1::0;9475:47:0::1;9644:15;:34:::0;;;::::1;9590:42;9644:34:::0;;::::1;::::0;;;9689:58:::1;9706:4;9590:42:::0;3954:18:::1;9689:8;:58::i;:::-;9792:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9774:56;;;9839:4;9846:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9774:96;::::0;;::::1;::::0;;;;;;4152:42:1;4140:55;;;9774:96:0::1;::::0;::::1;4122:74:1::0;4232:55;;4212:18;;;4205:83;4095:18;;9774:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9758:13;:112:::0;;;::::1;;::::0;;::::1;;::::0;;9881:15:::1;::::0;::::1;:31;9920:21;9951:4;9957:24;9951:4:::0;9957:9:::1;:24::i;:::-;9982:1;9984::::0;9986:7:::1;2451::::0;2478:6;;;;2413:79;9986:7:::1;9881:129;::::0;::::1;::::0;;;;;;;4632:42:1;4620:55;;;9881:129:0::1;::::0;::::1;4602:74:1::0;4692:18;;;4685:34;;;;4735:18;;;4728:34;;;;4778:18;;;4771:34;4842:55;;;4821:19;;;4814:84;9994:15:0::1;4914:19:1::0;;;4907:35;4574:19;;9881:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10021:11:0::1;:18:::0;;10050;;;;;;;;10094:16:::1;10079:12;:31:::0;;;10121:16:::1;:35:::0;10205:15:::1;::::0;10167:71:::1;::::0;;;;10174:13:::1;10205:15:::0;;::::1;10167:71;::::0;::::1;5588:74:1::0;-1:-1:-1;5678:18:1;;;5671:34;10174:13:0;;;-1:-1:-1;10167:29:0::1;::::0;5561:18:1;;10167:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9464:782;9420:826::o:0;6907:335::-;7000:19;;;6992:68;;;;;;;6200:2:1;6992:68:0;;;6182:21:1;6239:2;6219:18;;;6212:30;6278:34;6258:18;;;6251:62;6349:6;6329:18;;;6322:34;6373:19;;6992:68:0;5998:400:1;6992:68:0;7079:21;;;7071:68;;;;;;;6605:2:1;7071:68:0;;;6587:21:1;6644:2;6624:18;;;6617:30;6683:34;6663:18;;;6656:62;6754:4;6734:18;;;6727:32;6776:19;;7071:68:0;6403:398:1;7071:68:0;7150:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7202:32;;1365:25:1;;;7202:32:0;;1338:18:1;7202:32:0;;;;;;;6907:335;;;:::o;7250:1491::-;7338:18;;;7330:68;;;;;;;7008:2:1;7330:68:0;;;6990:21:1;7047:2;7027:18;;;7020:30;7086:34;7066:18;;;7059:62;7157:7;7137:18;;;7130:35;7182:19;;7330:68:0;6806:401:1;7330:68:0;7417:16;;;7409:64;;;;;;;7414:2:1;7409:64:0;;;7396:21:1;7453:2;7433:18;;;7426:30;7492:34;7472:18;;;7465:62;7563:5;7543:18;;;7536:33;7586:19;;7409:64:0;7212:399:1;7409:64:0;7501:1;7492:6;:10;7484:64;;;;;;;7818:2:1;7484:64:0;;;7800:21:1;7857:2;7837:18;;;7830:30;7896:34;7876:18;;;7869:62;7967:11;7947:18;;;7940:39;7996:19;;7484:64:0;7616:405:1;7484:64:0;7571:42;7563:50;;;;;;;:102;;-1:-1:-1;7623:42:0;7617:48;;;;;7563:102;:117;;;;-1:-1:-1;7669:11:0;;;;;;;7563:117;7559:1134;;;7709:1;7697:9;:13;7737:1;7725:9;:13;7765;;;7757:21;;;7765:13;;7757:21;:55;;;;-1:-1:-1;7796:15:0;;;7782:30;;;7796:15;;7782:30;;7757:55;:83;;;;-1:-1:-1;7818:22:0;;;;;;;:18;:22;;;;;;;;7816:24;7757:83;7753:342;;;7879:12;;7869:6;:22;;7861:31;;;;;;7911:18;7932:13;7942:2;7932:9;:13::i;:::-;7997:16;;7911:34;;-1:-1:-1;7973:19:0;7986:6;7911:34;7973:19;:::i;:::-;7972:41;;7964:115;;;;;;;8547:2:1;7964:115:0;;;8529:21:1;8586:2;8566:18;;;8559:30;8625:34;8605:18;;;8598:62;8696:32;8676:18;;;8669:60;8746:19;;7964:115:0;8345:426:1;7964:115:0;7842:253;7753:342;8119:13;;;8113:19;;;8119:13;;8113:19;:55;;;;-1:-1:-1;8152:15:0;;;8136:32;;;8152:15;;8136:32;;8113:55;:85;;;;-1:-1:-1;8174:24:0;;;;;;;:18;:24;;;;;;;;8172:26;8113:85;8109:171;;;8231:1;8219:9;:13;8263:1;8251:9;:13;8109:171;8294:28;8325:24;8343:4;8325:9;:24::i;:::-;8369:6;;8294:55;;-1:-1:-1;8369:6:0;;;;;8368:7;:32;;;;-1:-1:-1;8387:13:0;;;8379:21;;;8387:13;;8379:21;;8368:32;:47;;;;-1:-1:-1;8404:11:0;;;;;;;8368:47;8364:318;;;8436:38;8453:20;8436:16;:38::i;:::-;8522:21;8565:22;;8562:105;;8612:35;8625:21;8612:12;:35::i;:::-;8417:265;8364:318;7682:1011;7559:1134;8703:30;8718:4;8723:2;8726:6;8703:14;:30::i;:::-;7250:1491;;;:::o;1268:190::-;1354:7;1390:12;1382:6;;;;1374:29;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1414:9:0;1426:5;1430:1;1426;:5;:::i;:::-;1414:17;1268:190;-1:-1:-1;;;;;1268:190:0:o;6645:254::-;6712:7;6751;;6740;:18;;6732:73;;;;;;;9111:2:1;6732:73:0;;;9093:21:1;9150:2;9130:18;;;9123:30;9189:34;9169:18;;;9162:62;9260:12;9240:18;;;9233:40;9290:19;;6732:73:0;8909:406:1;6732:73:0;6816:19;6839:10;:8;:10::i;:::-;6816:33;-1:-1:-1;6867:24:0;:7;6816:33;6867:11;:24::i;:::-;6860:31;6645:254;-1:-1:-1;;;6645:254:0:o;8749:483::-;4802:6;:13;;;;;;;;8851:16:::1;::::0;;8865:1:::1;8851:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8851:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8851:16:0::1;8827:40;;8896:4;8878;8883:1;8878:7;;;;;;;;:::i;:::-;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8922:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8878:7;;8922:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8912:4;8917:1;8912:7;;;;;;;;:::i;:::-;:32;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8987:15:::1;::::0;8955:62:::1;::::0;8972:4:::1;::::0;8987:15:::1;9005:11:::0;8955:8:::1;:62::i;:::-;9028:15;::::0;:196:::1;::::0;;;;:15:::1;::::0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9109:11;;9028:15:::1;::::0;9151:4;;9178::::1;::::0;9198:15:::1;::::0;9028:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4838:6:0;:14;;;;;;-1:-1:-1;;;;8749:483:0:o;9254:154::-;9311:15;;;;:39;9336:13;:6;9347:1;9336:10;:13::i;:::-;9311:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9361:15:0;;;;:39;9386:13;:6;9397:1;9386:10;:13::i;:::-;9361:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10264:146;10358:44;10376:6;10384:9;10395:6;10358:17;:44::i;12578:163::-;12619:7;12640:15;12657;12676:19;:17;:19::i;:::-;12639:56;;-1:-1:-1;12639:56:0;-1:-1:-1;12713:20:0;12639:56;;12713:11;:20::i;:::-;12706:27;;;;12578:163;:::o;1720:132::-;1778:7;1805:39;1809:1;1812;1805:39;;;;;;;;;;;;;;;;;:3;:39::i;10418:488::-;10517:15;10534:23;10559:12;10573:23;10598:12;10612:13;10629:19;10640:7;10629:10;:19::i;:::-;10677:15;;;;;;;:7;:15;;;;;;10516:132;;-1:-1:-1;10516:132:0;;-1:-1:-1;10516:132:0;;-1:-1:-1;10516:132:0;-1:-1:-1;10516:132:0;-1:-1:-1;10516:132:0;-1:-1:-1;10677:28:0;;10516:132;10677:19;:28::i;:::-;10659:15;;;;;;;;:7;:15;;;;;;:46;;;;10737:18;;;;;;;:39;;10760:15;10737:22;:39::i;:::-;10716:18;;;;;;;:7;:18;;;;;:60;10788:16;10798:5;10788:9;:16::i;:::-;10815:23;10827:4;10833;10815:11;:23::i;:::-;10871:9;10854:44;;10863:6;10854:44;;;10882:15;10854:44;;;;1365:25:1;;1353:2;1338:18;;1219:177;10854:44:0;;;;;;;;10505:401;;;;;;10418:488;;;:::o;12749:262::-;12846:7;;12799;;;;3954:18;12920:20;12846:7;3954:18;12920:11;:20::i;:::-;12910:7;:30;12906:61;;;-1:-1:-1;;12950:7:0;;;3954:18;;-1:-1:-1;12749:262:0;-1:-1:-1;12749:262:0:o;12906:61::-;12986:7;;12995;;-1:-1:-1;12749:262:0;-1:-1:-1;12749:262:0:o;1860:189::-;1946:7;1981:12;1974:5;1966:28;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2005:9:0;2017:5;2021:1;2017;:5;:::i;11326:471::-;11385:7;11394;11403;11412;11421;11430;11451:23;11476:12;11490:13;11507:42;11519:7;11528:9;;11539;;11507:11;:42::i;:::-;11450:99;;;;;;11560:19;11583:10;:8;:10::i;:::-;11560:33;;11605:15;11622:23;11647:12;11663:46;11675:7;11684:4;11690:5;11697:11;11663;:46::i;:::-;11604:105;;-1:-1:-1;11604:105:0;-1:-1:-1;11604:105:0;-1:-1:-1;11760:15:0;;-1:-1:-1;11777:4:0;;-1:-1:-1;11783:5:0;;-1:-1:-1;;;;;11326:471:0;;;;;;;:::o;1124:136::-;1182:7;1209:43;1213:1;1216;1209:43;;;;;;;;;;;;;;;;;:3;:43::i;937:179::-;995:7;;1027:5;1031:1;1027;:5;:::i;:::-;1015:17;;1056:1;1051;:6;;1043:46;;;;;;;11189:2:1;1043:46:0;;;11171:21:1;11228:2;11208:18;;;11201:30;11267:29;11247:18;;;11240:57;11314:18;;1043:46:0;10987:351:1;10914:212:0;10967:19;10990:10;:8;:10::i;:::-;10967:33;-1:-1:-1;11011:13:0;11027:22;:5;10967:33;11027:9;:22::i;:::-;11101:4;11085:22;;;;:7;:22;;;;;;11011:38;;-1:-1:-1;11085:33:0;;11011:38;11085:26;:33::i;:::-;11076:4;11060:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10914:212:0:o;11134:147::-;11212:7;;:17;;11224:4;11212:11;:17::i;:::-;11202:7;:27;11253:10;;:20;;11268:4;11253:14;:20::i;:::-;11240:10;:33;-1:-1:-1;;11134:147:0:o;11805:351::-;11898:7;;;;11951:28;11975:3;11951:19;:7;11963:6;11951:11;:19::i;:::-;:23;;:28::i;:::-;11936:43;-1:-1:-1;11990:13:0;12006:29;12031:3;12006:20;:7;12018;12006:11;:20::i;:29::-;11990:45;-1:-1:-1;12046:23:0;12072:28;11990:45;12072:17;:7;12084:4;12072:11;:17::i;:::-;:21;;:28::i;:::-;12046:54;12136:4;;-1:-1:-1;12142:5:0;;-1:-1:-1;11805:351:0;;-1:-1:-1;;;;;11805:351:0:o;12164:409::-;12274:7;;;;12330:24;:7;12342:11;12330;:24::i;:::-;12312:42;-1:-1:-1;12365:12:0;12380:21;:4;12389:11;12380:8;:21::i;:::-;12365:36;-1:-1:-1;12412:13:0;12428:22;:5;12438:11;12428:9;:22::i;:::-;12412:38;-1:-1:-1;12461:23:0;12487:28;12412:38;12487:17;:7;12499:4;12487:11;:17::i;:28::-;12534:7;;;;-1:-1:-1;12560:4:0;;-1:-1:-1;12164:409:0;;-1:-1:-1;;;;;;;12164:409:0:o;1466:246::-;1524:7;1548:1;1553;1548:6;1544:47;;-1:-1:-1;1578:1:0;1571:8;;1544:47;1601:9;1613:5;1617:1;1613;:5;:::i;:::-;1601:17;-1:-1:-1;1646:1:0;1637:5;1641:1;1601:17;1637:5;:::i;:::-;:10;1629:56;;;;;;;11718:2:1;1629:56:0;;;11700:21:1;11757:2;11737:18;;;11730:30;11796:34;11776:18;;;11769:62;11867:3;11847:18;;;11840:31;11888:19;;1629:56:0;11516:397:1;14:477;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;482:2;412:66;407:2;399:6;395:15;391:88;380:9;376:104;372:113;364:121;;;14:477;;;;:::o;496:154::-;582:42;575:5;571:54;564:5;561:65;551:93;;640:1;637;630:12;551:93;496:154;:::o;655:367::-;723:6;731;784:2;772:9;763:7;759:23;755:32;752:52;;;800:1;797;790:12;752:52;839:9;826:23;858:31;883:5;858:31;:::i;:::-;908:5;986:2;971:18;;;;958:32;;-1:-1:-1;;;655:367:1:o;1401:508::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1602:9;1589:23;1621:31;1646:5;1621:31;:::i;:::-;1671:5;-1:-1:-1;1728:2:1;1713:18;;1700:32;1741:33;1700:32;1741:33;:::i;:::-;1401:508;;1793:7;;-1:-1:-1;;;1873:2:1;1858:18;;;;1845:32;;1401:508::o;2103:247::-;2162:6;2215:2;2203:9;2194:7;2190:23;2186:32;2183:52;;;2231:1;2228;2221:12;2183:52;2270:9;2257:23;2289:31;2314:5;2289:31;:::i;2586:388::-;2654:6;2662;2715:2;2703:9;2694:7;2690:23;2686:32;2683:52;;;2731:1;2728;2721:12;2683:52;2770:9;2757:23;2789:31;2814:5;2789:31;:::i;:::-;2839:5;-1:-1:-1;2896:2:1;2881:18;;2868:32;2909:33;2868:32;2909:33;:::i;:::-;2961:7;2951:17;;;2586:388;;;;;:::o;3692:251::-;3762:6;3815:2;3803:9;3794:7;3790:23;3786:32;3783:52;;;3831:1;3828;3821:12;3783:52;3863:9;3857:16;3882:31;3907:5;3882:31;:::i;4953:456::-;5041:6;5049;5057;5110:2;5098:9;5089:7;5085:23;5081:32;5078:52;;;5126:1;5123;5116:12;5078:52;-1:-1:-1;;5171:16:1;;5277:2;5262:18;;5256:25;5373:2;5358:18;;;5352:25;5171:16;;5256:25;;-1:-1:-1;5352:25:1;4953:456;-1:-1:-1;4953:456:1:o;5716:277::-;5783:6;5836:2;5824:9;5815:7;5811:23;5807:32;5804:52;;;5852:1;5849;5842:12;5804:52;5884:9;5878:16;5937:5;5930:13;5923:21;5916:5;5913:32;5903:60;;5959:1;5956;5949:12;8026:184;8078:77;8075:1;8068:88;8175:4;8172:1;8165:15;8199:4;8196:1;8189:15;8215:125;8280:9;;;8301:10;;;8298:36;;;8314:18;;:::i;8776:128::-;8843:9;;;8864:11;;;8861:37;;;8878:18;;:::i;9509:184::-;9561:77;9558:1;9551:88;9658:4;9655:1;9648:15;9682:4;9679:1;9672:15;9698:1005;9960:4;10008:3;9997:9;9993:19;10039:6;10028:9;10021:25;10082:6;10077:2;10066:9;10062:18;10055:34;10125:3;10120:2;10109:9;10105:18;10098:31;10149:6;10184;10178:13;10215:6;10207;10200:22;10253:3;10242:9;10238:19;10231:26;;10292:2;10284:6;10280:15;10266:29;;10313:1;10323:218;10337:6;10334:1;10331:13;10323:218;;;10402:13;;10417:42;10398:62;10386:75;;10490:2;10516:15;;;;10481:12;;;;10359:1;10352:9;10323:218;;;-1:-1:-1;;10609:42:1;10597:55;;;;10592:2;10577:18;;10570:83;-1:-1:-1;;10684:3:1;10669:19;10662:35;10558:3;9698:1005;-1:-1:-1;;;9698:1005:1:o;10708:274::-;10748:1;10774;10764:189;;10809:77;10806:1;10799:88;10910:4;10907:1;10900:15;10938:4;10935:1;10928:15;10764:189;-1:-1:-1;10967:9:1;;10708:274::o;11343:168::-;11416:9;;;11447;;11464:15;;;11458:22;;11444:37;11434:71;;11485:18;;:::i

Swarm Source

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