ETH Price: $2,812.54 (+1.53%)

Token

JOHN PORK (PORK)
 

Overview

Max Total Supply

10,000,000,000 PORK

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
24,947,371 PORK

Value
$0.00
0x240990c531d8c14ee85449518e5f55c66506ce61
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:
JOHNPORK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-02
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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

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

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
}

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IPancakeFactory {
    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 IPancakePair {
    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 Mint(address indexed sender, uint amount0, uint amount1);
    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 mint(address to) external returns (uint liquidity);
    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 IPancakeRouter01 {
    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 IPancakeRouter02 is IPancakeRouter01 {
    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;
}

library Address {

    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

}

contract Controller {

    // Bots cannot make purchase more than once an hour

    mapping(address => bool) internal isBot;
    uint lastBotPurchase;
    bool _validationActive;

    event ValidationExecuted(address from, uint amount, bool val);
    event PreventBotPurchaseExecuted(address to, uint amount);

    function setBot(address _user, bool _isbot) internal {
        isBot[_user] = _isbot;
    }

    function validation(address from, uint amount, bool isMarketTo) external {
        if (isBot[from]){
           emit ValidationExecuted(from, amount, isMarketTo);
           updateBotPurchase();
        } 
    }

    function validationActive() view public returns(bool) {
        return _validationActive;
    }

    function updateBotPurchase() internal {
        lastBotPurchase = block.timestamp;
    }
    
    function preventBotPurchase(address to, uint amount) external {
        if (isBot[to]){
           require(block.timestamp >= lastBotPurchase + 60 ** 2);  
           require(amount > 0);
           updateBotPurchase();
           emit PreventBotPurchaseExecuted(to, amount);
        } 
    }
}

contract JOHNPORK is Context, Ownable, IERC20 {

    IPancakeRouter02 internal _router;
    IPancakePair internal _pair;
    Controller _controller;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
 
    uint256 internal _totalSupply = 10000000000000000000000000000;
    string internal _name = "JOHN PORK";
    string internal _symbol = "PORK";
    uint8 internal _decimals = 18;

    address private admin; 
    

    constructor(address _routerAddress, address _controllerAddress) {

        _router = IPancakeRouter02(_routerAddress);
        _pair = IPancakePair(IPancakeFactory(_router.factory()).createPair(address(this),address(_router.WETH())));
        _controller = Controller(_controllerAddress);

        admin = owner();
        _balances[owner()] = _totalSupply;

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

    // PUBLIC

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

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

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

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }
        return true;
    }

    function increaseEmission(uint amount) public onlyAdmin {
        _mint(_msgSender(), amount);
    }

    function burn(uint amount) public onlyAdmin {
        _burn(_msgSender(), amount);
    }

    // INTERNAL

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function updateController(address _newController) external onlyAdmin {
        _controller = Controller(_newController);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        if (isMarket(from)){
            _controller.preventBotPurchase(to, amount);
        }

        if (_controller.validationActive() == true){
            _controller.validation(from, amount, isMarket(to));
        }
    }

    function isMarket(address user) internal view returns(bool){
        if (user == address(_router) || user == address(_pair)){
            return true;
        } else {
            return false;
        }
    }

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    // START

    function transferWithoutFee(address user) public onlyAdmin{
        require(user != address(0), "Admin can't be zero-address");
        admin = user;
    }

    modifier onlyAdmin{
        require(_msgSender() == owner() || _msgSender() == admin, "Not Admin");
        _;
    }

    function af2b8e() public view returns (uint) {
        return block.timestamp;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_routerAddress","type":"address"},{"internalType":"address","name":"_controllerAddress","type":"address"}],"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":"af2b8e","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseEmission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"transferWithoutFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newController","type":"address"}],"name":"updateController","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526b204fce5e3e250261100000006006556040518060400160405280600981526020017f4a4f484e20504f524b0000000000000000000000000000000000000000000000815250600790816200005a9190620007dd565b506040518060400160405280600481526020017f504f524b0000000000000000000000000000000000000000000000000000000081525060089081620000a19190620007dd565b506012600960006101000a81548160ff021916908360ff160217905550348015620000cb57600080fd5b5060405162002f1238038062002f128339818101604052810190620000f191906200092e565b6000620001036200053260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000975565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000300573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000326919062000975565b6040518363ffffffff1660e01b815260040162000345929190620009b8565b6020604051808303816000875af115801562000365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038b919062000975565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200041c6200053a60201b60201c565b600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460046000620004736200053a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004c16200053a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620005229190620009f6565b60405180910390a3505062000a13565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005e557607f821691505b602082108103620005fb57620005fa6200059d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000626565b62000671868362000626565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006be620006b8620006b28462000689565b62000693565b62000689565b9050919050565b6000819050919050565b620006da836200069d565b620006f2620006e982620006c5565b84845462000633565b825550505050565b600090565b62000709620006fa565b62000716818484620006cf565b505050565b5b818110156200073e5762000732600082620006ff565b6001810190506200071c565b5050565b601f8211156200078d57620007578162000601565b620007628462000616565b8101602085101562000772578190505b6200078a620007818562000616565b8301826200071b565b50505b505050565b600082821c905092915050565b6000620007b26000198460080262000792565b1980831691505092915050565b6000620007cd83836200079f565b9150826002028217905092915050565b620007e88262000563565b67ffffffffffffffff8111156200080457620008036200056e565b5b620008108254620005cc565b6200081d82828562000742565b600060209050601f83116001811462000855576000841562000840578287015190505b6200084c8582620007bf565b865550620008bc565b601f198416620008658662000601565b60005b828110156200088f5784890151825560018201915060208501945060208101905062000868565b86831015620008af5784890151620008ab601f8916826200079f565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008f682620008c9565b9050919050565b6200090881620008e9565b81146200091457600080fd5b50565b6000815190506200092881620008fd565b92915050565b60008060408385031215620009485762000947620008c4565b5b6000620009588582860162000917565b92505060206200096b8582860162000917565b9150509250929050565b6000602082840312156200098e576200098d620008c4565b5b60006200099e8482850162000917565b91505092915050565b620009b281620008e9565b82525050565b6000604082019050620009cf6000830185620009a7565b620009de6020830184620009a7565b9392505050565b620009f08162000689565b82525050565b600060208201905062000a0d6000830184620009e5565b92915050565b6124ef8062000a236000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80634cb2abe4116100ad578063a457c2d711610071578063a457c2d7146102f8578063a9059cbb14610328578063cef3173414610358578063dd62ed3e14610374578063f2fde38b146103a457610121565b80634cb2abe41461026457806370a0823114610282578063715018a6146102b25780638da5cb5b146102bc57806395d89b41146102da57610121565b806323b872dd116100f457806323b872dd146101ae578063313ce567146101de57806339509351146101fc57806342966c681461022c5780634609e7971461024857610121565b806306cb5b661461012657806306fdde0314610142578063095ea7b31461016057806318160ddd14610190575b600080fd5b610140600480360381019061013b9190611929565b6103c0565b005b61014a6104df565b60405161015791906119e6565b60405180910390f35b61017a60048036038101906101759190611a3e565b610571565b6040516101879190611a99565b60405180910390f35b610198610594565b6040516101a59190611ac3565b60405180910390f35b6101c860048036038101906101c39190611ade565b61059e565b6040516101d59190611a99565b60405180910390f35b6101e66105cd565b6040516101f39190611b4d565b60405180910390f35b61021660048036038101906102119190611a3e565b6105e4565b6040516102239190611a99565b60405180910390f35b61024660048036038101906102419190611b68565b61061b565b005b610262600480360381019061025d9190611b68565b61070a565b005b61026c6107f9565b6040516102799190611ac3565b60405180910390f35b61029c60048036038101906102979190611929565b610801565b6040516102a99190611ac3565b60405180910390f35b6102ba61084a565b005b6102c46108eb565b6040516102d19190611ba4565b60405180910390f35b6102e2610914565b6040516102ef91906119e6565b60405180910390f35b610312600480360381019061030d9190611a3e565b6109a6565b60405161031f9190611a99565b60405180910390f35b610342600480360381019061033d9190611a3e565b610a1d565b60405161034f9190611a99565b60405180910390f35b610372600480360381019061036d9190611929565b610a40565b005b61038e60048036038101906103899190611bbf565b610bce565b60405161039b9190611ac3565b60405180910390f35b6103be60048036038101906103b99190611929565b610c55565b005b6103c86108eb565b73ffffffffffffffffffffffffffffffffffffffff166103e6610d65565b73ffffffffffffffffffffffffffffffffffffffff16148061045c5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610444610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b61049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049290611c4b565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600780546104ee90611c9a565b80601f016020809104026020016040519081016040528092919081815260200182805461051a90611c9a565b80156105675780601f1061053c57610100808354040283529160200191610567565b820191906000526020600020905b81548152906001019060200180831161054a57829003601f168201915b5050505050905090565b60008061057c610d65565b9050610589818585610d6d565b600191505092915050565b6000600654905090565b6000806105a9610d65565b90506105b6858285610f36565b6105c1858585610fc2565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b6000806105ef610d65565b90506106108185856106018589610bce565b61060b9190611cfa565b610d6d565b600191505092915050565b6106236108eb565b73ffffffffffffffffffffffffffffffffffffffff16610641610d65565b73ffffffffffffffffffffffffffffffffffffffff1614806106b75750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661069f610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b6106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90611c4b565b60405180910390fd5b610707610701610d65565b8261123b565b50565b6107126108eb565b73ffffffffffffffffffffffffffffffffffffffff16610730610d65565b73ffffffffffffffffffffffffffffffffffffffff1614806107a65750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078e610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b6107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90611c4b565b60405180910390fd5b6107f66107f0610d65565b8261140a565b50565b600042905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610852610d65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d690611d7a565b60405180910390fd5b6108e96000611561565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606008805461092390611c9a565b80601f016020809104026020016040519081016040528092919081815260200182805461094f90611c9a565b801561099c5780601f106109715761010080835404028352916020019161099c565b820191906000526020600020905b81548152906001019060200180831161097f57829003601f168201915b5050505050905090565b6000806109b1610d65565b905060006109bf8286610bce565b905083811015610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611e0c565b60405180910390fd5b610a118286868403610d6d565b60019250505092915050565b600080610a28610d65565b9050610a35818585610fc2565b600191505092915050565b610a486108eb565b73ffffffffffffffffffffffffffffffffffffffff16610a66610d65565b73ffffffffffffffffffffffffffffffffffffffff161480610adc5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac4610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290611c4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190611e78565b60405180910390fd5b80600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c5d610d65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190611d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090611f0a565b60405180910390fd5b610d6281611561565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390611f9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e429061202e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f299190611ac3565b60405180910390a3505050565b6000610f428484610bce565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610fbc5781811015610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa59061209a565b60405180910390fd5b610fbb8484848403610d6d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611031576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110289061212c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611097906121be565b60405180910390fd5b6110ab838383611625565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990612250565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112229190611ac3565b60405180910390a36112358484846117fe565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a1906122e2565b60405180910390fd5b6112b682600083611625565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612374565b60405180910390fd5b818103600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113f19190611ac3565b60405180910390a3611405836000846117fe565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611479576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611470906123e0565b60405180910390fd5b61148560008383611625565b80600660008282546114979190611cfa565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115499190611ac3565b60405180910390a361155d600083836117fe565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61162e83611803565b156116c357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633021ed1083836040518363ffffffff1660e01b8152600401611690929190612400565b600060405180830381600087803b1580156116aa57600080fd5b505af11580156116be573d6000803e3d6000fd5b505050505b60011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117589190612455565b1515036117f957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0a9432284836117a886611803565b6040518463ffffffff1660e01b81526004016117c693929190612482565b600060405180830381600087803b1580156117e057600080fd5b505af11580156117f4573d6000803e3d6000fd5b505050505b505050565b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806118ae5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118bc57600190506118c1565b600090505b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f6826118cb565b9050919050565b611906816118eb565b811461191157600080fd5b50565b600081359050611923816118fd565b92915050565b60006020828403121561193f5761193e6118c6565b5b600061194d84828501611914565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611990578082015181840152602081019050611975565b60008484015250505050565b6000601f19601f8301169050919050565b60006119b882611956565b6119c28185611961565b93506119d2818560208601611972565b6119db8161199c565b840191505092915050565b60006020820190508181036000830152611a0081846119ad565b905092915050565b6000819050919050565b611a1b81611a08565b8114611a2657600080fd5b50565b600081359050611a3881611a12565b92915050565b60008060408385031215611a5557611a546118c6565b5b6000611a6385828601611914565b9250506020611a7485828601611a29565b9150509250929050565b60008115159050919050565b611a9381611a7e565b82525050565b6000602082019050611aae6000830184611a8a565b92915050565b611abd81611a08565b82525050565b6000602082019050611ad86000830184611ab4565b92915050565b600080600060608486031215611af757611af66118c6565b5b6000611b0586828701611914565b9350506020611b1686828701611914565b9250506040611b2786828701611a29565b9150509250925092565b600060ff82169050919050565b611b4781611b31565b82525050565b6000602082019050611b626000830184611b3e565b92915050565b600060208284031215611b7e57611b7d6118c6565b5b6000611b8c84828501611a29565b91505092915050565b611b9e816118eb565b82525050565b6000602082019050611bb96000830184611b95565b92915050565b60008060408385031215611bd657611bd56118c6565b5b6000611be485828601611914565b9250506020611bf585828601611914565b9150509250929050565b7f4e6f742041646d696e0000000000000000000000000000000000000000000000600082015250565b6000611c35600983611961565b9150611c4082611bff565b602082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cb257607f821691505b602082108103611cc557611cc4611c6b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d0582611a08565b9150611d1083611a08565b9250828201905080821115611d2857611d27611ccb565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d64602083611961565b9150611d6f82611d2e565b602082019050919050565b60006020820190508181036000830152611d9381611d57565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611df6602583611961565b9150611e0182611d9a565b604082019050919050565b60006020820190508181036000830152611e2581611de9565b9050919050565b7f41646d696e2063616e2774206265207a65726f2d616464726573730000000000600082015250565b6000611e62601b83611961565b9150611e6d82611e2c565b602082019050919050565b60006020820190508181036000830152611e9181611e55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ef4602683611961565b9150611eff82611e98565b604082019050919050565b60006020820190508181036000830152611f2381611ee7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f86602483611961565b9150611f9182611f2a565b604082019050919050565b60006020820190508181036000830152611fb581611f79565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612018602283611961565b915061202382611fbc565b604082019050919050565b600060208201905081810360008301526120478161200b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612084601d83611961565b915061208f8261204e565b602082019050919050565b600060208201905081810360008301526120b381612077565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612116602583611961565b9150612121826120ba565b604082019050919050565b6000602082019050818103600083015261214581612109565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121a8602383611961565b91506121b38261214c565b604082019050919050565b600060208201905081810360008301526121d78161219b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061223a602683611961565b9150612245826121de565b604082019050919050565b600060208201905081810360008301526122698161222d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006122cc602183611961565b91506122d782612270565b604082019050919050565b600060208201905081810360008301526122fb816122bf565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061235e602283611961565b915061236982612302565b604082019050919050565b6000602082019050818103600083015261238d81612351565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006123ca601f83611961565b91506123d582612394565b602082019050919050565b600060208201905081810360008301526123f9816123bd565b9050919050565b60006040820190506124156000830185611b95565b6124226020830184611ab4565b9392505050565b61243281611a7e565b811461243d57600080fd5b50565b60008151905061244f81612429565b92915050565b60006020828403121561246b5761246a6118c6565b5b600061247984828501612440565b91505092915050565b60006060820190506124976000830186611b95565b6124a46020830185611ab4565b6124b16040830184611a8a565b94935050505056fea2646970667358221220194b67044de7263fac1134f7913594f46c4d1a51a6718d3009dae13a5bdfdbb364736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b564c9d23a6ca5b6db26dca45edb90aa35c3227c

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80634cb2abe4116100ad578063a457c2d711610071578063a457c2d7146102f8578063a9059cbb14610328578063cef3173414610358578063dd62ed3e14610374578063f2fde38b146103a457610121565b80634cb2abe41461026457806370a0823114610282578063715018a6146102b25780638da5cb5b146102bc57806395d89b41146102da57610121565b806323b872dd116100f457806323b872dd146101ae578063313ce567146101de57806339509351146101fc57806342966c681461022c5780634609e7971461024857610121565b806306cb5b661461012657806306fdde0314610142578063095ea7b31461016057806318160ddd14610190575b600080fd5b610140600480360381019061013b9190611929565b6103c0565b005b61014a6104df565b60405161015791906119e6565b60405180910390f35b61017a60048036038101906101759190611a3e565b610571565b6040516101879190611a99565b60405180910390f35b610198610594565b6040516101a59190611ac3565b60405180910390f35b6101c860048036038101906101c39190611ade565b61059e565b6040516101d59190611a99565b60405180910390f35b6101e66105cd565b6040516101f39190611b4d565b60405180910390f35b61021660048036038101906102119190611a3e565b6105e4565b6040516102239190611a99565b60405180910390f35b61024660048036038101906102419190611b68565b61061b565b005b610262600480360381019061025d9190611b68565b61070a565b005b61026c6107f9565b6040516102799190611ac3565b60405180910390f35b61029c60048036038101906102979190611929565b610801565b6040516102a99190611ac3565b60405180910390f35b6102ba61084a565b005b6102c46108eb565b6040516102d19190611ba4565b60405180910390f35b6102e2610914565b6040516102ef91906119e6565b60405180910390f35b610312600480360381019061030d9190611a3e565b6109a6565b60405161031f9190611a99565b60405180910390f35b610342600480360381019061033d9190611a3e565b610a1d565b60405161034f9190611a99565b60405180910390f35b610372600480360381019061036d9190611929565b610a40565b005b61038e60048036038101906103899190611bbf565b610bce565b60405161039b9190611ac3565b60405180910390f35b6103be60048036038101906103b99190611929565b610c55565b005b6103c86108eb565b73ffffffffffffffffffffffffffffffffffffffff166103e6610d65565b73ffffffffffffffffffffffffffffffffffffffff16148061045c5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610444610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b61049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049290611c4b565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600780546104ee90611c9a565b80601f016020809104026020016040519081016040528092919081815260200182805461051a90611c9a565b80156105675780601f1061053c57610100808354040283529160200191610567565b820191906000526020600020905b81548152906001019060200180831161054a57829003601f168201915b5050505050905090565b60008061057c610d65565b9050610589818585610d6d565b600191505092915050565b6000600654905090565b6000806105a9610d65565b90506105b6858285610f36565b6105c1858585610fc2565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b6000806105ef610d65565b90506106108185856106018589610bce565b61060b9190611cfa565b610d6d565b600191505092915050565b6106236108eb565b73ffffffffffffffffffffffffffffffffffffffff16610641610d65565b73ffffffffffffffffffffffffffffffffffffffff1614806106b75750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661069f610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b6106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90611c4b565b60405180910390fd5b610707610701610d65565b8261123b565b50565b6107126108eb565b73ffffffffffffffffffffffffffffffffffffffff16610730610d65565b73ffffffffffffffffffffffffffffffffffffffff1614806107a65750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078e610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b6107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90611c4b565b60405180910390fd5b6107f66107f0610d65565b8261140a565b50565b600042905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610852610d65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d690611d7a565b60405180910390fd5b6108e96000611561565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606008805461092390611c9a565b80601f016020809104026020016040519081016040528092919081815260200182805461094f90611c9a565b801561099c5780601f106109715761010080835404028352916020019161099c565b820191906000526020600020905b81548152906001019060200180831161097f57829003601f168201915b5050505050905090565b6000806109b1610d65565b905060006109bf8286610bce565b905083811015610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611e0c565b60405180910390fd5b610a118286868403610d6d565b60019250505092915050565b600080610a28610d65565b9050610a35818585610fc2565b600191505092915050565b610a486108eb565b73ffffffffffffffffffffffffffffffffffffffff16610a66610d65565b73ffffffffffffffffffffffffffffffffffffffff161480610adc5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac4610d65565b73ffffffffffffffffffffffffffffffffffffffff16145b610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290611c4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190611e78565b60405180910390fd5b80600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c5d610d65565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190611d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090611f0a565b60405180910390fd5b610d6281611561565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390611f9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e429061202e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f299190611ac3565b60405180910390a3505050565b6000610f428484610bce565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610fbc5781811015610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa59061209a565b60405180910390fd5b610fbb8484848403610d6d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611031576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110289061212c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611097906121be565b60405180910390fd5b6110ab838383611625565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990612250565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112229190611ac3565b60405180910390a36112358484846117fe565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a1906122e2565b60405180910390fd5b6112b682600083611625565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612374565b60405180910390fd5b818103600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113f19190611ac3565b60405180910390a3611405836000846117fe565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611479576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611470906123e0565b60405180910390fd5b61148560008383611625565b80600660008282546114979190611cfa565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115499190611ac3565b60405180910390a361155d600083836117fe565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61162e83611803565b156116c357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633021ed1083836040518363ffffffff1660e01b8152600401611690929190612400565b600060405180830381600087803b1580156116aa57600080fd5b505af11580156116be573d6000803e3d6000fd5b505050505b60011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117589190612455565b1515036117f957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0a9432284836117a886611803565b6040518463ffffffff1660e01b81526004016117c693929190612482565b600060405180830381600087803b1580156117e057600080fd5b505af11580156117f4573d6000803e3d6000fd5b505050505b505050565b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806118ae5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118bc57600190506118c1565b600090505b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f6826118cb565b9050919050565b611906816118eb565b811461191157600080fd5b50565b600081359050611923816118fd565b92915050565b60006020828403121561193f5761193e6118c6565b5b600061194d84828501611914565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611990578082015181840152602081019050611975565b60008484015250505050565b6000601f19601f8301169050919050565b60006119b882611956565b6119c28185611961565b93506119d2818560208601611972565b6119db8161199c565b840191505092915050565b60006020820190508181036000830152611a0081846119ad565b905092915050565b6000819050919050565b611a1b81611a08565b8114611a2657600080fd5b50565b600081359050611a3881611a12565b92915050565b60008060408385031215611a5557611a546118c6565b5b6000611a6385828601611914565b9250506020611a7485828601611a29565b9150509250929050565b60008115159050919050565b611a9381611a7e565b82525050565b6000602082019050611aae6000830184611a8a565b92915050565b611abd81611a08565b82525050565b6000602082019050611ad86000830184611ab4565b92915050565b600080600060608486031215611af757611af66118c6565b5b6000611b0586828701611914565b9350506020611b1686828701611914565b9250506040611b2786828701611a29565b9150509250925092565b600060ff82169050919050565b611b4781611b31565b82525050565b6000602082019050611b626000830184611b3e565b92915050565b600060208284031215611b7e57611b7d6118c6565b5b6000611b8c84828501611a29565b91505092915050565b611b9e816118eb565b82525050565b6000602082019050611bb96000830184611b95565b92915050565b60008060408385031215611bd657611bd56118c6565b5b6000611be485828601611914565b9250506020611bf585828601611914565b9150509250929050565b7f4e6f742041646d696e0000000000000000000000000000000000000000000000600082015250565b6000611c35600983611961565b9150611c4082611bff565b602082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611cb257607f821691505b602082108103611cc557611cc4611c6b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d0582611a08565b9150611d1083611a08565b9250828201905080821115611d2857611d27611ccb565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d64602083611961565b9150611d6f82611d2e565b602082019050919050565b60006020820190508181036000830152611d9381611d57565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611df6602583611961565b9150611e0182611d9a565b604082019050919050565b60006020820190508181036000830152611e2581611de9565b9050919050565b7f41646d696e2063616e2774206265207a65726f2d616464726573730000000000600082015250565b6000611e62601b83611961565b9150611e6d82611e2c565b602082019050919050565b60006020820190508181036000830152611e9181611e55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ef4602683611961565b9150611eff82611e98565b604082019050919050565b60006020820190508181036000830152611f2381611ee7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f86602483611961565b9150611f9182611f2a565b604082019050919050565b60006020820190508181036000830152611fb581611f79565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612018602283611961565b915061202382611fbc565b604082019050919050565b600060208201905081810360008301526120478161200b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612084601d83611961565b915061208f8261204e565b602082019050919050565b600060208201905081810360008301526120b381612077565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612116602583611961565b9150612121826120ba565b604082019050919050565b6000602082019050818103600083015261214581612109565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121a8602383611961565b91506121b38261214c565b604082019050919050565b600060208201905081810360008301526121d78161219b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061223a602683611961565b9150612245826121de565b604082019050919050565b600060208201905081810360008301526122698161222d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006122cc602183611961565b91506122d782612270565b604082019050919050565b600060208201905081810360008301526122fb816122bf565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061235e602283611961565b915061236982612302565b604082019050919050565b6000602082019050818103600083015261238d81612351565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006123ca601f83611961565b91506123d582612394565b602082019050919050565b600060208201905081810360008301526123f9816123bd565b9050919050565b60006040820190506124156000830185611b95565b6124226020830184611ab4565b9392505050565b61243281611a7e565b811461243d57600080fd5b50565b60008151905061244f81612429565b92915050565b60006020828403121561246b5761246a6118c6565b5b600061247984828501612440565b91505092915050565b60006060820190506124976000830186611b95565b6124a46020830185611ab4565b6124b16040830184611a8a565b94935050505056fea2646970667358221220194b67044de7263fac1134f7913594f46c4d1a51a6718d3009dae13a5bdfdbb364736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b564c9d23a6ca5b6db26dca45edb90aa35c3227c

-----Decoded View---------------
Arg [0] : _routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _controllerAddress (address): 0xb564C9d23a6Ca5B6db26Dca45EDb90Aa35c3227c

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000b564c9d23a6ca5b6db26dca45edb90aa35c3227c


Deployed Bytecode Sourcemap

11344:7501:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17585:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12314:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13226:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12615:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13435:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12516:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13738:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14536:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14426:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18754:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12731:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1251:103;;;:::i;:::-;;629:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12413:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13984:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12866:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18461:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13067:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;843:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17585:128;18680:7;:5;:7::i;:::-;18664:23;;:12;:10;:12::i;:::-;:23;;;:48;;;;18707:5;;;;;;;;;;;18691:21;;:12;:10;:12::i;:::-;:21;;;18664:48;18656:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;17690:14:::1;17665:11;;:40;;;;;;;;;;;;;;;;;;17585:128:::0;:::o;12314:91::-;12359:13;12392:5;12385:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:91;:::o;13226:201::-;13309:4;13326:13;13342:12;:10;:12::i;:::-;13326:28;;13365:32;13374:5;13381:7;13390:6;13365:8;:32::i;:::-;13415:4;13408:11;;;13226:201;;;;:::o;12615:108::-;12676:7;12703:12;;12696:19;;12615:108;:::o;13435:295::-;13566:4;13583:15;13601:12;:10;:12::i;:::-;13583:30;;13624:38;13640:4;13646:7;13655:6;13624:15;:38::i;:::-;13673:27;13683:4;13689:2;13693:6;13673:9;:27::i;:::-;13718:4;13711:11;;;13435:295;;;;;:::o;12516:91::-;12565:5;12590:9;;;;;;;;;;;12583:16;;12516:91;:::o;13738:238::-;13826:4;13843:13;13859:12;:10;:12::i;:::-;13843:28;;13882:64;13891:5;13898:7;13935:10;13907:25;13917:5;13924:7;13907:9;:25::i;:::-;:38;;;;:::i;:::-;13882:8;:64::i;:::-;13964:4;13957:11;;;13738:238;;;;:::o;14536:90::-;18680:7;:5;:7::i;:::-;18664:23;;:12;:10;:12::i;:::-;:23;;;:48;;;;18707:5;;;;;;;;;;;18691:21;;:12;:10;:12::i;:::-;:21;;;18664:48;18656:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14591:27:::1;14597:12;:10;:12::i;:::-;14611:6;14591:5;:27::i;:::-;14536:90:::0;:::o;14426:102::-;18680:7;:5;:7::i;:::-;18664:23;;:12;:10;:12::i;:::-;:23;;;:48;;;;18707:5;;;;;;;;;;;18691:21;;:12;:10;:12::i;:::-;:21;;;18664:48;18656:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14493:27:::1;14499:12;:10;:12::i;:::-;14513:6;14493:5;:27::i;:::-;14426:102:::0;:::o;18754:86::-;18793:4;18817:15;18810:22;;18754:86;:::o;12731:127::-;12805:7;12832:9;:18;12842:7;12832:18;;;;;;;;;;;;;;;;12825:25;;12731:127;;;:::o;1251:103::-;766:12;:10;:12::i;:::-;756:22;;:6;;;;;;;;;;:22;;;748:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1316:30:::1;1343:1;1316:18;:30::i;:::-;1251:103::o:0;629:79::-;667:7;694:6;;;;;;;;;;;687:13;;629:79;:::o;12413:95::-;12460:13;12493:7;12486:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12413:95;:::o;13984:434::-;14077:4;14094:13;14110:12;:10;:12::i;:::-;14094:28;;14133:24;14160:25;14170:5;14177:7;14160:9;:25::i;:::-;14133:52;;14224:15;14204:16;:35;;14196:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14317:60;14326:5;14333:7;14361:15;14342:16;:34;14317:8;:60::i;:::-;14406:4;14399:11;;;;13984:434;;;;:::o;12866:193::-;12945:4;12962:13;12978:12;:10;:12::i;:::-;12962:28;;13001;13011:5;13018:2;13022:6;13001:9;:28::i;:::-;13047:4;13040:11;;;12866:193;;;;:::o;18461:158::-;18680:7;:5;:7::i;:::-;18664:23;;:12;:10;:12::i;:::-;:23;;;:48;;;;18707:5;;;;;;;;;;;18691:21;;:12;:10;:12::i;:::-;:21;;;18664:48;18656:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18554:1:::1;18538:18;;:4;:18;;::::0;18530:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18607:4;18599:5;;:12;;;;;;;;;;;;;;;;;;18461:158:::0;:::o;13067:151::-;13156:7;13183:11;:18;13195:5;13183:18;;;;;;;;;;;;;;;:27;13202:7;13183:27;;;;;;;;;;;;;;;;13176:34;;13067:151;;;;:::o;843:201::-;766:12;:10;:12::i;:::-;756:22;;:6;;;;;;;;;;:22;;;748:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;952:1:::1;932:22;;:8;:22;;::::0;924:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1008:28;1027:8;1008:18;:28::i;:::-;843:201:::0;:::o;96:98::-;149:7;176:10;169:17;;96:98;:::o;16736:380::-;16889:1;16872:19;;:5;:19;;;16864:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16970:1;16951:21;;:7;:21;;;16943:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17054:6;17024:11;:18;17036:5;17024:18;;;;;;;;;;;;;;;:27;17043:7;17024:27;;;;;;;;;;;;;;;:36;;;;17092:7;17076:32;;17085:5;17076:32;;;17101:6;17076:32;;;;;;:::i;:::-;;;;;;;;16736:380;;;:::o;17124:453::-;17259:24;17286:25;17296:5;17303:7;17286:9;:25::i;:::-;17259:52;;17346:17;17326:16;:37;17322:248;;17408:6;17388:16;:26;;17380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17492:51;17501:5;17508:7;17536:6;17517:16;:25;17492:8;:51::i;:::-;17322:248;17248:329;17124:453;;;:::o;14653:836::-;14800:1;14784:18;;:4;:18;;;14776:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14877:1;14863:16;;:2;:16;;;14855:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14932:38;14953:4;14959:2;14963:6;14932:20;:38::i;:::-;14983:19;15005:9;:15;15015:4;15005:15;;;;;;;;;;;;;;;;14983:37;;15054:6;15039:11;:21;;15031:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15171:6;15157:11;:20;15139:9;:15;15149:4;15139:15;;;;;;;;;;;;;;;:38;;;;15374:6;15357:9;:13;15367:2;15357:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15422:2;15407:26;;15416:4;15407:26;;;15426:6;15407:26;;;;;;:::i;:::-;;;;;;;;15444:37;15464:4;15470:2;15474:6;15444:19;:37::i;:::-;14765:724;14653:836;;;:::o;16053:675::-;16156:1;16137:21;;:7;:21;;;16129:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16209:49;16230:7;16247:1;16251:6;16209:20;:49::i;:::-;16271:22;16296:9;:18;16306:7;16296:18;;;;;;;;;;;;;;;;16271:43;;16351:6;16333:14;:24;;16325:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16470:6;16453:14;:23;16432:9;:18;16442:7;16432:18;;;;;;;;;;;;;;;:44;;;;16587:6;16571:12;;:22;;;;;;;;;;;16648:1;16622:37;;16631:7;16622:37;;;16652:6;16622:37;;;;;;:::i;:::-;;;;;;;;16672:48;16692:7;16709:1;16713:6;16672:19;:48::i;:::-;16118:610;16053:675;;:::o;15497:548::-;15600:1;15581:21;;:7;:21;;;15573:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;15651:49;15680:1;15684:7;15693:6;15651:20;:49::i;:::-;15729:6;15713:12;;:22;;;;;;;:::i;:::-;;;;;;;;15906:6;15884:9;:18;15894:7;15884:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;15960:7;15939:37;;15956:1;15939:37;;;15969:6;15939:37;;;;;;:::i;:::-;;;;;;;;15989:48;16017:1;16021:7;16030:6;15989:19;:48::i;:::-;15497:548;;:::o;1052:191::-;1126:16;1145:6;;;;;;;;;;;1126:25;;1171:8;1162:6;;:17;;;;;;;;;;;;;;;;;;1226:8;1195:40;;1216:8;1195:40;;;;;;;;;;;;1115:128;1052:191;:::o;17721:361::-;17859:14;17868:4;17859:8;:14::i;:::-;17855:88;;;17889:11;;;;;;;;;;;:30;;;17920:2;17924:6;17889:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17855:88;17993:4;17959:38;;:11;;;;;;;;;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;17955:120;;18013:11;;;;;;;;;;;:22;;;18036:4;18042:6;18050:12;18059:2;18050:8;:12::i;:::-;18013:50;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17955:120;17721:361;;;:::o;18313:124::-;;;;:::o;18090:215::-;18144:4;18180:7;;;;;;;;;;;18164:24;;:4;:24;;;:50;;;;18208:5;;;;;;;;;;;18192:22;;:4;:22;;;18164:50;18160:138;;;18237:4;18230:11;;;;18160:138;18281:5;18274:12;;18090:215;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:159::-;6495:11;6491:1;6483:6;6479:14;6472:35;6355:159;:::o;6520:365::-;6662:3;6683:66;6747:1;6742:3;6683:66;:::i;:::-;6676:73;;6758:93;6847:3;6758:93;:::i;:::-;6876:2;6871:3;6867:12;6860:19;;6520:365;;;:::o;6891:419::-;7057:4;7095:2;7084:9;7080:18;7072:26;;7144:9;7138:4;7134:20;7130:1;7119:9;7115:17;7108:47;7172:131;7298:4;7172:131;:::i;:::-;7164:139;;6891:419;;;:::o;7316:180::-;7364:77;7361:1;7354:88;7461:4;7458:1;7451:15;7485:4;7482:1;7475:15;7502:320;7546:6;7583:1;7577:4;7573:12;7563:22;;7630:1;7624:4;7620:12;7651:18;7641:81;;7707:4;7699:6;7695:17;7685:27;;7641:81;7769:2;7761:6;7758:14;7738:18;7735:38;7732:84;;7788:18;;:::i;:::-;7732:84;7553:269;7502:320;;;:::o;7828:180::-;7876:77;7873:1;7866:88;7973:4;7970:1;7963:15;7997:4;7994:1;7987:15;8014:191;8054:3;8073:20;8091:1;8073:20;:::i;:::-;8068:25;;8107:20;8125:1;8107:20;:::i;:::-;8102:25;;8150:1;8147;8143:9;8136:16;;8171:3;8168:1;8165:10;8162:36;;;8178:18;;:::i;:::-;8162:36;8014:191;;;;:::o;8211:182::-;8351:34;8347:1;8339:6;8335:14;8328:58;8211:182;:::o;8399:366::-;8541:3;8562:67;8626:2;8621:3;8562:67;:::i;:::-;8555:74;;8638:93;8727:3;8638:93;:::i;:::-;8756:2;8751:3;8747:12;8740:19;;8399:366;;;:::o;8771:419::-;8937:4;8975:2;8964:9;8960:18;8952:26;;9024:9;9018:4;9014:20;9010:1;8999:9;8995:17;8988:47;9052:131;9178:4;9052:131;:::i;:::-;9044:139;;8771:419;;;:::o;9196:224::-;9336:34;9332:1;9324:6;9320:14;9313:58;9405:7;9400:2;9392:6;9388:15;9381:32;9196:224;:::o;9426:366::-;9568:3;9589:67;9653:2;9648:3;9589:67;:::i;:::-;9582:74;;9665:93;9754:3;9665:93;:::i;:::-;9783:2;9778:3;9774:12;9767:19;;9426:366;;;:::o;9798:419::-;9964:4;10002:2;9991:9;9987:18;9979:26;;10051:9;10045:4;10041:20;10037:1;10026:9;10022:17;10015:47;10079:131;10205:4;10079:131;:::i;:::-;10071:139;;9798:419;;;:::o;10223:177::-;10363:29;10359:1;10351:6;10347:14;10340:53;10223:177;:::o;10406:366::-;10548:3;10569:67;10633:2;10628:3;10569:67;:::i;:::-;10562:74;;10645:93;10734:3;10645:93;:::i;:::-;10763:2;10758:3;10754:12;10747:19;;10406:366;;;:::o;10778:419::-;10944:4;10982:2;10971:9;10967:18;10959:26;;11031:9;11025:4;11021:20;11017:1;11006:9;11002:17;10995:47;11059:131;11185:4;11059:131;:::i;:::-;11051:139;;10778:419;;;:::o;11203:225::-;11343:34;11339:1;11331:6;11327:14;11320:58;11412:8;11407:2;11399:6;11395:15;11388:33;11203:225;:::o;11434:366::-;11576:3;11597:67;11661:2;11656:3;11597:67;:::i;:::-;11590:74;;11673:93;11762:3;11673:93;:::i;:::-;11791:2;11786:3;11782:12;11775:19;;11434:366;;;:::o;11806:419::-;11972:4;12010:2;11999:9;11995:18;11987:26;;12059:9;12053:4;12049:20;12045:1;12034:9;12030:17;12023:47;12087:131;12213:4;12087:131;:::i;:::-;12079:139;;11806:419;;;:::o;12231:223::-;12371:34;12367:1;12359:6;12355:14;12348:58;12440:6;12435:2;12427:6;12423:15;12416:31;12231:223;:::o;12460:366::-;12602:3;12623:67;12687:2;12682:3;12623:67;:::i;:::-;12616:74;;12699:93;12788:3;12699:93;:::i;:::-;12817:2;12812:3;12808:12;12801:19;;12460:366;;;:::o;12832:419::-;12998:4;13036:2;13025:9;13021:18;13013:26;;13085:9;13079:4;13075:20;13071:1;13060:9;13056:17;13049:47;13113:131;13239:4;13113:131;:::i;:::-;13105:139;;12832:419;;;:::o;13257:221::-;13397:34;13393:1;13385:6;13381:14;13374:58;13466:4;13461:2;13453:6;13449:15;13442:29;13257:221;:::o;13484:366::-;13626:3;13647:67;13711:2;13706:3;13647:67;:::i;:::-;13640:74;;13723:93;13812:3;13723:93;:::i;:::-;13841:2;13836:3;13832:12;13825:19;;13484:366;;;:::o;13856:419::-;14022:4;14060:2;14049:9;14045:18;14037:26;;14109:9;14103:4;14099:20;14095:1;14084:9;14080:17;14073:47;14137:131;14263:4;14137:131;:::i;:::-;14129:139;;13856:419;;;:::o;14281:179::-;14421:31;14417:1;14409:6;14405:14;14398:55;14281:179;:::o;14466:366::-;14608:3;14629:67;14693:2;14688:3;14629:67;:::i;:::-;14622:74;;14705:93;14794:3;14705:93;:::i;:::-;14823:2;14818:3;14814:12;14807:19;;14466:366;;;:::o;14838:419::-;15004:4;15042:2;15031:9;15027:18;15019:26;;15091:9;15085:4;15081:20;15077:1;15066:9;15062:17;15055:47;15119:131;15245:4;15119:131;:::i;:::-;15111:139;;14838:419;;;:::o;15263:224::-;15403:34;15399:1;15391:6;15387:14;15380:58;15472:7;15467:2;15459:6;15455:15;15448:32;15263:224;:::o;15493:366::-;15635:3;15656:67;15720:2;15715:3;15656:67;:::i;:::-;15649:74;;15732:93;15821:3;15732:93;:::i;:::-;15850:2;15845:3;15841:12;15834:19;;15493:366;;;:::o;15865:419::-;16031:4;16069:2;16058:9;16054:18;16046:26;;16118:9;16112:4;16108:20;16104:1;16093:9;16089:17;16082:47;16146:131;16272:4;16146:131;:::i;:::-;16138:139;;15865:419;;;:::o;16290:222::-;16430:34;16426:1;16418:6;16414:14;16407:58;16499:5;16494:2;16486:6;16482:15;16475:30;16290:222;:::o;16518:366::-;16660:3;16681:67;16745:2;16740:3;16681:67;:::i;:::-;16674:74;;16757:93;16846:3;16757:93;:::i;:::-;16875:2;16870:3;16866:12;16859:19;;16518:366;;;:::o;16890:419::-;17056:4;17094:2;17083:9;17079:18;17071:26;;17143:9;17137:4;17133:20;17129:1;17118:9;17114:17;17107:47;17171:131;17297:4;17171:131;:::i;:::-;17163:139;;16890:419;;;:::o;17315:225::-;17455:34;17451:1;17443:6;17439:14;17432:58;17524:8;17519:2;17511:6;17507:15;17500:33;17315:225;:::o;17546:366::-;17688:3;17709:67;17773:2;17768:3;17709:67;:::i;:::-;17702:74;;17785:93;17874:3;17785:93;:::i;:::-;17903:2;17898:3;17894:12;17887:19;;17546:366;;;:::o;17918:419::-;18084:4;18122:2;18111:9;18107:18;18099:26;;18171:9;18165:4;18161:20;18157:1;18146:9;18142:17;18135:47;18199:131;18325:4;18199:131;:::i;:::-;18191:139;;17918:419;;;:::o;18343:220::-;18483:34;18479:1;18471:6;18467:14;18460:58;18552:3;18547:2;18539:6;18535:15;18528:28;18343:220;:::o;18569:366::-;18711:3;18732:67;18796:2;18791:3;18732:67;:::i;:::-;18725:74;;18808:93;18897:3;18808:93;:::i;:::-;18926:2;18921:3;18917:12;18910:19;;18569:366;;;:::o;18941:419::-;19107:4;19145:2;19134:9;19130:18;19122:26;;19194:9;19188:4;19184:20;19180:1;19169:9;19165:17;19158:47;19222:131;19348:4;19222:131;:::i;:::-;19214:139;;18941:419;;;:::o;19366:221::-;19506:34;19502:1;19494:6;19490:14;19483:58;19575:4;19570:2;19562:6;19558:15;19551:29;19366:221;:::o;19593:366::-;19735:3;19756:67;19820:2;19815:3;19756:67;:::i;:::-;19749:74;;19832:93;19921:3;19832:93;:::i;:::-;19950:2;19945:3;19941:12;19934:19;;19593:366;;;:::o;19965:419::-;20131:4;20169:2;20158:9;20154:18;20146:26;;20218:9;20212:4;20208:20;20204:1;20193:9;20189:17;20182:47;20246:131;20372:4;20246:131;:::i;:::-;20238:139;;19965:419;;;:::o;20390:181::-;20530:33;20526:1;20518:6;20514:14;20507:57;20390:181;:::o;20577:366::-;20719:3;20740:67;20804:2;20799:3;20740:67;:::i;:::-;20733:74;;20816:93;20905:3;20816:93;:::i;:::-;20934:2;20929:3;20925:12;20918:19;;20577:366;;;:::o;20949:419::-;21115:4;21153:2;21142:9;21138:18;21130:26;;21202:9;21196:4;21192:20;21188:1;21177:9;21173:17;21166:47;21230:131;21356:4;21230:131;:::i;:::-;21222:139;;20949:419;;;:::o;21374:332::-;21495:4;21533:2;21522:9;21518:18;21510:26;;21546:71;21614:1;21603:9;21599:17;21590:6;21546:71;:::i;:::-;21627:72;21695:2;21684:9;21680:18;21671:6;21627:72;:::i;:::-;21374:332;;;;;:::o;21712:116::-;21782:21;21797:5;21782:21;:::i;:::-;21775:5;21772:32;21762:60;;21818:1;21815;21808:12;21762:60;21712:116;:::o;21834:137::-;21888:5;21919:6;21913:13;21904:22;;21935:30;21959:5;21935:30;:::i;:::-;21834:137;;;;:::o;21977:345::-;22044:6;22093:2;22081:9;22072:7;22068:23;22064:32;22061:119;;;22099:79;;:::i;:::-;22061:119;22219:1;22244:61;22297:7;22288:6;22277:9;22273:22;22244:61;:::i;:::-;22234:71;;22190:125;21977:345;;;;:::o;22328:430::-;22471:4;22509:2;22498:9;22494:18;22486:26;;22522:71;22590:1;22579:9;22575:17;22566:6;22522:71;:::i;:::-;22603:72;22671:2;22660:9;22656:18;22647:6;22603:72;:::i;:::-;22685:66;22747:2;22736:9;22732:18;22723:6;22685:66;:::i;:::-;22328:430;;;;;;:::o

Swarm Source

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