ETH Price: $3,467.76 (+1.44%)

Token

PepePoo (PePo)
 

Overview

Max Total Supply

1,000,000,000,000 PePo

Holders

1,563

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,073,104,641.19585477499284737 PePo

Value
$0.00
0x0ce0770bab9f2251af82db55caa57f3c579b2e94
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:
PepePoo

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2023-04-19
*/

// SPDX-License-Identifier: MIT
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) {
        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 is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_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() == _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 {
        _transferOwnership(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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

/**
 * @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 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 Contracts guidelines: functions revert
 * instead 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 ERC20 is Context, IERC20, IERC20Metadata {
    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");
        unchecked {
            _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");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This 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");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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:
     *
     * - `account` 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);

        _afterTokenTransfer(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");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

        _afterTokenTransfer(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 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 {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract PepePoo is Ownable, ERC20 {
    bool public limited;
    uint256 public maxWallet;
    address public uniswapV2Pair;

    constructor(uint256 _totalSupply) ERC20("PepePoo", "PePo") {
        _mint(msg.sender, _totalSupply);
    }

    function setWalletRule(bool _limited, address _uniswapV2Pair, uint256 _maxWallet) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxWallet = _maxWallet;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading not open yet");
            return;
        }

        if (limited && from == uniswapV2Pair) {
            require(balanceOf(to) + amount <= maxWallet, "max wallet breached");
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setWalletRule","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040516200256c3803806200256c833981810160405281019062000037919062000694565b6040518060400160405280600781526020017f50657065506f6f000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5065506f00000000000000000000000000000000000000000000000000000000815250620000c3620000b76200011060201b60201c565b6200011860201b60201c565b8160049080519060200190620000db929190620005cd565b508060059080519060200190620000f4929190620005cd565b505050620001093382620001dc60201b60201c565b5062000940565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200024f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024690620007db565b60405180910390fd5b62000263600083836200035660201b60201c565b80600360008282546200027791906200082b565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002cf91906200082b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003369190620007fd565b60405180910390a362000352600083836200055660201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200047a57620003be6200055b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004325750620004036200055b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000474576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200046b9062000797565b60405180910390fd5b62000551565b600660009054906101000a900460ff168015620004e45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620005505760075481620004ff846200058460201b60201c565b6200050b91906200082b565b11156200054f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200054690620007b9565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b828054620005db9062000892565b90600052602060002090601f016020900481019282620005ff57600085556200064b565b82601f106200061a57805160ff19168380011785556200064b565b828001600101855582156200064b579182015b828111156200064a5782518255916020019190600101906200062d565b5b5090506200065a91906200065e565b5090565b5b80821115620006795760008160009055506001016200065f565b5090565b6000815190506200068e8162000926565b92915050565b600060208284031215620006a757600080fd5b6000620006b7848285016200067d565b91505092915050565b6000620006cf6014836200081a565b91507f74726164696e67206e6f74206f70656e207965740000000000000000000000006000830152602082019050919050565b6000620007116013836200081a565b91507f6d61782077616c6c6574206272656163686564000000000000000000000000006000830152602082019050919050565b600062000753601f836200081a565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620007918162000888565b82525050565b60006020820190508181036000830152620007b281620006c0565b9050919050565b60006020820190508181036000830152620007d48162000702565b9050919050565b60006020820190508181036000830152620007f68162000744565b9050919050565b600060208201905062000814600083018462000786565b92915050565b600082825260208201905092915050565b6000620008388262000888565b9150620008458362000888565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200087d576200087c620008c8565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620008ab57607f821691505b60208210811415620008c257620008c1620008f7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620009318162000888565b81146200093d57600080fd5b50565b611c1c80620009506000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063860a32ec116100a2578063a457c2d711610071578063a457c2d7146102d3578063a9059cbb14610303578063dd62ed3e14610333578063f2fde38b14610363578063f8b45b051461037f57610116565b8063860a32ec1461025d5780638d99ff211461027b5780638da5cb5b1461029757806395d89b41146102b557610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d557806349bd5a5e1461020557806370a0823114610223578063715018a61461025357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361039d565b604051610130919061184e565b60405180910390f35b610153600480360381019061014e9190611328565b61042f565b6040516101609190611833565b60405180910390f35b61017161044d565b60405161017e91906119d0565b60405180910390f35b6101a1600480360381019061019c91906112d9565b610457565b6040516101ae9190611833565b60405180910390f35b6101bf61054f565b6040516101cc91906119eb565b60405180910390f35b6101ef60048036038101906101ea9190611328565b610558565b6040516101fc9190611833565b60405180910390f35b61020d610604565b60405161021a9190611818565b60405180910390f35b61023d60048036038101906102389190611274565b61062a565b60405161024a91906119d0565b60405180910390f35b61025b610673565b005b6102656106fb565b6040516102729190611833565b60405180910390f35b61029560048036038101906102909190611364565b61070e565b005b61029f6107f1565b6040516102ac9190611818565b60405180910390f35b6102bd61081a565b6040516102ca919061184e565b60405180910390f35b6102ed60048036038101906102e89190611328565b6108ac565b6040516102fa9190611833565b60405180910390f35b61031d60048036038101906103189190611328565b610997565b60405161032a9190611833565b60405180910390f35b61034d6004803603810190610348919061129d565b6109b5565b60405161035a91906119d0565b60405180910390f35b61037d60048036038101906103789190611274565b610a3c565b005b610387610b34565b60405161039491906119d0565b60405180910390f35b6060600480546103ac90611b00565b80601f01602080910402602001604051908101604052809291908181526020018280546103d890611b00565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b600061044361043c610b3a565b8484610b42565b6001905092915050565b6000600354905090565b6000610464848484610d0d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104af610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052690611910565b60405180910390fd5b6105438561053b610b3a565b858403610b42565b60019150509392505050565b60006012905090565b60006105fa610565610b3a565b848460026000610573610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105f59190611a22565b610b42565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067b610b3a565b73ffffffffffffffffffffffffffffffffffffffff166106996107f1565b73ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e690611930565b60405180910390fd5b6106f96000610f91565b565b600660009054906101000a900460ff1681565b610716610b3a565b73ffffffffffffffffffffffffffffffffffffffff166107346107f1565b73ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190611930565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461082990611b00565b80601f016020809104026020016040519081016040528092919081815260200182805461085590611b00565b80156108a25780601f10610877576101008083540402835291602001916108a2565b820191906000526020600020905b81548152906001019060200180831161088557829003601f168201915b5050505050905090565b600080600260006108bb610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f906119b0565b60405180910390fd5b61098c610983610b3a565b85858403610b42565b600191505092915050565b60006109ab6109a4610b3a565b8484610d0d565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a44610b3a565b73ffffffffffffffffffffffffffffffffffffffff16610a626107f1565b73ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611930565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906118b0565b60405180910390fd5b610b3181610f91565b50565b60075481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba990611970565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906118d0565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0091906119d0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7490611950565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de490611870565b60405180910390fd5b610df8838383611055565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e76906118f0565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f149190611a22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f7891906119d0565b60405180910390a3610f8b848484611230565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611163576110b46107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061111f57506110f06107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590611890565b60405180910390fd5b61122b565b600660009054906101000a900460ff1680156111cc5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561122a57600754816111de8461062a565b6111e89190611a22565b1115611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090611990565b60405180910390fd5b5b5b505050565b505050565b60008135905061124481611ba1565b92915050565b60008135905061125981611bb8565b92915050565b60008135905061126e81611bcf565b92915050565b60006020828403121561128657600080fd5b600061129484828501611235565b91505092915050565b600080604083850312156112b057600080fd5b60006112be85828601611235565b92505060206112cf85828601611235565b9150509250929050565b6000806000606084860312156112ee57600080fd5b60006112fc86828701611235565b935050602061130d86828701611235565b925050604061131e8682870161125f565b9150509250925092565b6000806040838503121561133b57600080fd5b600061134985828601611235565b925050602061135a8582860161125f565b9150509250929050565b60008060006060848603121561137957600080fd5b60006113878682870161124a565b935050602061139886828701611235565b92505060406113a98682870161125f565b9150509250925092565b6113bc81611a78565b82525050565b6113cb81611a8a565b82525050565b60006113dc82611a06565b6113e68185611a11565b93506113f6818560208601611acd565b6113ff81611b90565b840191505092915050565b6000611417602383611a11565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061147d601483611a11565b91507f74726164696e67206e6f74206f70656e207965740000000000000000000000006000830152602082019050919050565b60006114bd602683611a11565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611523602283611a11565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611589602683611a11565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115ef602883611a11565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611655602083611a11565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611695602583611a11565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116fb602483611a11565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611761601383611a11565b91507f6d61782077616c6c6574206272656163686564000000000000000000000000006000830152602082019050919050565b60006117a1602583611a11565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61180381611ab6565b82525050565b61181281611ac0565b82525050565b600060208201905061182d60008301846113b3565b92915050565b600060208201905061184860008301846113c2565b92915050565b6000602082019050818103600083015261186881846113d1565b905092915050565b600060208201905081810360008301526118898161140a565b9050919050565b600060208201905081810360008301526118a981611470565b9050919050565b600060208201905081810360008301526118c9816114b0565b9050919050565b600060208201905081810360008301526118e981611516565b9050919050565b600060208201905081810360008301526119098161157c565b9050919050565b60006020820190508181036000830152611929816115e2565b9050919050565b6000602082019050818103600083015261194981611648565b9050919050565b6000602082019050818103600083015261196981611688565b9050919050565b60006020820190508181036000830152611989816116ee565b9050919050565b600060208201905081810360008301526119a981611754565b9050919050565b600060208201905081810360008301526119c981611794565b9050919050565b60006020820190506119e560008301846117fa565b92915050565b6000602082019050611a006000830184611809565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611a2d82611ab6565b9150611a3883611ab6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a6d57611a6c611b32565b5b828201905092915050565b6000611a8382611a96565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611aeb578082015181840152602081019050611ad0565b83811115611afa576000848401525b50505050565b60006002820490506001821680611b1857607f821691505b60208210811415611b2c57611b2b611b61565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611baa81611a78565b8114611bb557600080fd5b50565b611bc181611a8a565b8114611bcc57600080fd5b50565b611bd881611ab6565b8114611be357600080fd5b5056fea2646970667358221220107f562943dcee0beeed8980e10140190c3a37e967e04a25a5d04397471b2b9c64736f6c63430008000033000000000000000000000000000000000000000c9f2c9cd04674edea40000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063860a32ec116100a2578063a457c2d711610071578063a457c2d7146102d3578063a9059cbb14610303578063dd62ed3e14610333578063f2fde38b14610363578063f8b45b051461037f57610116565b8063860a32ec1461025d5780638d99ff211461027b5780638da5cb5b1461029757806395d89b41146102b557610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d557806349bd5a5e1461020557806370a0823114610223578063715018a61461025357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361039d565b604051610130919061184e565b60405180910390f35b610153600480360381019061014e9190611328565b61042f565b6040516101609190611833565b60405180910390f35b61017161044d565b60405161017e91906119d0565b60405180910390f35b6101a1600480360381019061019c91906112d9565b610457565b6040516101ae9190611833565b60405180910390f35b6101bf61054f565b6040516101cc91906119eb565b60405180910390f35b6101ef60048036038101906101ea9190611328565b610558565b6040516101fc9190611833565b60405180910390f35b61020d610604565b60405161021a9190611818565b60405180910390f35b61023d60048036038101906102389190611274565b61062a565b60405161024a91906119d0565b60405180910390f35b61025b610673565b005b6102656106fb565b6040516102729190611833565b60405180910390f35b61029560048036038101906102909190611364565b61070e565b005b61029f6107f1565b6040516102ac9190611818565b60405180910390f35b6102bd61081a565b6040516102ca919061184e565b60405180910390f35b6102ed60048036038101906102e89190611328565b6108ac565b6040516102fa9190611833565b60405180910390f35b61031d60048036038101906103189190611328565b610997565b60405161032a9190611833565b60405180910390f35b61034d6004803603810190610348919061129d565b6109b5565b60405161035a91906119d0565b60405180910390f35b61037d60048036038101906103789190611274565b610a3c565b005b610387610b34565b60405161039491906119d0565b60405180910390f35b6060600480546103ac90611b00565b80601f01602080910402602001604051908101604052809291908181526020018280546103d890611b00565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b600061044361043c610b3a565b8484610b42565b6001905092915050565b6000600354905090565b6000610464848484610d0d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104af610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052690611910565b60405180910390fd5b6105438561053b610b3a565b858403610b42565b60019150509392505050565b60006012905090565b60006105fa610565610b3a565b848460026000610573610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105f59190611a22565b610b42565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067b610b3a565b73ffffffffffffffffffffffffffffffffffffffff166106996107f1565b73ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e690611930565b60405180910390fd5b6106f96000610f91565b565b600660009054906101000a900460ff1681565b610716610b3a565b73ffffffffffffffffffffffffffffffffffffffff166107346107f1565b73ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190611930565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461082990611b00565b80601f016020809104026020016040519081016040528092919081815260200182805461085590611b00565b80156108a25780601f10610877576101008083540402835291602001916108a2565b820191906000526020600020905b81548152906001019060200180831161088557829003601f168201915b5050505050905090565b600080600260006108bb610b3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f906119b0565b60405180910390fd5b61098c610983610b3a565b85858403610b42565b600191505092915050565b60006109ab6109a4610b3a565b8484610d0d565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a44610b3a565b73ffffffffffffffffffffffffffffffffffffffff16610a626107f1565b73ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611930565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906118b0565b60405180910390fd5b610b3181610f91565b50565b60075481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba990611970565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906118d0565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0091906119d0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7490611950565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de490611870565b60405180910390fd5b610df8838383611055565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e76906118f0565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f149190611a22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f7891906119d0565b60405180910390a3610f8b848484611230565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611163576110b46107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061111f57506110f06107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590611890565b60405180910390fd5b61122b565b600660009054906101000a900460ff1680156111cc5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561122a57600754816111de8461062a565b6111e89190611a22565b1115611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090611990565b60405180910390fd5b5b5b505050565b505050565b60008135905061124481611ba1565b92915050565b60008135905061125981611bb8565b92915050565b60008135905061126e81611bcf565b92915050565b60006020828403121561128657600080fd5b600061129484828501611235565b91505092915050565b600080604083850312156112b057600080fd5b60006112be85828601611235565b92505060206112cf85828601611235565b9150509250929050565b6000806000606084860312156112ee57600080fd5b60006112fc86828701611235565b935050602061130d86828701611235565b925050604061131e8682870161125f565b9150509250925092565b6000806040838503121561133b57600080fd5b600061134985828601611235565b925050602061135a8582860161125f565b9150509250929050565b60008060006060848603121561137957600080fd5b60006113878682870161124a565b935050602061139886828701611235565b92505060406113a98682870161125f565b9150509250925092565b6113bc81611a78565b82525050565b6113cb81611a8a565b82525050565b60006113dc82611a06565b6113e68185611a11565b93506113f6818560208601611acd565b6113ff81611b90565b840191505092915050565b6000611417602383611a11565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061147d601483611a11565b91507f74726164696e67206e6f74206f70656e207965740000000000000000000000006000830152602082019050919050565b60006114bd602683611a11565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611523602283611a11565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611589602683611a11565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115ef602883611a11565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611655602083611a11565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611695602583611a11565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116fb602483611a11565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611761601383611a11565b91507f6d61782077616c6c6574206272656163686564000000000000000000000000006000830152602082019050919050565b60006117a1602583611a11565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61180381611ab6565b82525050565b61181281611ac0565b82525050565b600060208201905061182d60008301846113b3565b92915050565b600060208201905061184860008301846113c2565b92915050565b6000602082019050818103600083015261186881846113d1565b905092915050565b600060208201905081810360008301526118898161140a565b9050919050565b600060208201905081810360008301526118a981611470565b9050919050565b600060208201905081810360008301526118c9816114b0565b9050919050565b600060208201905081810360008301526118e981611516565b9050919050565b600060208201905081810360008301526119098161157c565b9050919050565b60006020820190508181036000830152611929816115e2565b9050919050565b6000602082019050818103600083015261194981611648565b9050919050565b6000602082019050818103600083015261196981611688565b9050919050565b60006020820190508181036000830152611989816116ee565b9050919050565b600060208201905081810360008301526119a981611754565b9050919050565b600060208201905081810360008301526119c981611794565b9050919050565b60006020820190506119e560008301846117fa565b92915050565b6000602082019050611a006000830184611809565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611a2d82611ab6565b9150611a3883611ab6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a6d57611a6c611b32565b5b828201905092915050565b6000611a8382611a96565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611aeb578082015181840152602081019050611ad0565b83811115611afa576000848401525b50505050565b60006002820490506001821680611b1857607f821691505b60208210811415611b2c57611b2b611b61565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611baa81611a78565b8114611bb557600080fd5b50565b611bc181611a8a565b8114611bcc57600080fd5b50565b611bd881611ab6565b8114611be357600080fd5b5056fea2646970667358221220107f562943dcee0beeed8980e10140190c3a37e967e04a25a5d04397471b2b9c64736f6c63430008000033

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

000000000000000000000000000000000000000c9f2c9cd04674edea40000000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 1000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000c9f2c9cd04674edea40000000


Deployed Bytecode Sourcemap

18504:920:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8543:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10710:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9663:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11361:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9505:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12262:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18603:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9834:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2455:103;;;:::i;:::-;;18546:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18757:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1804:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8762:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12980:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10412:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2713:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18572:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8543:100;8597:13;8630:5;8623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8543:100;:::o;10710:169::-;10793:4;10810:39;10819:12;:10;:12::i;:::-;10833:7;10842:6;10810:8;:39::i;:::-;10867:4;10860:11;;10710:169;;;;:::o;9663:108::-;9724:7;9751:12;;9744:19;;9663:108;:::o;11361:492::-;11501:4;11518:36;11528:6;11536:9;11547:6;11518:9;:36::i;:::-;11567:24;11594:11;:19;11606:6;11594:19;;;;;;;;;;;;;;;:33;11614:12;:10;:12::i;:::-;11594:33;;;;;;;;;;;;;;;;11567:60;;11666:6;11646:16;:26;;11638:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11753:57;11762:6;11770:12;:10;:12::i;:::-;11803:6;11784:16;:25;11753:8;:57::i;:::-;11841:4;11834:11;;;11361:492;;;;;:::o;9505:93::-;9563:5;9588:2;9581:9;;9505:93;:::o;12262:215::-;12350:4;12367:80;12376:12;:10;:12::i;:::-;12390:7;12436:10;12399:11;:25;12411:12;:10;:12::i;:::-;12399:25;;;;;;;;;;;;;;;:34;12425:7;12399:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12367:8;:80::i;:::-;12465:4;12458:11;;12262:215;;;;:::o;18603:28::-;;;;;;;;;;;;;:::o;9834:127::-;9908:7;9935:9;:18;9945:7;9935:18;;;;;;;;;;;;;;;;9928:25;;9834:127;;;:::o;2455:103::-;2035:12;:10;:12::i;:::-;2024:23;;:7;:5;:7::i;:::-;:23;;;2016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2520:30:::1;2547:1;2520:18;:30::i;:::-;2455:103::o:0;18546:19::-;;;;;;;;;;;;;:::o;18757:212::-;2035:12;:10;:12::i;:::-;2024:23;;:7;:5;:7::i;:::-;:23;;;2016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18879:8:::1;18869:7;;:18;;;;;;;;;;;;;;;;;;18914:14;18898:13;;:30;;;;;;;;;;;;;;;;;;18951:10;18939:9;:22;;;;18757:212:::0;;;:::o;1804:87::-;1850:7;1877:6;;;;;;;;;;;1870:13;;1804:87;:::o;8762:104::-;8818:13;8851:7;8844:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8762:104;:::o;12980:413::-;13073:4;13090:24;13117:11;:25;13129:12;:10;:12::i;:::-;13117:25;;;;;;;;;;;;;;;:34;13143:7;13117:34;;;;;;;;;;;;;;;;13090:61;;13190:15;13170:16;:35;;13162:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13283:67;13292:12;:10;:12::i;:::-;13306:7;13334:15;13315:16;:34;13283:8;:67::i;:::-;13381:4;13374:11;;;12980:413;;;;:::o;10174:175::-;10260:4;10277:42;10287:12;:10;:12::i;:::-;10301:9;10312:6;10277:9;:42::i;:::-;10337:4;10330:11;;10174:175;;;;:::o;10412:151::-;10501:7;10528:11;:18;10540:5;10528:18;;;;;;;;;;;;;;;:27;10547:7;10528:27;;;;;;;;;;;;;;;;10521:34;;10412:151;;;;:::o;2713:201::-;2035:12;:10;:12::i;:::-;2024:23;;:7;:5;:7::i;:::-;:23;;;2016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2822:1:::1;2802:22;;:8;:22;;;;2794:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2878:28;2897:8;2878:18;:28::i;:::-;2713:201:::0;:::o;18572:24::-;;;;:::o;671:98::-;724:7;751:10;744:17;;671:98;:::o;16664:380::-;16817:1;16800:19;;:5;:19;;;;16792:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16898:1;16879:21;;:7;:21;;;;16871:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16982:6;16952:11;:18;16964:5;16952:18;;;;;;;;;;;;;;;:27;16971:7;16952:27;;;;;;;;;;;;;;;:36;;;;17020:7;17004:32;;17013:5;17004:32;;;17029:6;17004:32;;;;;;:::i;:::-;;;;;;;;16664:380;;;:::o;13883:733::-;14041:1;14023:20;;:6;:20;;;;14015:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14125:1;14104:23;;:9;:23;;;;14096:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14180:47;14201:6;14209:9;14220:6;14180:20;:47::i;:::-;14240:21;14264:9;:17;14274:6;14264:17;;;;;;;;;;;;;;;;14240:41;;14317:6;14300:13;:23;;14292:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14438:6;14422:13;:22;14402:9;:17;14412:6;14402:17;;;;;;;;;;;;;;;:42;;;;14490:6;14466:9;:20;14476:9;14466:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14531:9;14514:35;;14523:6;14514:35;;;14542:6;14514:35;;;;;;:::i;:::-;;;;;;;;14562:46;14582:6;14590:9;14601:6;14562:19;:46::i;:::-;13883:733;;;;:::o;3074:191::-;3148:16;3167:6;;;;;;;;;;;3148:25;;3193:8;3184:6;;:17;;;;;;;;;;;;;;;;;;3248:8;3217:40;;3238:8;3217:40;;;;;;;;;;;;3074:191;;:::o;18977:442::-;19151:1;19126:27;;:13;;;;;;;;;;;:27;;;19122:146;;;19186:7;:5;:7::i;:::-;19178:15;;:4;:15;;;:32;;;;19203:7;:5;:7::i;:::-;19197:13;;:2;:13;;;19178:32;19170:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19250:7;;19122:146;19284:7;;;;;;;;;;;:32;;;;;19303:13;;;;;;;;;;;19295:21;;:4;:21;;;19284:32;19280:132;;;19367:9;;19357:6;19341:13;19351:2;19341:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;19333:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19280:132;18977:442;;;;:::o;18373:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;;;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;;;;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;;;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:546::-;;;;2227:2;2215:9;2206:7;2202:23;2198:32;2195:2;;;2243:1;2240;2233:12;2195:2;2286:1;2311:50;2353:7;2344:6;2333:9;2329:22;2311:50;:::i;:::-;2301:60;;2257:114;2410:2;2436:53;2481:7;2472:6;2461:9;2457:22;2436:53;:::i;:::-;2426:63;;2381:118;2538:2;2564:53;2609:7;2600:6;2589:9;2585:22;2564:53;:::i;:::-;2554:63;;2509:118;2185:449;;;;;:::o;2640:118::-;2727:24;2745:5;2727:24;:::i;:::-;2722:3;2715:37;2705:53;;:::o;2764:109::-;2845:21;2860:5;2845:21;:::i;:::-;2840:3;2833:34;2823:50;;:::o;2879:364::-;;2995:39;3028:5;2995:39;:::i;:::-;3050:71;3114:6;3109:3;3050:71;:::i;:::-;3043:78;;3130:52;3175:6;3170:3;3163:4;3156:5;3152:16;3130:52;:::i;:::-;3207:29;3229:6;3207:29;:::i;:::-;3202:3;3198:39;3191:46;;2971:272;;;;;:::o;3249:367::-;;3412:67;3476:2;3471:3;3412:67;:::i;:::-;3405:74;;3509:34;3505:1;3500:3;3496:11;3489:55;3575:5;3570:2;3565:3;3561:12;3554:27;3607:2;3602:3;3598:12;3591:19;;3395:221;;;:::o;3622:318::-;;3785:67;3849:2;3844:3;3785:67;:::i;:::-;3778:74;;3882:22;3878:1;3873:3;3869:11;3862:43;3931:2;3926:3;3922:12;3915:19;;3768:172;;;:::o;3946:370::-;;4109:67;4173:2;4168:3;4109:67;:::i;:::-;4102:74;;4206:34;4202:1;4197:3;4193:11;4186:55;4272:8;4267:2;4262:3;4258:12;4251:30;4307:2;4302:3;4298:12;4291:19;;4092:224;;;:::o;4322:366::-;;4485:67;4549:2;4544:3;4485:67;:::i;:::-;4478:74;;4582:34;4578:1;4573:3;4569:11;4562:55;4648:4;4643:2;4638:3;4634:12;4627:26;4679:2;4674:3;4670:12;4663:19;;4468:220;;;:::o;4694:370::-;;4857:67;4921:2;4916:3;4857:67;:::i;:::-;4850:74;;4954:34;4950:1;4945:3;4941:11;4934:55;5020:8;5015:2;5010:3;5006:12;4999:30;5055:2;5050:3;5046:12;5039:19;;4840:224;;;:::o;5070:372::-;;5233:67;5297:2;5292:3;5233:67;:::i;:::-;5226:74;;5330:34;5326:1;5321:3;5317:11;5310:55;5396:10;5391:2;5386:3;5382:12;5375:32;5433:2;5428:3;5424:12;5417:19;;5216:226;;;:::o;5448:330::-;;5611:67;5675:2;5670:3;5611:67;:::i;:::-;5604:74;;5708:34;5704:1;5699:3;5695:11;5688:55;5769:2;5764:3;5760:12;5753:19;;5594:184;;;:::o;5784:369::-;;5947:67;6011:2;6006:3;5947:67;:::i;:::-;5940:74;;6044:34;6040:1;6035:3;6031:11;6024:55;6110:7;6105:2;6100:3;6096:12;6089:29;6144:2;6139:3;6135:12;6128:19;;5930:223;;;:::o;6159:368::-;;6322:67;6386:2;6381:3;6322:67;:::i;:::-;6315:74;;6419:34;6415:1;6410:3;6406:11;6399:55;6485:6;6480:2;6475:3;6471:12;6464:28;6518:2;6513:3;6509:12;6502:19;;6305:222;;;:::o;6533:317::-;;6696:67;6760:2;6755:3;6696:67;:::i;:::-;6689:74;;6793:21;6789:1;6784:3;6780:11;6773:42;6841:2;6836:3;6832:12;6825:19;;6679:171;;;:::o;6856:369::-;;7019:67;7083:2;7078:3;7019:67;:::i;:::-;7012:74;;7116:34;7112:1;7107:3;7103:11;7096:55;7182:7;7177:2;7172:3;7168:12;7161:29;7216:2;7211:3;7207:12;7200:19;;7002:223;;;:::o;7231:118::-;7318:24;7336:5;7318:24;:::i;:::-;7313:3;7306:37;7296:53;;:::o;7355:112::-;7438:22;7454:5;7438:22;:::i;:::-;7433:3;7426:35;7416:51;;:::o;7473:222::-;;7604:2;7593:9;7589:18;7581:26;;7617:71;7685:1;7674:9;7670:17;7661:6;7617:71;:::i;:::-;7571:124;;;;:::o;7701:210::-;;7826:2;7815:9;7811:18;7803:26;;7839:65;7901:1;7890:9;7886:17;7877:6;7839:65;:::i;:::-;7793:118;;;;:::o;7917:313::-;;8068:2;8057:9;8053:18;8045:26;;8117:9;8111:4;8107:20;8103:1;8092:9;8088:17;8081:47;8145:78;8218:4;8209:6;8145:78;:::i;:::-;8137:86;;8035:195;;;;:::o;8236:419::-;;8440:2;8429:9;8425:18;8417:26;;8489:9;8483:4;8479:20;8475:1;8464:9;8460:17;8453:47;8517:131;8643:4;8517:131;:::i;:::-;8509:139;;8407:248;;;:::o;8661:419::-;;8865:2;8854:9;8850:18;8842:26;;8914:9;8908:4;8904:20;8900:1;8889:9;8885:17;8878:47;8942:131;9068:4;8942:131;:::i;:::-;8934:139;;8832:248;;;:::o;9086:419::-;;9290:2;9279:9;9275:18;9267:26;;9339:9;9333:4;9329:20;9325:1;9314:9;9310:17;9303:47;9367:131;9493:4;9367:131;:::i;:::-;9359:139;;9257:248;;;:::o;9511:419::-;;9715:2;9704:9;9700:18;9692:26;;9764:9;9758:4;9754:20;9750:1;9739:9;9735:17;9728:47;9792:131;9918:4;9792:131;:::i;:::-;9784:139;;9682:248;;;:::o;9936:419::-;;10140:2;10129:9;10125:18;10117:26;;10189:9;10183:4;10179:20;10175:1;10164:9;10160:17;10153:47;10217:131;10343:4;10217:131;:::i;:::-;10209:139;;10107:248;;;:::o;10361:419::-;;10565:2;10554:9;10550:18;10542:26;;10614:9;10608:4;10604:20;10600:1;10589:9;10585:17;10578:47;10642:131;10768:4;10642:131;:::i;:::-;10634:139;;10532:248;;;:::o;10786:419::-;;10990:2;10979:9;10975:18;10967:26;;11039:9;11033:4;11029:20;11025:1;11014:9;11010:17;11003:47;11067:131;11193:4;11067:131;:::i;:::-;11059:139;;10957:248;;;:::o;11211:419::-;;11415:2;11404:9;11400:18;11392:26;;11464:9;11458:4;11454:20;11450:1;11439:9;11435:17;11428:47;11492:131;11618:4;11492:131;:::i;:::-;11484:139;;11382:248;;;:::o;11636:419::-;;11840:2;11829:9;11825:18;11817:26;;11889:9;11883:4;11879:20;11875:1;11864:9;11860:17;11853:47;11917:131;12043:4;11917:131;:::i;:::-;11909:139;;11807:248;;;:::o;12061:419::-;;12265:2;12254:9;12250:18;12242:26;;12314:9;12308:4;12304:20;12300:1;12289:9;12285:17;12278:47;12342:131;12468:4;12342:131;:::i;:::-;12334:139;;12232:248;;;:::o;12486:419::-;;12690:2;12679:9;12675:18;12667:26;;12739:9;12733:4;12729:20;12725:1;12714:9;12710:17;12703:47;12767:131;12893:4;12767:131;:::i;:::-;12759:139;;12657:248;;;:::o;12911:222::-;;13042:2;13031:9;13027:18;13019:26;;13055:71;13123:1;13112:9;13108:17;13099:6;13055:71;:::i;:::-;13009:124;;;;:::o;13139:214::-;;13266:2;13255:9;13251:18;13243:26;;13279:67;13343:1;13332:9;13328:17;13319:6;13279:67;:::i;:::-;13233:120;;;;:::o;13359:99::-;;13445:5;13439:12;13429:22;;13418:40;;;:::o;13464:169::-;;13582:6;13577:3;13570:19;13622:4;13617:3;13613:14;13598:29;;13560:73;;;;:::o;13639:305::-;;13698:20;13716:1;13698:20;:::i;:::-;13693:25;;13732:20;13750:1;13732:20;:::i;:::-;13727:25;;13886:1;13818:66;13814:74;13811:1;13808:81;13805:2;;;13892:18;;:::i;:::-;13805:2;13936:1;13933;13929:9;13922:16;;13683:261;;;;:::o;13950:96::-;;14016:24;14034:5;14016:24;:::i;:::-;14005:35;;13995:51;;;:::o;14052:90::-;;14129:5;14122:13;14115:21;14104:32;;14094:48;;;:::o;14148:126::-;;14225:42;14218:5;14214:54;14203:65;;14193:81;;;:::o;14280:77::-;;14346:5;14335:16;;14325:32;;;:::o;14363:86::-;;14438:4;14431:5;14427:16;14416:27;;14406:43;;;:::o;14455:307::-;14523:1;14533:113;14547:6;14544:1;14541:13;14533:113;;;14632:1;14627:3;14623:11;14617:18;14613:1;14608:3;14604:11;14597:39;14569:2;14566:1;14562:10;14557:15;;14533:113;;;14664:6;14661:1;14658:13;14655:2;;;14744:1;14735:6;14730:3;14726:16;14719:27;14655:2;14504:258;;;;:::o;14768:320::-;;14849:1;14843:4;14839:12;14829:22;;14896:1;14890:4;14886:12;14917:18;14907:2;;14973:4;14965:6;14961:17;14951:27;;14907:2;15035;15027:6;15024:14;15004:18;15001:38;14998:2;;;15054:18;;:::i;:::-;14998:2;14819:269;;;;:::o;15094:180::-;15142:77;15139:1;15132:88;15239:4;15236:1;15229:15;15263:4;15260:1;15253:15;15280:180;15328:77;15325:1;15318:88;15425:4;15422:1;15415:15;15449:4;15446:1;15439:15;15466:102;;15558:2;15554:7;15549:2;15542:5;15538:14;15534:28;15524:38;;15514:54;;;:::o;15574:122::-;15647:24;15665:5;15647:24;:::i;:::-;15640:5;15637:35;15627:2;;15686:1;15683;15676:12;15627:2;15617:79;:::o;15702:116::-;15772:21;15787:5;15772:21;:::i;:::-;15765:5;15762:32;15752:2;;15808:1;15805;15798:12;15752:2;15742:76;:::o;15824:122::-;15897:24;15915:5;15897:24;:::i;:::-;15890:5;15887:35;15877:2;;15936:1;15933;15926:12;15877:2;15867:79;:::o

Swarm Source

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