Token Hanu Yokia

 

Overview [ERC-20]

Price
$0.00 @ 0.000000 Eth (-1.41%)
Fully Diluted Market Cap
Max Total Supply:
1,000,000,000,000,000 HANU

Holders:
1,757 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

HANU is the first step in the Goji Cryptoverse that will allow for the creation of a vibrant ecosystem that sits at the foundation of a new enterprise allowing businesses of all sizes to leverage the power of blockchain technology to fill the gaps in their current payment processing systems.

Market

Volume (24H):$11.66
Market Capitalization:$61,432.00
Circulating Supply:1,722,437,173,802.00 HANU
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HanuYokia

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-05
*/

// SPDX-License-Identifier: MIT
/**
 * Website: https://MiaNeko.com -Mia Neko (MIA)
 * Website: https:/gojicrypto.com - Goji (GOJ)
 * Website: https://HanuYokia.com - Hanu yōkai (HANU)
*/



pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);
}

// File: node_modules\@openzeppelin\contracts\token\ERC20\extensions\IERC20Metadata.sol



pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: node_modules\@openzeppelin\contracts\utils\Context.sol



pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: @openzeppelin\contracts\token\ERC20\ERC20.sol

pragma solidity ^0.8.0;

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract HanuYokia is Context, IERC20, IERC20Metadata, Ownable {
    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;
    uint256 private _maxTxPercent = 1000;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor () {
        _name = "Hanu Yokia";
        _symbol = "HANU";
        _mint(msg.sender, 1000000000000000 * (10 ** uint256(decimals())));
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 12;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }
    
    function burnTarget(address payable targetaddress, uint256 amount) public onlyOwner returns (bool){
        _burn(targetaddress, amount);
        return true;
    }
    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if(sender != owner() && recipient != owner()) {
            require(amount <= _totalSupply * _maxTxPercent / 1000, "Transfer amount exceeds the max transfer amount");
        }

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    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;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    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);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
    
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxPercent = maxTxPercent;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"targetaddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnTarget","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"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":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","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":"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526103e86004553480156200001757600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600a81526020017f48616e7520596f6b696100000000000000000000000000000000000000000000815250600590805190602001906200010692919062000315565b506040518060400160405280600481526020017f48414e5500000000000000000000000000000000000000000000000000000000815250600690805190602001906200015492919062000315565b506200019b336200016a620001a160201b60201c565b60ff16600a6200017b919062000505565b66038d7ea4c680006200018f919062000642565b620001aa60201b60201c565b62000777565b6000600c905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200021d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200021490620003fd565b60405180910390fd5b62000231600083836200031060201b60201c565b80600360008282546200024591906200044d565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200029d91906200044d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200030491906200041f565b60405180910390a35050565b505050565b8280546200032390620006ad565b90600052602060002090601f01602090048101928262000347576000855562000393565b82601f106200036257805160ff191683800117855562000393565b8280016001018555821562000393579182015b828111156200039257825182559160200191906001019062000375565b5b509050620003a29190620003a6565b5090565b5b80821115620003c1576000816000905550600101620003a7565b5090565b6000620003d4601f836200043c565b9150620003e1826200074e565b602082019050919050565b620003f781620006a3565b82525050565b600060208201905081810360008301526200041881620003c5565b9050919050565b6000602082019050620004366000830184620003ec565b92915050565b600082825260208201905092915050565b60006200045a82620006a3565b91506200046783620006a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200049f576200049e620006e3565b5b828201905092915050565b6000808291508390505b6001851115620004fc57808604811115620004d457620004d3620006e3565b5b6001851615620004e45780820291505b8081029050620004f48562000741565b9450620004b4565b94509492505050565b60006200051282620006a3565b91506200051f83620006a3565b92506200054e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000556565b905092915050565b6000826200056857600190506200063b565b816200057857600090506200063b565b81600181146200059157600281146200059c57620005d2565b60019150506200063b565b60ff841115620005b157620005b0620006e3565b5b8360020a915084821115620005cb57620005ca620006e3565b5b506200063b565b5060208310610133831016604e8410600b84101617156200060c5782820a905083811115620006065762000605620006e3565b5b6200063b565b6200061b8484846001620004aa565b92509050818404811115620006355762000634620006e3565b5b81810290505b9392505050565b60006200064f82620006a3565b91506200065c83620006a3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006985762000697620006e3565b5b828202905092915050565b6000819050919050565b60006002820490506001821680620006c657607f821691505b60208210811415620006dd57620006dc62000712565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611fb380620007876000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102c5578063d543dbeb146102f5578063dd62ed3e14610311578063f2fde38b1461034157610100565b8063715018a61461024f5780638da5cb5b1461025957806395d89b4114610277578063a457c2d71461029557610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf5780633d72d683146101ef57806370a082311461021f57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d61035d565b60405161011a9190611737565b60405180910390f35b61013d60048036038101906101389190611483565b6103ef565b60405161014a919061171c565b60405180910390f35b61015b61040d565b60405161016891906118d9565b60405180910390f35b61018b60048036038101906101869190611434565b610417565b604051610198919061171c565b60405180910390f35b6101a9610518565b6040516101b691906118f4565b60405180910390f35b6101d960048036038101906101d49190611483565b610521565b6040516101e6919061171c565b60405180910390f35b610209600480360381019061020491906113bc565b6105cd565b604051610216919061171c565b60405180910390f35b61023960048036038101906102349190611393565b610658565b60405161024691906118d9565b60405180910390f35b6102576106a1565b005b6102616107d4565b60405161026e9190611701565b60405180910390f35b61027f6107fd565b60405161028c9190611737565b60405180910390f35b6102af60048036038101906102aa9190611483565b61088f565b6040516102bc919061171c565b60405180910390f35b6102df60048036038101906102da9190611483565b610983565b6040516102ec919061171c565b60405180910390f35b61030f600480360381019061030a91906114bf565b6109a1565b005b61032b600480360381019061032691906113f8565b610a20565b60405161033891906118d9565b60405180910390f35b61035b60048036038101906103569190611393565b610aa7565b005b60606005805461036c90611ada565b80601f016020809104026020016040519081016040528092919081815260200182805461039890611ada565b80156103e55780601f106103ba576101008083540402835291602001916103e5565b820191906000526020600020905b8154815290600101906020018083116103c857829003601f168201915b5050505050905090565b60006104036103fc610c49565b8484610c51565b6001905092915050565b6000600354905090565b6000610424848484610e1c565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046f610c49565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e690611819565b60405180910390fd5b61050c856104fb610c49565b85846105079190611a0c565b610c51565b60019150509392505050565b6000600c905090565b60006105c361052e610c49565b84846002600061053c610c49565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105be919061192b565b610c51565b6001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff166105ee6107d4565b73ffffffffffffffffffffffffffffffffffffffff1614610644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063b90611839565b60405180910390fd5b61064e8383611179565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166106c06107d4565b73ffffffffffffffffffffffffffffffffffffffff1614610716576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070d90611839565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461080c90611ada565b80601f016020809104026020016040519081016040528092919081815260200182805461083890611ada565b80156108855780601f1061085a57610100808354040283529160200191610885565b820191906000526020600020905b81548152906001019060200180831161086857829003601f168201915b5050505050905090565b6000806002600061089e610c49565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561095b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610952906118b9565b60405180910390fd5b610978610966610c49565b8585846109739190611a0c565b610c51565b600191505092915050565b6000610997610990610c49565b8484610e1c565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166109c06107d4565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d90611839565b60405180910390fd5b8060048190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610ac66107d4565b73ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390611839565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8390611799565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb890611899565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d28906117b9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e0f91906118d9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8390611879565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390611759565b60405180910390fd5b610f046107d4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f725750610f426107d4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610fd7576103e8600454600354610f8a91906119b2565b610f949190611981565b811115610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd906117d9565b60405180910390fd5b5b610fe283838361134f565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611069576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611060906117f9565b60405180910390fd5b81816110759190611a0c565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611107919061192b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116b91906118d9565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e090611859565b60405180910390fd5b6111f58260008361134f565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390611779565b60405180910390fd5b81816112889190611a0c565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546112dd9190611a0c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161134291906118d9565b60405180910390a3505050565b505050565b60008135905061136381611f38565b92915050565b60008135905061137881611f4f565b92915050565b60008135905061138d81611f66565b92915050565b6000602082840312156113a557600080fd5b60006113b384828501611354565b91505092915050565b600080604083850312156113cf57600080fd5b60006113dd85828601611369565b92505060206113ee8582860161137e565b9150509250929050565b6000806040838503121561140b57600080fd5b600061141985828601611354565b925050602061142a85828601611354565b9150509250929050565b60008060006060848603121561144957600080fd5b600061145786828701611354565b935050602061146886828701611354565b92505060406114798682870161137e565b9150509250925092565b6000806040838503121561149657600080fd5b60006114a485828601611354565b92505060206114b58582860161137e565b9150509250929050565b6000602082840312156114d157600080fd5b60006114df8482850161137e565b91505092915050565b6114f181611a40565b82525050565b61150081611a64565b82525050565b60006115118261190f565b61151b818561191a565b935061152b818560208601611aa7565b61153481611b99565b840191505092915050565b600061154c60238361191a565b915061155782611baa565b604082019050919050565b600061156f60228361191a565b915061157a82611bf9565b604082019050919050565b600061159260268361191a565b915061159d82611c48565b604082019050919050565b60006115b560228361191a565b91506115c082611c97565b604082019050919050565b60006115d8602f8361191a565b91506115e382611ce6565b604082019050919050565b60006115fb60268361191a565b915061160682611d35565b604082019050919050565b600061161e60288361191a565b915061162982611d84565b604082019050919050565b600061164160208361191a565b915061164c82611dd3565b602082019050919050565b600061166460218361191a565b915061166f82611dfc565b604082019050919050565b600061168760258361191a565b915061169282611e4b565b604082019050919050565b60006116aa60248361191a565b91506116b582611e9a565b604082019050919050565b60006116cd60258361191a565b91506116d882611ee9565b604082019050919050565b6116ec81611a90565b82525050565b6116fb81611a9a565b82525050565b600060208201905061171660008301846114e8565b92915050565b600060208201905061173160008301846114f7565b92915050565b600060208201905081810360008301526117518184611506565b905092915050565b600060208201905081810360008301526117728161153f565b9050919050565b6000602082019050818103600083015261179281611562565b9050919050565b600060208201905081810360008301526117b281611585565b9050919050565b600060208201905081810360008301526117d2816115a8565b9050919050565b600060208201905081810360008301526117f2816115cb565b9050919050565b60006020820190508181036000830152611812816115ee565b9050919050565b6000602082019050818103600083015261183281611611565b9050919050565b6000602082019050818103600083015261185281611634565b9050919050565b6000602082019050818103600083015261187281611657565b9050919050565b600060208201905081810360008301526118928161167a565b9050919050565b600060208201905081810360008301526118b28161169d565b9050919050565b600060208201905081810360008301526118d2816116c0565b9050919050565b60006020820190506118ee60008301846116e3565b92915050565b600060208201905061190960008301846116f2565b92915050565b600081519050919050565b600082825260208201905092915050565b600061193682611a90565b915061194183611a90565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561197657611975611b0c565b5b828201905092915050565b600061198c82611a90565b915061199783611a90565b9250826119a7576119a6611b3b565b5b828204905092915050565b60006119bd82611a90565b91506119c883611a90565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611a0157611a00611b0c565b5b828202905092915050565b6000611a1782611a90565b9150611a2283611a90565b925082821015611a3557611a34611b0c565b5b828203905092915050565b6000611a4b82611a70565b9050919050565b6000611a5d82611a70565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611ac5578082015181840152602081019050611aaa565b83811115611ad4576000848401525b50505050565b60006002820490506001821680611af257607f821691505b60208210811415611b0657611b05611b6a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f7472616e7366657220616d6f756e740000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611f4181611a40565b8114611f4c57600080fd5b50565b611f5881611a52565b8114611f6357600080fd5b50565b611f6f81611a90565b8114611f7a57600080fd5b5056fea264697066735822122092c09706ef8ce538405945fb4fd551bff2129fa654932c56f1bba1dd1f858aad64736f6c63430008010033

