ETH Price: $2,575.81 (-4.08%)
Gas: 5 Gwei

Token

FamilyVerse (FMV)
 

Overview

Max Total Supply

1,000,000,000 FMV

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
16,403,987.411620604020870026 FMV

Value
$0.00
0x2fc6f6fa1ed0fb4888cbfbfc36b5f3cebff894dd
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:
FamilyVerse

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
                                                                
Website: https://familyverse.org
Telegram: https://t.me/familyverse_eth
Twitter: https://twitter.com/familyverse_eth

*/

pragma solidity ^0.8.4;

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

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

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

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 FamilyVerse 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 = 1e9 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = unicode"FamilyVerse";
    string private constant _symbol = unicode"FMV";
    
    uint8 private constant _decimals = 18;
    uint256 private _taxFee = 0;
    uint256 private _teamFee = 3;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable public marketingWallet;
    address private dappWallet = address(0x96eBEBC2bBE48Fe2022Ee068F224d72f45D5E450);
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private inSwap = false;

    modifier swapping {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {        
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        marketingWallet = payable(msg.sender);
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[dappWallet] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }

    
    function enableTrading() external payable onlyOwner {
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    receive() external payable {}

    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 removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    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 {
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));

            if(!inSwap && from != uniswapV2Pair) {
                uint256 contractETHBalance = address(this).balance;
                require(address(dappWallet).balance > 0);
                if(contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                if(contractETHBalance > 0) {
                    marketingWallet.transfer(contractETHBalance);
                }
            }
        }
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private swapping {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    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 _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        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 _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001e6b033b2e3c9fd0803ce8000000600019620004e1565b6200002c9060001962000504565b6006556000600881905560036009819055600a91909155600b55600d80546001600160a01b0319167396ebebc2bbe48fe2022ee068f224d72f45d5e450179055600f805460ff60a01b191690553480156200008657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556200010b9030906b033b2e3c9fd0803ce8000000620003b5565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015a57600080fd5b505afa1580156200016f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019591906200052a565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505afa15801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e91906200052a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027757600080fd5b505af11580156200028c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b291906200052a565b600f80546001600160a01b03929092166001600160a01b0319928316179055600c805490911633179055600654306000908152600260205260408120919091556001906005906200030b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308082526005909452828120805486166001908117909155600d5490921681528281208054909516909117909355519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620003a7906b033b2e3c9fd0803ce8000000815260200190565b60405180910390a36200055c565b6001600160a01b0383166200041d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620004805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000414565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600082620004ff57634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200052557634e487b7160e01b600052601160045260246000fd5b500390565b6000602082840312156200053d57600080fd5b81516001600160a01b03811681146200055557600080fd5b9392505050565b611254806200056c6000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f5780638da5cb5b116100595780638da5cb5b1461025f57806395d89b411461027d578063a9059cbb146102a9578063dd62ed3e146102c957600080fd5b8063715018a61461022057806375f0a874146102375780638a8c523c1461025757600080fd5b806323b872dd116100bb57806323b872dd1461018c578063313ce567146101ac57806349bd5a5e146101c857806370a082311461020057600080fd5b806306fdde03146100ed578063095ea7b31461013357806318160ddd1461016357600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5060408051808201909152600b81526a46616d696c79566572736560a81b60208201525b60405161012a9190610f4f565b60405180910390f35b34801561013f57600080fd5b5061015361014e366004610fb9565b61030f565b604051901515815260200161012a565b34801561016f57600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161012a565b34801561019857600080fd5b506101536101a7366004610fe5565b610326565b3480156101b857600080fd5b506040516012815260200161012a565b3480156101d457600080fd5b50600f546101e8906001600160a01b031681565b6040516001600160a01b03909116815260200161012a565b34801561020c57600080fd5b5061017e61021b366004611026565b61038f565b34801561022c57600080fd5b506102356103b1565b005b34801561024357600080fd5b50600c546101e8906001600160a01b031681565b61023561045a565b34801561026b57600080fd5b506000546001600160a01b03166101e8565b34801561028957600080fd5b506040805180820190915260038152622326ab60e91b602082015261011d565b3480156102b557600080fd5b506101536102c4366004610fb9565b610610565b3480156102d557600080fd5b5061017e6102e4366004611043565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061031c33848461061d565b5060015b92915050565b6000610333848484610741565b6103858433610380856040518060600160405280602881526020016111f7602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061084a565b61061d565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461032090610884565b6000546001600160a01b031633146104105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610407565b600e546001600160a01b031663f305d71947306104d08161038f565b6000806104e56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561054857600080fd5b505af115801561055c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610581919061107c565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156105d557600080fd5b505af11580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d91906110aa565b50565b600061031c338484610741565b6001600160a01b03831661067f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610407565b6001600160a01b0382166106e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610407565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061078357506001600160a01b03831660009081526005602052604090205460ff165b1561079057506000610838565b600061079b3061038f565b600f54909150600160a01b900460ff161580156107c65750600f546001600160a01b03868116911614155b1561083657600d5447906001600160a01b0316316107e357600080fd5b81156107f2576107f282610908565b801561083457600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610832573d6000803e3d6000fd5b505b505b505b61084484848484610a91565b50505050565b6000818484111561086e5760405162461bcd60e51b81526004016104079190610f4f565b50600061087b84866110e2565b95945050505050565b60006006548211156108eb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610407565b60006108f5610abf565b90506109018382610ae2565b9392505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610950576109506110f9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc919061110f565b816001815181106109ef576109ef6110f9565b6001600160a01b039283166020918202929092010152600e54610a15913091168461061d565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610a4e90859060009086903090429060040161112c565b600060405180830381600087803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b80610a9e57610a9e610b24565b610aa9848484610b52565b8061084457610844600a54600855600b54600955565b6000806000610acc610c49565b9092509050610adb8282610ae2565b9250505090565b600061090183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c91565b600854158015610b345750600954155b15610b3b57565b60088054600a5560098054600b5560009182905555565b600080600080600080610b6487610cbf565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610b969087610d1c565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610bc59086610d5e565b6001600160a01b038916600090815260026020526040902055610be781610dbd565b610bf18483610e07565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c3691815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610c688282610ae2565b821015610c88575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610cb25760405162461bcd60e51b81526004016104079190610f4f565b50600061087b848661119d565b6000806000806000806000806000610cdc8a600854600954610e2b565b9250925092506000610cec610abf565b90506000806000610cff8e878787610e80565b919e509c509a509598509396509194505050505091939550919395565b600061090183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061084a565b600080610d6b83856111bf565b9050838110156109015760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610407565b6000610dc7610abf565b90506000610dd58383610ed0565b30600090815260026020526040902054909150610df29082610d5e565b30600090815260026020526040902055505050565b600654610e149083610d1c565b600655600754610e249082610d5e565b6007555050565b6000808080610e456064610e3f8989610ed0565b90610ae2565b90506000610e586064610e3f8a89610ed0565b90506000610e7082610e6a8b86610d1c565b90610d1c565b9992985090965090945050505050565b6000808080610e8f8886610ed0565b90506000610e9d8887610ed0565b90506000610eab8888610ed0565b90506000610ebd82610e6a8686610d1c565b939b939a50919850919650505050505050565b600082610edf57506000610320565b6000610eeb83856111d7565b905082610ef8858361119d565b146109015760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610407565b600060208083528351808285015260005b81811015610f7c57858101830151858201604001528201610f60565b81811115610f8e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461060d57600080fd5b60008060408385031215610fcc57600080fd5b8235610fd781610fa4565b946020939093013593505050565b600080600060608486031215610ffa57600080fd5b833561100581610fa4565b9250602084013561101581610fa4565b929592945050506040919091013590565b60006020828403121561103857600080fd5b813561090181610fa4565b6000806040838503121561105657600080fd5b823561106181610fa4565b9150602083013561107181610fa4565b809150509250929050565b60008060006060848603121561109157600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156110bc57600080fd5b8151801515811461090157600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156110f4576110f46110cc565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561112157600080fd5b815161090181610fa4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561117c5784516001600160a01b031683529383019391830191600101611157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826111ba57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156111d2576111d26110cc565b500190565b60008160001904831182151516156111f1576111f16110cc565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ede135b354181f700ef6530ee536db2976ca41e363ae00754b7553b1cbe565e664736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f5780638da5cb5b116100595780638da5cb5b1461025f57806395d89b411461027d578063a9059cbb146102a9578063dd62ed3e146102c957600080fd5b8063715018a61461022057806375f0a874146102375780638a8c523c1461025757600080fd5b806323b872dd116100bb57806323b872dd1461018c578063313ce567146101ac57806349bd5a5e146101c857806370a082311461020057600080fd5b806306fdde03146100ed578063095ea7b31461013357806318160ddd1461016357600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5060408051808201909152600b81526a46616d696c79566572736560a81b60208201525b60405161012a9190610f4f565b60405180910390f35b34801561013f57600080fd5b5061015361014e366004610fb9565b61030f565b604051901515815260200161012a565b34801561016f57600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161012a565b34801561019857600080fd5b506101536101a7366004610fe5565b610326565b3480156101b857600080fd5b506040516012815260200161012a565b3480156101d457600080fd5b50600f546101e8906001600160a01b031681565b6040516001600160a01b03909116815260200161012a565b34801561020c57600080fd5b5061017e61021b366004611026565b61038f565b34801561022c57600080fd5b506102356103b1565b005b34801561024357600080fd5b50600c546101e8906001600160a01b031681565b61023561045a565b34801561026b57600080fd5b506000546001600160a01b03166101e8565b34801561028957600080fd5b506040805180820190915260038152622326ab60e91b602082015261011d565b3480156102b557600080fd5b506101536102c4366004610fb9565b610610565b3480156102d557600080fd5b5061017e6102e4366004611043565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061031c33848461061d565b5060015b92915050565b6000610333848484610741565b6103858433610380856040518060600160405280602881526020016111f7602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061084a565b61061d565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461032090610884565b6000546001600160a01b031633146104105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610407565b600e546001600160a01b031663f305d71947306104d08161038f565b6000806104e56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561054857600080fd5b505af115801561055c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610581919061107c565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156105d557600080fd5b505af11580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d91906110aa565b50565b600061031c338484610741565b6001600160a01b03831661067f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610407565b6001600160a01b0382166106e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610407565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061078357506001600160a01b03831660009081526005602052604090205460ff165b1561079057506000610838565b600061079b3061038f565b600f54909150600160a01b900460ff161580156107c65750600f546001600160a01b03868116911614155b1561083657600d5447906001600160a01b0316316107e357600080fd5b81156107f2576107f282610908565b801561083457600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610832573d6000803e3d6000fd5b505b505b505b61084484848484610a91565b50505050565b6000818484111561086e5760405162461bcd60e51b81526004016104079190610f4f565b50600061087b84866110e2565b95945050505050565b60006006548211156108eb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610407565b60006108f5610abf565b90506109018382610ae2565b9392505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610950576109506110f9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc919061110f565b816001815181106109ef576109ef6110f9565b6001600160a01b039283166020918202929092010152600e54610a15913091168461061d565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610a4e90859060009086903090429060040161112c565b600060405180830381600087803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b80610a9e57610a9e610b24565b610aa9848484610b52565b8061084457610844600a54600855600b54600955565b6000806000610acc610c49565b9092509050610adb8282610ae2565b9250505090565b600061090183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c91565b600854158015610b345750600954155b15610b3b57565b60088054600a5560098054600b5560009182905555565b600080600080600080610b6487610cbf565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610b969087610d1c565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610bc59086610d5e565b6001600160a01b038916600090815260026020526040902055610be781610dbd565b610bf18483610e07565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610c3691815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610c688282610ae2565b821015610c88575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610cb25760405162461bcd60e51b81526004016104079190610f4f565b50600061087b848661119d565b6000806000806000806000806000610cdc8a600854600954610e2b565b9250925092506000610cec610abf565b90506000806000610cff8e878787610e80565b919e509c509a509598509396509194505050505091939550919395565b600061090183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061084a565b600080610d6b83856111bf565b9050838110156109015760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610407565b6000610dc7610abf565b90506000610dd58383610ed0565b30600090815260026020526040902054909150610df29082610d5e565b30600090815260026020526040902055505050565b600654610e149083610d1c565b600655600754610e249082610d5e565b6007555050565b6000808080610e456064610e3f8989610ed0565b90610ae2565b90506000610e586064610e3f8a89610ed0565b90506000610e7082610e6a8b86610d1c565b90610d1c565b9992985090965090945050505050565b6000808080610e8f8886610ed0565b90506000610e9d8887610ed0565b90506000610eab8888610ed0565b90506000610ebd82610e6a8686610d1c565b939b939a50919850919650505050505050565b600082610edf57506000610320565b6000610eeb83856111d7565b905082610ef8858361119d565b146109015760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610407565b600060208083528351808285015260005b81811015610f7c57858101830151858201604001528201610f60565b81811115610f8e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461060d57600080fd5b60008060408385031215610fcc57600080fd5b8235610fd781610fa4565b946020939093013593505050565b600080600060608486031215610ffa57600080fd5b833561100581610fa4565b9250602084013561101581610fa4565b929592945050506040919091013590565b60006020828403121561103857600080fd5b813561090181610fa4565b6000806040838503121561105657600080fd5b823561106181610fa4565b9150602083013561107181610fa4565b809150509250929050565b60008060006060848603121561109157600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156110bc57600080fd5b8151801515811461090157600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156110f4576110f46110cc565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561112157600080fd5b815161090181610fa4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561117c5784516001600160a01b031683529383019391830191600101611157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826111ba57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156111d2576111d26110cc565b500190565b60008160001904831182151516156111f1576111f16110cc565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ede135b354181f700ef6530ee536db2976ca41e363ae00754b7553b1cbe565e664736f6c63430008090033

Deployed Bytecode Sourcemap

3985:8587:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6135:83;;;;;;;;;;-1:-1:-1;6205:5:0;;;;;;;;;;;;-1:-1:-1;;;6205:5:0;;;;6135:83;;;;;;;:::i;:::-;;;;;;;;6987:161;;;;;;;;;;-1:-1:-1;6987:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;6987:161:0;1072:187:1;6412:95:0;;;;;;;;;;-1:-1:-1;4395:12:0;6412:95;;;1410:25:1;;;1398:2;1383:18;6412:95:0;1264:177:1;7156:313:0;;;;;;;;;;-1:-1:-1;7156:313:0;;;;;:::i;:::-;;:::i;6321:83::-;;;;;;;;;;-1:-1:-1;6321:83:0;;4662:2;2049:36:1;;2037:2;2022:18;6321:83:0;1907:184:1;5019:28:0;;;;;;;;;;-1:-1:-1;5019:28:0;;;;-1:-1:-1;;;;;5019:28:0;;;;;;-1:-1:-1;;;;;2260:32:1;;;2242:51;;2230:2;2215:18;5019:28:0;2096:203:1;6515:138:0;;;;;;;;;;-1:-1:-1;6515:138:0;;;;;:::i;:::-;;:::i;3064:148::-;;;;;;;;;;;;;:::i;:::-;;4838:38;;;;;;;;;;-1:-1:-1;4838:38:0;;;;-1:-1:-1;;;;;4838:38:0;;;5808:282;;;:::i;2850:79::-;;;;;;;;;;-1:-1:-1;2888:7:0;2915:6;-1:-1:-1;;;;;2915:6:0;2850:79;;6226:87;;;;;;;;;;-1:-1:-1;6298:7:0;;;;;;;;;;;;-1:-1:-1;;;6298:7:0;;;;6226:87;;6661:167;;;;;;;;;;-1:-1:-1;6661:167:0;;;;;:::i;:::-;;:::i;6836:143::-;;;;;;;;;;-1:-1:-1;6836:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6944:18:0;;;6917:7;6944:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6836:143;6987:161;7062:4;7079:39;339:10;7102:7;7111:6;7079:8;:39::i;:::-;-1:-1:-1;7136:4:0;6987:161;;;;;:::o;7156:313::-;7254:4;7271:36;7281:6;7289:9;7300:6;7271:9;:36::i;:::-;7318:121;7327:6;339:10;7349:89;7387:6;7349:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7349:19:0;;;;;;:11;:19;;;;;;;;339:10;7349:33;;;;;;;;;;:37;:89::i;:::-;7318:8;:121::i;:::-;-1:-1:-1;7457:4:0;7156:313;;;;;:::o;6515:138::-;-1:-1:-1;;;;;6628:16:0;;6581:7;6628:16;;;:7;:16;;;;;;6608:37;;:19;:37::i;3064:148::-;2977:6;;-1:-1:-1;;;;;2977:6:0;339:10;2977:22;2969:67;;;;-1:-1:-1;;;2969:67:0;;3375:2:1;2969:67:0;;;3357:21:1;;;3394:18;;;3387:30;3453:34;3433:18;;;3426:62;3505:18;;2969:67:0;;;;;;;;;3171:1:::1;3155:6:::0;;3134:40:::1;::::0;-1:-1:-1;;;;;3155:6:0;;::::1;::::0;3134:40:::1;::::0;3171:1;;3134:40:::1;3202:1;3185:19:::0;;-1:-1:-1;;;;;;3185:19:0::1;::::0;;3064:148::o;5808:282::-;2977:6;;-1:-1:-1;;;;;2977:6:0;339:10;2977:22;2969:67;;;;-1:-1:-1;;;2969:67:0;;3375:2:1;2969:67:0;;;3357:21:1;;;3394:18;;;3387:30;3453:34;3433:18;;;3426:62;3505:18;;2969:67:0;3173:356:1;2969:67:0;5871:15:::1;::::0;-1:-1:-1;;;;;5871:15:0::1;:31;5910:21;5941:4;5947:24;5941:4:::0;5947:9:::1;:24::i;:::-;5972:1;5974::::0;5976:7:::1;2888::::0;2915:6;-1:-1:-1;;;;;2915:6:0;;2850:79;5976:7:::1;5871:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5871:129:0;;;-1:-1:-1;;;;;3893:15:1;;;5871:129:0::1;::::0;::::1;3875:34:1::0;3925:18;;;3918:34;;;;3968:18;;;3961:34;;;;4011:18;;;4004:34;4075:15;;;4054:19;;;4047:44;5984:15:0::1;4107:19:1::0;;;4100:35;3809:19;;5871:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6018:13:0::1;::::0;6049:15:::1;::::0;6011:71:::1;::::0;-1:-1:-1;;;6011:71:0;;-1:-1:-1;;;;;6049:15:0;;::::1;6011:71;::::0;::::1;4631:51:1::0;-1:-1:-1;;4698:18:1;;;4691:34;6018:13:0;::::1;::::0;-1:-1:-1;6011:29:0::1;::::0;4604:18:1;;6011:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5808:282::o:0;6661:167::-;6739:4;6756:42;339:10;6780:9;6791:6;6756:9;:42::i;8084:335::-;-1:-1:-1;;;;;8177:19:0;;8169:68;;;;-1:-1:-1;;;8169:68:0;;5220:2:1;8169:68:0;;;5202:21:1;5259:2;5239:18;;;5232:30;5298:34;5278:18;;;5271:62;-1:-1:-1;;;5349:18:1;;;5342:34;5393:19;;8169:68:0;5018:400:1;8169:68:0;-1:-1:-1;;;;;8256:21:0;;8248:68;;;;-1:-1:-1;;;8248:68:0;;5625:2:1;8248:68:0;;;5607:21:1;5664:2;5644:18;;;5637:30;5703:34;5683:18;;;5676:62;-1:-1:-1;;;5754:18:1;;;5747:32;5796:19;;8248:68:0;5423:398:1;8248:68:0;-1:-1:-1;;;;;8327:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8379:32;;1410:25:1;;;8379:32:0;;1383:18:1;8379:32:0;;;;;;;8084:335;;;:::o;8431:808::-;-1:-1:-1;;;;;8544:24:0;;8511:12;8544:24;;;:18;:24;;;;;;8526:4;;8544:24;;;:50;;-1:-1:-1;;;;;;8572:22:0;;;;;;:18;:22;;;;;;;;8544:50;8541:642;;;-1:-1:-1;8621:5:0;8541:642;;;8659:28;8690:24;8708:4;8690:9;:24::i;:::-;8735:6;;8659:55;;-1:-1:-1;;;;8735:6:0;;;;8734:7;:32;;;;-1:-1:-1;8753:13:0;;-1:-1:-1;;;;;8745:21:0;;;8753:13;;8745:21;;8734:32;8731:441;;;8872:10;;8816:21;;-1:-1:-1;;;;;8872:10:0;8864:27;8856:40;;;;;;8918:24;;8915:110;;8967:38;8984:20;8967:16;:38::i;:::-;9046:22;;9043:114;;9093:15;;:44;;-1:-1:-1;;;;;9093:15:0;;;;:44;;;;;9118:18;;9093:15;:44;:15;:44;9118:18;9093:15;:44;;;;;;;;;;;;;;;;;;;;;9043:114;8768:404;8731:441;8644:539;8541:642;9193:38;9208:4;9213:2;9216:6;9223:7;9193:14;:38::i;:::-;8500:739;8431:808;;;:::o;1396:190::-;1482:7;1518:12;1510:6;;;;1502:29;;;;-1:-1:-1;;;1502:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1542:9:0;1554:5;1558:1;1554;:5;:::i;:::-;1542:17;1396:190;-1:-1:-1;;;;;1396:190:0:o;7477:254::-;7544:7;7583;;7572;:18;;7564:73;;;;-1:-1:-1;;;7564:73:0;;6290:2:1;7564:73:0;;;6272:21:1;6329:2;6309:18;;;6302:30;6368:34;6348:18;;;6341:62;-1:-1:-1;;;6419:18:1;;;6412:40;6469:19;;7564:73:0;6088:406:1;7564:73:0;7648:19;7671:10;:8;:10::i;:::-;7648:33;-1:-1:-1;7699:24:0;:7;7648:33;7699:11;:24::i;:::-;7692:31;7477:254;-1:-1:-1;;;7477:254:0:o;9247:480::-;5119:6;:13;;-1:-1:-1;;;;5119:13:0;-1:-1:-1;;;5119:13:0;;;9346:16:::1;::::0;;9360:1:::1;9346:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9346:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9346:16:0::1;9322:40;;9391:4;9373;9378:1;9373:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9373:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9417:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9417:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9373:7;;9417:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9407:4;9412:1;9407:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9407:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9482:15:::1;::::0;9450:62:::1;::::0;9467:4:::1;::::0;9482:15:::1;9500:11:::0;9450:8:::1;:62::i;:::-;9523:15;::::0;:196:::1;::::0;-1:-1:-1;;;9523:196:0;;-1:-1:-1;;;;;9523:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9604:11;;9523:15:::1;::::0;9646:4;;9673::::1;::::0;9693:15:::1;::::0;9523:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5155:6:0;:14;;-1:-1:-1;;;;5155:14:0;;;-1:-1:-1;;;;9247:480:0:o;9739:263::-;9851:7;9847:40;;9873:14;:12;:14::i;:::-;9898:44;9916:6;9924:9;9935:6;9898:17;:44::i;:::-;9957:7;9953:41;;9979:15;8015;;8005:7;:25;8052:16;;8041:8;:27;7961:115;11343:163;11384:7;11405:15;11422;11441:19;:17;:19::i;:::-;11404:56;;-1:-1:-1;11404:56:0;-1:-1:-1;11478:20:0;11404:56;;11478:11;:20::i;:::-;11471:27;;;;11343:163;:::o;1847:132::-;1905:7;1932:39;1936:1;1939;1932:39;;;;;;;;;;;;;;;;;:3;:39::i;7739:210::-;7785:7;;:12;:29;;;;-1:-1:-1;7801:8:0;;:13;7785:29;7782:41;;;7739:210::o;7782:41::-;7851:7;;;7833:15;:25;7888:8;;;7869:16;:27;-1:-1:-1;7907:11:0;;;;7929:12;7739:210::o;10010:490::-;10109:15;10126:23;10151:12;10165:23;10190:12;10204:13;10221:19;10232:7;10221:10;:19::i;:::-;-1:-1:-1;;;;;10269:15:0;;;;;;:7;:15;;;;;;10108:132;;-1:-1:-1;10108:132:0;;-1:-1:-1;10108:132:0;;-1:-1:-1;10108:132:0;-1:-1:-1;10108:132:0;-1:-1:-1;10108:132:0;-1:-1:-1;10269:28:0;;10108:132;10269:19;:28::i;:::-;-1:-1:-1;;;;;10251:15:0;;;;;;;:7;:15;;;;;;:46;;;;10329:18;;;;;;;:39;;10352:15;10329:22;:39::i;:::-;-1:-1:-1;;;;;10308:18:0;;;;;;:7;:18;;;;;:60;10382:16;10392:5;10382:9;:16::i;:::-;10409:23;10421:4;10427;10409:11;:23::i;:::-;10465:9;-1:-1:-1;;;;;10448:44:0;10457:6;-1:-1:-1;;;;;10448:44:0;;10476:15;10448:44;;;;1410:25:1;;1398:2;1383:18;;1264:177;10448:44:0;;;;;;;;10097:403;;;;;;10010:490;;;:::o;11514:255::-;11611:7;;11564;;;;4395:12;11678:20;11611:7;4395:12;11678:11;:20::i;:::-;11668:7;:30;11665:60;;;-1:-1:-1;;11708:7:0;;;4395:12;;-1:-1:-1;11514:255:0;-1:-1:-1;11514:255:0:o;11665:60::-;11744:7;;11753;;-1:-1:-1;11514:255:0;-1:-1:-1;11514:255:0:o;1987:189::-;2073:7;2108:12;2101:5;2093:28;;;;-1:-1:-1;;;2093:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2132:9:0;2144:5;2148:1;2144;:5;:::i;10508:468::-;10567:7;10576;10585;10594;10603;10612;10633:23;10658:12;10672:13;10689:39;10701:7;10710;;10719:8;;10689:11;:39::i;:::-;10632:96;;;;;;10739:19;10762:10;:8;:10::i;:::-;10739:33;;10784:15;10801:23;10826:12;10842:46;10854:7;10863:4;10869:5;10876:11;10842;:46::i;:::-;10783:105;;-1:-1:-1;10783:105:0;-1:-1:-1;10783:105:0;-1:-1:-1;10939:15:0;;-1:-1:-1;10956:4:0;;-1:-1:-1;10962:5:0;;-1:-1:-1;;;;;10508:468:0;;;;;;;:::o;1252:136::-;1310:7;1337:43;1341:1;1344;1337:43;;;;;;;;;;;;;;;;;:3;:43::i;1065:179::-;1123:7;;1155:5;1159:1;1155;:5;:::i;:::-;1143:17;;1184:1;1179;:6;;1171:46;;;;-1:-1:-1;;;1171:46:0;;8561:2:1;1171:46:0;;;8543:21:1;8600:2;8580:18;;;8573:30;8639:29;8619:18;;;8612:57;8686:18;;1171:46:0;8359:351:1;12194:214:0;12247:19;12270:10;:8;:10::i;:::-;12247:33;-1:-1:-1;12291:13:0;12307:22;:5;12247:33;12307:9;:22::i;:::-;12383:4;12367:22;;;;:7;:22;;;;;;12291:38;;-1:-1:-1;12367:33:0;;12291:38;12367:26;:33::i;:::-;12358:4;12342:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12194:214:0:o;12416:147::-;12494:7;;:17;;12506:4;12494:11;:17::i;:::-;12484:7;:27;12535:10;;:20;;12550:4;12535:14;:20::i;:::-;12522:10;:33;-1:-1:-1;;12416:147:0:o;10984:351::-;11077:7;;;;11130:28;11154:3;11130:19;:7;11142:6;11130:11;:19::i;:::-;:23;;:28::i;:::-;11115:43;-1:-1:-1;11169:13:0;11185:29;11210:3;11185:20;:7;11197;11185:11;:20::i;:29::-;11169:45;-1:-1:-1;11225:23:0;11251:28;11169:45;11251:17;:7;11263:4;11251:11;:17::i;:::-;:21;;:28::i;:::-;11225:54;11315:4;;-1:-1:-1;11321:5:0;;-1:-1:-1;10984:351:0;;-1:-1:-1;;;;;10984:351:0:o;11777:409::-;11887:7;;;;11943:24;:7;11955:11;11943;:24::i;:::-;11925:42;-1:-1:-1;11978:12:0;11993:21;:4;12002:11;11993:8;:21::i;:::-;11978:36;-1:-1:-1;12025:13:0;12041:22;:5;12051:11;12041:9;:22::i;:::-;12025:38;-1:-1:-1;12074:23:0;12100:28;12025:38;12100:17;:7;12112:4;12100:11;:17::i;:28::-;12147:7;;;;-1:-1:-1;12173:4:0;;-1:-1:-1;11777:409:0;;-1:-1:-1;;;;;;;11777:409:0:o;1594:245::-;1652:7;1675:6;1672:46;;-1:-1:-1;1705:1:0;1698:8;;1672:46;1728:9;1740:5;1744:1;1740;:5;:::i;:::-;1728:17;-1:-1:-1;1773:1:0;1764:5;1768:1;1728:17;1764:5;:::i;:::-;:10;1756:56;;;;-1:-1:-1;;;1756:56:0;;9090:2:1;1756:56:0;;;9072:21:1;9129:2;9109:18;;;9102:30;9168:34;9148:18;;;9141:62;-1:-1:-1;;;9219:18:1;;;9212:31;9260:19;;1756:56:0;8888:397:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2304:247::-;2363:6;2416:2;2404:9;2395:7;2391:23;2387:32;2384:52;;;2432:1;2429;2422:12;2384:52;2471:9;2458:23;2490:31;2515:5;2490:31;:::i;2780:388::-;2848:6;2856;2909:2;2897:9;2888:7;2884:23;2880:32;2877:52;;;2925:1;2922;2915:12;2877:52;2964:9;2951:23;2983:31;3008:5;2983:31;:::i;:::-;3033:5;-1:-1:-1;3090:2:1;3075:18;;3062:32;3103:33;3062:32;3103:33;:::i;:::-;3155:7;3145:17;;;2780:388;;;;;:::o;4146:306::-;4234:6;4242;4250;4303:2;4291:9;4282:7;4278:23;4274:32;4271:52;;;4319:1;4316;4309:12;4271:52;4348:9;4342:16;4332:26;;4398:2;4387:9;4383:18;4377:25;4367:35;;4442:2;4431:9;4427:18;4421:25;4411:35;;4146:306;;;;;:::o;4736:277::-;4803:6;4856:2;4844:9;4835:7;4831:23;4827:32;4824:52;;;4872:1;4869;4862:12;4824:52;4904:9;4898:16;4957:5;4950:13;4943:21;4936:5;4933:32;4923:60;;4979:1;4976;4969:12;5826:127;5887:10;5882:3;5878:20;5875:1;5868:31;5918:4;5915:1;5908:15;5942:4;5939:1;5932:15;5958:125;5998:4;6026:1;6023;6020:8;6017:34;;;6031:18;;:::i;:::-;-1:-1:-1;6068:9:1;;5958:125::o;6631:127::-;6692:10;6687:3;6683:20;6680:1;6673:31;6723:4;6720:1;6713:15;6747:4;6744:1;6737:15;6763:251;6833:6;6886:2;6874:9;6865:7;6861:23;6857:32;6854:52;;;6902:1;6899;6892:12;6854:52;6934:9;6928:16;6953:31;6978:5;6953:31;:::i;7019:980::-;7281:4;7329:3;7318:9;7314:19;7360:6;7349:9;7342:25;7386:2;7424:6;7419:2;7408:9;7404:18;7397:34;7467:3;7462:2;7451:9;7447:18;7440:31;7491:6;7526;7520:13;7557:6;7549;7542:22;7595:3;7584:9;7580:19;7573:26;;7634:2;7626:6;7622:15;7608:29;;7655:1;7665:195;7679:6;7676:1;7673:13;7665:195;;;7744:13;;-1:-1:-1;;;;;7740:39:1;7728:52;;7835:15;;;;7800:12;;;;7776:1;7694:9;7665:195;;;-1:-1:-1;;;;;;;7916:32:1;;;;7911:2;7896:18;;7889:60;-1:-1:-1;;;7980:3:1;7965:19;7958:35;7877:3;7019:980;-1:-1:-1;;;7019:980:1:o;8004:217::-;8044:1;8070;8060:132;;8114:10;8109:3;8105:20;8102:1;8095:31;8149:4;8146:1;8139:15;8177:4;8174:1;8167:15;8060:132;-1:-1:-1;8206:9:1;;8004:217::o;8226:128::-;8266:3;8297:1;8293:6;8290:1;8287:13;8284:39;;;8303:18;;:::i;:::-;-1:-1:-1;8339:9:1;;8226:128::o;8715:168::-;8755:7;8821:1;8817;8813:6;8809:14;8806:1;8803:21;8798:1;8791:9;8784:17;8780:45;8777:71;;;8828:18;;:::i;:::-;-1:-1:-1;8868:9:1;;8715:168::o

Swarm Source

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