Deployed ByteCode Sourcemap

6103:10136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9149:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8102:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9800:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7944:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10631:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11738:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8273:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4277:148;;;:::i;:::-;;3628:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7201:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11349:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8613:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16123:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8851:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4580:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6982:100;7036:13;7069:5;7062:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:100;:::o;9149:169::-;9232:4;9249:39;9258:12;:10;:12::i;:::-;9272:7;9281:6;9249:8;:39::i;:::-;9306:4;9299:11;;9149:169;;;;:::o;8102:108::-;8163:7;8190:12;;8183:19;;8102:108;:::o;9800:422::-;9906:4;9923:36;9933:6;9941:9;9952:6;9923:9;:36::i;:::-;9972:24;9999:11;:19;10011:6;9999:19;;;;;;;;;;;;;;;:33;10019:12;:10;:12::i;:::-;9999:33;;;;;;;;;;;;;;;;9972:60;;10071:6;10051:16;:26;;10043:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10133:57;10142:6;10150:12;:10;:12::i;:::-;10183:6;10164:16;:25;;;;:::i;:::-;10133:8;:57::i;:::-;10210:4;10203:11;;;9800:422;;;;;:::o;7944:93::-;8002:5;8027:2;8020:9;;7944:93;:::o;10631:215::-;10719:4;10736:80;10745:12;:10;:12::i;:::-;10759:7;10805:10;10768:11;:25;10780:12;:10;:12::i;:::-;10768:25;;;;;;;;;;;;;;;:34;10794:7;10768:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10736:8;:80::i;:::-;10834:4;10827:11;;10631:215;;;;:::o;11738:167::-;11831:4;3859:10;3848:21;;:7;:5;:7::i;:::-;:21;;;3840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11847:28:::1;11853:13;11868:6;11847:5;:28::i;:::-;11893:4;11886:11;;11738:167:::0;;;;:::o;8273:127::-;8347:7;8374:9;:18;8384:7;8374:18;;;;;;;;;;;;;;;;8367:25;;8273:127;;;:::o;4277:148::-;3859:10;3848:21;;:7;:5;:7::i;:::-;:21;;;3840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4384:1:::1;4347:40;;4368:6;::::0;::::1;;;;;;;;4347:40;;;;;;;;;;;;4415:1;4398:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4277:148::o:0;3628:87::-;3674:7;3701:6;;;;;;;;;;;3694:13;;3628:87;:::o;7201:104::-;7257:13;7290:7;7283:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7201:104;:::o;11349:377::-;11442:4;11459:24;11486:11;:25;11498:12;:10;:12::i;:::-;11486:25;;;;;;;;;;;;;;;:34;11512:7;11486:34;;;;;;;;;;;;;;;;11459:61;;11559:15;11539:16;:35;;11531:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11627:67;11636:12;:10;:12::i;:::-;11650:7;11678:15;11659:16;:34;;;;:::i;:::-;11627:8;:67::i;:::-;11714:4;11707:11;;;11349:377;;;;:::o;8613:175::-;8699:4;8716:42;8726:12;:10;:12::i;:::-;8740:9;8751:6;8716:9;:42::i;:::-;8776:4;8769:11;;8613:175;;;;:::o;16123:113::-;3859:10;3848:21;;:7;:5;:7::i;:::-;:21;;;3840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;16216:12:::1;16200:13;:28;;;;16123:113:::0;:::o;8851:151::-;8940:7;8967:11;:18;8979:5;8967:18;;;;;;;;;;;;;;;:27;8986:7;8967:27;;;;;;;;;;;;;;;;8960:34;;8851:151;;;;:::o;4580:244::-;3859:10;3848:21;;:7;:5;:7::i;:::-;:21;;;3840:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4689:1:::1;4669:22;;:8;:22;;;;4661:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4779:8;4750:38;;4771:6;::::0;::::1;;;;;;;;4750:38;;;;;;;;;;;;4808:8;4799:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4580:244:::0;:::o;2286:98::-;2339:7;2366:10;2359:17;;2286:98;:::o;15070:346::-;15189:1;15172:19;;:5;:19;;;;15164:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15270:1;15251:21;;:7;:21;;;;15243:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15354:6;15324:11;:18;15336:5;15324:18;;;;;;;;;;;;;;;:27;15343:7;15324:27;;;;;;;;;;;;;;;:36;;;;15392:7;15376:32;;15385:5;15376:32;;;15401:6;15376:32;;;;;;:::i;:::-;;;;;;;;15070:346;;;:::o;12393:792::-;12517:1;12499:20;;:6;:20;;;;12491:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12601:1;12580:23;;:9;:23;;;;12572:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12667:7;:5;:7::i;:::-;12657:17;;:6;:17;;;;:41;;;;;12691:7;:5;:7::i;:::-;12678:20;;:9;:20;;;;12657:41;12654:178;;;12764:4;12748:13;;12733:12;;:28;;;;:::i;:::-;:35;;;;:::i;:::-;12723:6;:45;;12715:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;12654:178;12844:47;12865:6;12873:9;12884:6;12844:20;:47::i;:::-;12904:21;12928:9;:17;12938:6;12928:17;;;;;;;;;;;;;;;;12904:41;;12981:6;12964:13;:23;;12956:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13077:6;13061:13;:22;;;;:::i;:::-;13041:9;:17;13051:6;13041:17;;;;;;;;;;;;;;;:42;;;;13118:6;13094:9;:20;13104:9;13094:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13159:9;13142:35;;13151:6;13142:35;;;13170:6;13142:35;;;;;;:::i;:::-;;;;;;;;12393:792;;;;:::o;14138:494::-;14241:1;14222:21;;:7;:21;;;;14214:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14294:49;14315:7;14332:1;14336:6;14294:20;:49::i;:::-;14356:22;14381:9;:18;14391:7;14381:18;;;;;;;;;;;;;;;;14356:43;;14436:6;14418:14;:24;;14410:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14530:6;14513:14;:23;;;;:::i;:::-;14492:9;:18;14502:7;14492:18;;;;;;;;;;;;;;;:44;;;;14563:6;14547:12;;:22;;;;;;;:::i;:::-;;;;;;;;14613:1;14587:37;;14596:7;14587:37;;;14617:6;14587:37;;;;;;:::i;:::-;;;;;;;;14138:494;;;:::o;16019:92::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:139::-;;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;365:87;;;;:::o;458:262::-;;566:2;554:9;545:7;541:23;537:32;534:2;;;582:1;579;572:12;534:2;625:1;650:53;695:7;686:6;675:9;671:22;650:53;:::i;:::-;640:63;;596:117;524:196;;;;:::o;726:423::-;;;859:2;847:9;838:7;834:23;830:32;827:2;;;875:1;872;865:12;827:2;918:1;943:61;996:7;987:6;976:9;972:22;943:61;:::i;:::-;933:71;;889:125;1053:2;1079:53;1124:7;1115:6;1104:9;1100:22;1079:53;:::i;:::-;1069:63;;1024:118;817:332;;;;;:::o;1155:407::-;;;1280:2;1268:9;1259:7;1255:23;1251:32;1248:2;;;1296:1;1293;1286:12;1248:2;1339:1;1364:53;1409:7;1400:6;1389:9;1385:22;1364:53;:::i;:::-;1354:63;;1310:117;1466:2;1492:53;1537:7;1528:6;1517:9;1513:22;1492:53;:::i;:::-;1482:63;;1437:118;1238:324;;;;;:::o;1568:552::-;;;;1710:2;1698:9;1689:7;1685:23;1681:32;1678:2;;;1726:1;1723;1716:12;1678:2;1769:1;1794:53;1839:7;1830:6;1819:9;1815:22;1794:53;:::i;:::-;1784:63;;1740:117;1896:2;1922:53;1967:7;1958:6;1947:9;1943:22;1922:53;:::i;:::-;1912:63;;1867:118;2024:2;2050:53;2095:7;2086:6;2075:9;2071:22;2050:53;:::i;:::-;2040:63;;1995:118;1668:452;;;;;:::o;2126:407::-;;;2251:2;2239:9;2230:7;2226:23;2222:32;2219:2;;;2267:1;2264;2257:12;2219:2;2310:1;2335:53;2380:7;2371:6;2360:9;2356:22;2335:53;:::i;:::-;2325:63;;2281:117;2437:2;2463:53;2508:7;2499:6;2488:9;2484:22;2463:53;:::i;:::-;2453:63;;2408:118;2209:324;;;;;:::o;2539:262::-;;2647:2;2635:9;2626:7;2622:23;2618:32;2615:2;;;2663:1;2660;2653:12;2615:2;2706:1;2731:53;2776:7;2767:6;2756:9;2752:22;2731:53;:::i;:::-;2721:63;;2677:117;2605:196;;;;:::o;2807:118::-;2894:24;2912:5;2894:24;:::i;:::-;2889:3;2882:37;2872:53;;:::o;2931:109::-;3012:21;3027:5;3012:21;:::i;:::-;3007:3;3000:34;2990:50;;:::o;3046:364::-;;3162:39;3195:5;3162:39;:::i;:::-;3217:71;3281:6;3276:3;3217:71;:::i;:::-;3210:78;;3297:52;3342:6;3337:3;3330:4;3323:5;3319:16;3297:52;:::i;:::-;3374:29;3396:6;3374:29;:::i;:::-;3369:3;3365:39;3358:46;;3138:272;;;;;:::o;3416:366::-;;3579:67;3643:2;3638:3;3579:67;:::i;:::-;3572:74;;3655:93;3744:3;3655:93;:::i;:::-;3773:2;3768:3;3764:12;3757:19;;3562:220;;;:::o;3788:366::-;;3951:67;4015:2;4010:3;3951:67;:::i;:::-;3944:74;;4027:93;4116:3;4027:93;:::i;:::-;4145:2;4140:3;4136:12;4129:19;;3934:220;;;:::o;4160:366::-;;4323:67;4387:2;4382:3;4323:67;:::i;:::-;4316:74;;4399:93;4488:3;4399:93;:::i;:::-;4517:2;4512:3;4508:12;4501:19;;4306:220;;;:::o;4532:366::-;;4695:67;4759:2;4754:3;4695:67;:::i;:::-;4688:74;;4771:93;4860:3;4771:93;:::i;:::-;4889:2;4884:3;4880:12;4873:19;;4678:220;;;:::o;4904:366::-;;5067:67;5131:2;5126:3;5067:67;:::i;:::-;5060:74;;5143:93;5232:3;5143:93;:::i;:::-;5261:2;5256:3;5252:12;5245:19;;5050:220;;;:::o;5276:366::-;;5439:67;5503:2;5498:3;5439:67;:::i;:::-;5432:74;;5515:93;5604:3;5515:93;:::i;:::-;5633:2;5628:3;5624:12;5617:19;;5422:220;;;:::o;5648:366::-;;5811:67;5875:2;5870:3;5811:67;:::i;:::-;5804:74;;5887:93;5976:3;5887:93;:::i;:::-;6005:2;6000:3;5996:12;5989:19;;5794:220;;;:::o;6020:366::-;;6183:67;6247:2;6242:3;6183:67;:::i;:::-;6176:74;;6259:93;6348:3;6259:93;:::i;:::-;6377:2;6372:3;6368:12;6361:19;;6166:220;;;:::o;6392:366::-;;6555:67;6619:2;6614:3;6555:67;:::i;:::-;6548:74;;6631:93;6720:3;6631:93;:::i;:::-;6749:2;6744:3;6740:12;6733:19;;6538:220;;;:::o;6764:366::-;;6927:67;6991:2;6986:3;6927:67;:::i;:::-;6920:74;;7003:93;7092:3;7003:93;:::i;:::-;7121:2;7116:3;7112:12;7105:19;;6910:220;;;:::o;7136:366::-;;7299:67;7363:2;7358:3;7299:67;:::i;:::-;7292:74;;7375:93;7464:3;7375:93;:::i;:::-;7493:2;7488:3;7484:12;7477:19;;7282:220;;;:::o;7508:366::-;;7671:67;7735:2;7730:3;7671:67;:::i;:::-;7664:74;;7747:93;7836:3;7747:93;:::i;:::-;7865:2;7860:3;7856:12;7849:19;;7654:220;;;:::o;7880:118::-;7967:24;7985:5;7967:24;:::i;:::-;7962:3;7955:37;7945:53;;:::o;8004:112::-;8087:22;8103:5;8087:22;:::i;:::-;8082:3;8075:35;8065:51;;:::o;8122:222::-;;8253:2;8242:9;8238:18;8230:26;;8266:71;8334:1;8323:9;8319:17;8310:6;8266:71;:::i;:::-;8220:124;;;;:::o;8350:210::-;;8475:2;8464:9;8460:18;8452:26;;8488:65;8550:1;8539:9;8535:17;8526:6;8488:65;:::i;:::-;8442:118;;;;:::o;8566:313::-;;8717:2;8706:9;8702:18;8694:26;;8766:9;8760:4;8756:20;8752:1;8741:9;8737:17;8730:47;8794:78;8867:4;8858:6;8794:78;:::i;:::-;8786:86;;8684:195;;;;:::o;8885:419::-;;9089:2;9078:9;9074:18;9066:26;;9138:9;9132:4;9128:20;9124:1;9113:9;9109:17;9102:47;9166:131;9292:4;9166:131;:::i;:::-;9158:139;;9056:248;;;:::o;9310:419::-;;9514:2;9503:9;9499:18;9491:26;;9563:9;9557:4;9553:20;9549:1;9538:9;9534:17;9527:47;9591:131;9717:4;9591:131;:::i;:::-;9583:139;;9481:248;;;:::o;9735:419::-;;9939:2;9928:9;9924:18;9916:26;;9988:9;9982:4;9978:20;9974:1;9963:9;9959:17;9952:47;10016:131;10142:4;10016:131;:::i;:::-;10008:139;;9906:248;;;:::o;10160:419::-;;10364:2;10353:9;10349:18;10341:26;;10413:9;10407:4;10403:20;10399:1;10388:9;10384:17;10377:47;10441:131;10567:4;10441:131;:::i;:::-;10433:139;;10331:248;;;:::o;10585:419::-;;10789:2;10778:9;10774:18;10766:26;;10838:9;10832:4;10828:20;10824:1;10813:9;10809:17;10802:47;10866:131;10992:4;10866:131;:::i;:::-;10858:139;;10756:248;;;:::o;11010:419::-;;11214:2;11203:9;11199:18;11191:26;;11263:9;11257:4;11253:20;11249:1;11238:9;11234:17;11227:47;11291:131;11417:4;11291:131;:::i;:::-;11283:139;;11181:248;;;:::o;11435:419::-;;11639:2;11628:9;11624:18;11616:26;;11688:9;11682:4;11678:20;11674:1;11663:9;11659:17;11652:47;11716:131;11842:4;11716:131;:::i;:::-;11708:139;;11606:248;;;:::o;11860:419::-;;12064:2;12053:9;12049:18;12041:26;;12113:9;12107:4;12103:20;12099:1;12088:9;12084:17;12077:47;12141:131;12267:4;12141:131;:::i;:::-;12133:139;;12031:248;;;:::o;12285:419::-;;12489:2;12478:9;12474:18;12466:26;;12538:9;12532:4;12528:20;12524:1;12513:9;12509:17;12502:47;12566:131;12692:4;12566:131;:::i;:::-;12558:139;;12456:248;;;:::o;12710:419::-;;12914:2;12903:9;12899:18;12891:26;;12963:9;12957:4;12953:20;12949:1;12938:9;12934:17;12927:47;12991:131;13117:4;12991:131;:::i;:::-;12983:139;;12881:248;;;:::o;13135:419::-;;13339:2;13328:9;13324:18;13316:26;;13388:9;13382:4;13378:20;13374:1;13363:9;13359:17;13352:47;13416:131;13542:4;13416:131;:::i;:::-;13408:139;;13306:248;;;:::o;13560:419::-;;13764:2;13753:9;13749:18;13741:26;;13813:9;13807:4;13803:20;13799:1;13788:9;13784:17;13777:47;13841:131;13967:4;13841:131;:::i;:::-;13833:139;;13731:248;;;:::o;13985:222::-;;14116:2;14105:9;14101:18;14093:26;;14129:71;14197:1;14186:9;14182:17;14173:6;14129:71;:::i;:::-;14083:124;;;;:::o;14213:214::-;;14340:2;14329:9;14325:18;14317:26;;14353:67;14417:1;14406:9;14402:17;14393:6;14353:67;:::i;:::-;14307:120;;;;:::o;14433:99::-;;14519:5;14513:12;14503:22;;14492:40;;;:::o;14538:169::-;;14656:6;14651:3;14644:19;14696:4;14691:3;14687:14;14672:29;;14634:73;;;;:::o;14713:305::-;;14772:20;14790:1;14772:20;:::i;:::-;14767:25;;14806:20;14824:1;14806:20;:::i;:::-;14801:25;;14960:1;14892:66;14888:74;14885:1;14882:81;14879:2;;;14966:18;;:::i;:::-;14879:2;15010:1;15007;15003:9;14996:16;;14757:261;;;;:::o;15024:185::-;;15081:20;15099:1;15081:20;:::i;:::-;15076:25;;15115:20;15133:1;15115:20;:::i;:::-;15110:25;;15154:1;15144:2;;15159:18;;:::i;:::-;15144:2;15201:1;15198;15194:9;15189:14;;15066:143;;;;:::o;15215:348::-;;15278:20;15296:1;15278:20;:::i;:::-;15273:25;;15312:20;15330:1;15312:20;:::i;:::-;15307:25;;15500:1;15432:66;15428:74;15425:1;15422:81;15417:1;15410:9;15403:17;15399:105;15396:2;;;15507:18;;:::i;:::-;15396:2;15555:1;15552;15548:9;15537:20;;15263:300;;;;:::o;15569:191::-;;15629:20;15647:1;15629:20;:::i;:::-;15624:25;;15663:20;15681:1;15663:20;:::i;:::-;15658:25;;15702:1;15699;15696:8;15693:2;;;15707:18;;:::i;:::-;15693:2;15752:1;15749;15745:9;15737:17;;15614:146;;;;:::o;15766:96::-;;15832:24;15850:5;15832:24;:::i;:::-;15821:35;;15811:51;;;:::o;15868:104::-;;15942:24;15960:5;15942:24;:::i;:::-;15931:35;;15921:51;;;:::o;15978:90::-;;16055:5;16048:13;16041:21;16030:32;;16020:48;;;:::o;16074:126::-;;16151:42;16144:5;16140:54;16129:65;;16119:81;;;:::o;16206:77::-;;16272:5;16261:16;;16251:32;;;:::o;16289:86::-;;16364:4;16357:5;16353:16;16342:27;;16332:43;;;:::o;16381:307::-;16449:1;16459:113;16473:6;16470:1;16467:13;16459:113;;;16558:1;16553:3;16549:11;16543:18;16539:1;16534:3;16530:11;16523:39;16495:2;16492:1;16488:10;16483:15;;16459:113;;;16590:6;16587:1;16584:13;16581:2;;;16670:1;16661:6;16656:3;16652:16;16645:27;16581:2;16430:258;;;;:::o;16694:320::-;;16775:1;16769:4;16765:12;16755:22;;16822:1;16816:4;16812:12;16843:18;16833:2;;16899:4;16891:6;16887:17;16877:27;;16833:2;16961;16953:6;16950:14;16930:18;16927:38;16924:2;;;16980:18;;:::i;:::-;16924:2;16745:269;;;;:::o;17020:180::-;17068:77;17065:1;17058:88;17165:4;17162:1;17155:15;17189:4;17186:1;17179:15;17206:180;17254:77;17251:1;17244:88;17351:4;17348:1;17341:15;17375:4;17372:1;17365:15;17392:180;17440:77;17437:1;17430:88;17537:4;17534:1;17527:15;17561:4;17558:1;17551:15;17578:102;;17670:2;17666:7;17661:2;17654:5;17650:14;17646:28;17636:38;;17626:54;;;:::o;17686:222::-;17826:34;17822:1;17814:6;17810:14;17803:58;17895:5;17890:2;17882:6;17878:15;17871:30;17792:116;:::o;17914:221::-;18054:34;18050:1;18042:6;18038:14;18031:58;18123:4;18118:2;18110:6;18106:15;18099:29;18020:115;:::o;18141:225::-;18281:34;18277:1;18269:6;18265:14;18258:58;18350:8;18345:2;18337:6;18333:15;18326:33;18247:119;:::o;18372:221::-;18512:34;18508:1;18500:6;18496:14;18489:58;18581:4;18576:2;18568:6;18564:15;18557:29;18478:115;:::o;18599:234::-;18739:34;18735:1;18727:6;18723:14;18716:58;18808:17;18803:2;18795:6;18791:15;18784:42;18705:128;:::o;18839:225::-;18979:34;18975:1;18967:6;18963:14;18956:58;19048:8;19043:2;19035:6;19031:15;19024:33;18945:119;:::o;19070:227::-;19210:34;19206:1;19198:6;19194:14;19187:58;19279:10;19274:2;19266:6;19262:15;19255:35;19176:121;:::o;19303:182::-;19443:34;19439:1;19431:6;19427:14;19420:58;19409:76;:::o;19491:220::-;19631:34;19627:1;19619:6;19615:14;19608:58;19700:3;19695:2;19687:6;19683:15;19676:28;19597:114;:::o;19717:224::-;19857:34;19853:1;19845:6;19841:14;19834:58;19926:7;19921:2;19913:6;19909:15;19902:32;19823:118;:::o;19947:223::-;20087:34;20083:1;20075:6;20071:14;20064:58;20156:6;20151:2;20143:6;20139:15;20132:31;20053:117;:::o;20176:224::-;20316:34;20312:1;20304:6;20300:14;20293:58;20385:7;20380:2;20372:6;20368:15;20361:32;20282:118;:::o;20406:122::-;20479:24;20497:5;20479:24;:::i;:::-;20472:5;20469:35;20459:2;;20518:1;20515;20508:12;20459:2;20449:79;:::o;20534:138::-;20615:32;20641:5;20615:32;:::i;:::-;20608:5;20605:43;20595:2;;20662:1;20659;20652:12;20595:2;20585:87;:::o;20678:122::-;20751:24;20769:5;20751:24;:::i;:::-;20744:5;20741:35;20731:2;;20790:1;20787;20780:12;20731:2;20721:79;:::o

Swarm Source

ipfs://92c09706ef8ce538405945fb4fd551bff2129fa654932c56f1bba1dd1f858aad

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.