ETH Price: $2,479.20 (-7.74%)

Token

If You Missed PEPE (IYMP)
 

Overview

Max Total Supply

420,690,000,000,000 IYMP

Holders

68

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,201,900,000,000.000489608274598678 IYMP

Value
$0.00
0x65f97f889d82e9c0c11f7985d982082bd6a9a297
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:
IfYouMissedPepe

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

/**
 * @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 IfYouMissedPepe is Ownable, ERC20 {
    bool public limited;
    uint256 public maxHoldingAmount;
    uint256 public minHoldingAmount;
    address public uniswapV2Pair;
    mapping(address => bool) public blacklists;

    event LimitRemoved(bool status);
    event ContractRenounced(uint256 timestamp);

    constructor(uint256 _totalSupply) ERC20("If You Missed PEPE", "IYMP") {
        _mint(msg.sender, _totalSupply * 1e18);
    }

    function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount * 1e18;
        minHoldingAmount = _minHoldingAmount * 1e18;
    }

    function blacklist(address[] calldata _addresses, bool _isBlacklisting) external onlyOwner {
        for(uint i = 0; i< _addresses.length; i++){
            require(_addresses[i] != address(0));
            blacklists[_addresses[i]] = _isBlacklisting;
        }
    }

    function renounceContract() external onlyOwner {
        limited = false;
        renounceOwnership();

        emit LimitRemoved(false);
        emit ContractRenounced(block.timestamp);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        require(!blacklists[to] && !blacklists[from], "Blacklisted");

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "Only owner allowed");
            return;
        }

        if (limited && from == uniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
        }
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

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":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ContractRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"LimitRemoved","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":"_addresses","type":"address[]"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","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":"renounceContract","outputs":[],"stateMutability":"nonpayable","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":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","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"}]

60806040523480156200001157600080fd5b506040516200341e3803806200341e833981810160405281019062000037919062000725565b6040518060400160405280601281526020017f496620596f75204d6973736564205045504500000000000000000000000000008152506040518060400160405280600481526020017f49594d5000000000000000000000000000000000000000000000000000000000815250620000c3620000b76200011760201b60201c565b6200011f60201b60201c565b8160049081620000d49190620009c7565b508060059081620000e69190620009c7565b5050506200011033670de0b6b3a76400008362000104919062000add565b620001e360201b60201c565b5062000d6a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024c9062000b89565b60405180910390fd5b62000269600083836200035c60201b60201c565b80600360008282546200027d919062000bab565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002d5919062000bab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200033c919062000bf7565b60405180910390a362000358600083836200066e60201b60201c565b5050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015620004015750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b62000443576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043a9062000c64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200056657620004aa6200067360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200051e5750620004ef6200067360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005579062000cd6565b60405180910390fd5b62000669565b600660009054906101000a900460ff168015620005d05750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006685760075481620005eb846200069c60201b60201c565b620005f7919062000bab565b111580156200062557506008548162000616846200069c60201b60201c565b62000622919062000bab565b10155b62000667576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200065e9062000d48565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b6000819050919050565b620006ff81620006ea565b81146200070b57600080fd5b50565b6000815190506200071f81620006f4565b92915050565b6000602082840312156200073e576200073d620006e5565b5b60006200074e848285016200070e565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007d957607f821691505b602082108103620007ef57620007ee62000791565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200081a565b6200086586836200081a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620008a8620008a26200089c84620006ea565b6200087d565b620006ea565b9050919050565b6000819050919050565b620008c48362000887565b620008dc620008d382620008af565b84845462000827565b825550505050565b600090565b620008f3620008e4565b62000900818484620008b9565b505050565b5b8181101562000928576200091c600082620008e9565b60018101905062000906565b5050565b601f82111562000977576200094181620007f5565b6200094c846200080a565b810160208510156200095c578190505b620009746200096b856200080a565b83018262000905565b50505b505050565b600082821c905092915050565b60006200099c600019846008026200097c565b1980831691505092915050565b6000620009b7838362000989565b9150826002028217905092915050565b620009d28262000757565b67ffffffffffffffff811115620009ee57620009ed62000762565b5b620009fa8254620007c0565b62000a078282856200092c565b600060209050601f83116001811462000a3f576000841562000a2a578287015190505b62000a368582620009a9565b86555062000aa6565b601f19841662000a4f86620007f5565b60005b8281101562000a795784890151825560018201915060208501945060208101905062000a52565b8683101562000a99578489015162000a95601f89168262000989565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000aea82620006ea565b915062000af783620006ea565b925082820262000b0781620006ea565b9150828204841483151762000b215762000b2062000aae565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000b71601f8362000b28565b915062000b7e8262000b39565b602082019050919050565b6000602082019050818103600083015262000ba48162000b62565b9050919050565b600062000bb882620006ea565b915062000bc583620006ea565b925082820190508082111562000be05762000bdf62000aae565b5b92915050565b62000bf181620006ea565b82525050565b600060208201905062000c0e600083018462000be6565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000c4c600b8362000b28565b915062000c598262000c14565b602082019050919050565b6000602082019050818103600083015262000c7f8162000c3d565b9050919050565b7f4f6e6c79206f776e657220616c6c6f7765640000000000000000000000000000600082015250565b600062000cbe60128362000b28565b915062000ccb8262000c86565b602082019050919050565b6000602082019050818103600083015262000cf18162000caf565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000d3060068362000b28565b915062000d3d8262000cf8565b602082019050919050565b6000602082019050818103600083015262000d638162000d21565b9050919050565b6126a48062000d7a6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d714610392578063a9059cbb146103c2578063c997eb8d146103f2578063dd62ed3e1461040e578063f2fde38b1461043e578063fa2f7a8f1461045a5761014d565b806370a08231146102e0578063715018a614610310578063860a32ec1461031a57806389f9a1d3146103385780638da5cb5b1461035657806395d89b41146103745761014d565b806323b872dd1161011557806323b872dd1461020c578063313ce5671461023c578063395093511461025a5780633aa633aa1461028a57806342966c68146102a657806349bd5a5e146102c25761014d565b806306fdde0314610152578063095ea7b31461017057806316c02129146101a057806318160ddd146101d05780631ab99e12146101ee575b600080fd5b61015a610464565b6040516101679190611954565b60405180910390f35b61018a60048036038101906101859190611a14565b6104f6565b6040516101979190611a6f565b60405180910390f35b6101ba60048036038101906101b59190611a8a565b610514565b6040516101c79190611a6f565b60405180910390f35b6101d8610534565b6040516101e59190611ac6565b60405180910390f35b6101f661053e565b6040516102039190611ac6565b60405180910390f35b61022660048036038101906102219190611ae1565b610544565b6040516102339190611a6f565b60405180910390f35b61024461063c565b6040516102519190611b50565b60405180910390f35b610274600480360381019061026f9190611a14565b610645565b6040516102819190611a6f565b60405180910390f35b6102a4600480360381019061029f9190611b97565b6106f1565b005b6102c060048036038101906102bb9190611bfe565b610802565b005b6102ca61080f565b6040516102d79190611c3a565b60405180910390f35b6102fa60048036038101906102f59190611a8a565b610835565b6040516103079190611ac6565b60405180910390f35b61031861087e565b005b610322610906565b60405161032f9190611a6f565b60405180910390f35b610340610919565b60405161034d9190611ac6565b60405180910390f35b61035e61091f565b60405161036b9190611c3a565b60405180910390f35b61037c610948565b6040516103899190611954565b60405180910390f35b6103ac60048036038101906103a79190611a14565b6109da565b6040516103b99190611a6f565b60405180910390f35b6103dc60048036038101906103d79190611a14565b610ac5565b6040516103e99190611a6f565b60405180910390f35b61040c60048036038101906104079190611cba565b610ae3565b005b61042860048036038101906104239190611d1a565b610c64565b6040516104359190611ac6565b60405180910390f35b61045860048036038101906104539190611a8a565b610ceb565b005b610462610de2565b005b60606004805461047390611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90611d89565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b600061050a610503610ef2565b8484610efa565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60085481565b60006105518484846110c3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059c610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061390611e2c565b60405180910390fd5b61063085610628610ef2565b858403610efa565b60019150509392505050565b60006012905090565b60006106e7610652610ef2565b848460026000610660610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e29190611e7b565b610efa565b6001905092915050565b6106f9610ef2565b73ffffffffffffffffffffffffffffffffffffffff1661071761091f565b73ffffffffffffffffffffffffffffffffffffffff161461076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490611efb565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000826107dc9190611f1b565b600781905550670de0b6b3a7640000816107f69190611f1b565b60088190555050505050565b61080c3382611345565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610886610ef2565b73ffffffffffffffffffffffffffffffffffffffff166108a461091f565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f190611efb565b60405180910390fd5b610904600061151d565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461095790611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461098390611d89565b80156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b5050505050905090565b600080600260006109e9610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9d90611fcf565b60405180910390fd5b610aba610ab1610ef2565b85858403610efa565b600191505092915050565b6000610ad9610ad2610ef2565b84846110c3565b6001905092915050565b610aeb610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610b0961091f565b73ffffffffffffffffffffffffffffffffffffffff1614610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611efb565b60405180910390fd5b60005b83839050811015610c5e57600073ffffffffffffffffffffffffffffffffffffffff16848483818110610b9857610b97611fef565b5b9050602002016020810190610bad9190611a8a565b73ffffffffffffffffffffffffffffffffffffffff1603610bcd57600080fd5b81600a6000868685818110610be557610be4611fef565b5b9050602002016020810190610bfa9190611a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c569061201e565b915050610b62565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610cf3610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610d1161091f565b73ffffffffffffffffffffffffffffffffffffffff1614610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90611efb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd906120d8565b60405180910390fd5b610ddf8161151d565b50565b610dea610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610e0861091f565b73ffffffffffffffffffffffffffffffffffffffff1614610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611efb565b60405180910390fd5b6000600660006101000a81548160ff021916908315150217905550610e8161087e565b7f548bafd1a33a492155dcade6c5856b70634b1e8a4ac32b79af409f9fa8f3bec56000604051610eb19190611a6f565b60405180910390a17f741697396eb2f3fa79962399f57541a144f4becc5343a46ef3608ad1a6fdb77642604051610ee89190611ac6565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f609061216a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906121fc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b69190611ac6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111299061228e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890612320565b60405180910390fd5b6111ac8383836115e1565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122a906123b2565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c89190611e7b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161132c9190611ac6565b60405180910390a361133f8484846118bf565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ab90612444565b60405180910390fd5b6113c0826000836115e1565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e906124d6565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461149f91906124f6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115049190611ac6565b60405180910390a3611518836000846118bf565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116855750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bb90612576565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117d15761172261091f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061178d575061175e61091f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c3906125e2565b60405180910390fd5b6118ba565b600660009054906101000a900460ff16801561183a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156118b9576007548161184c84610835565b6118569190611e7b565b1115801561187957506008548161186c84610835565b6118769190611e7b565b10155b6118b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118af9061264e565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118fe5780820151818401526020810190506118e3565b60008484015250505050565b6000601f19601f8301169050919050565b6000611926826118c4565b61193081856118cf565b93506119408185602086016118e0565b6119498161190a565b840191505092915050565b6000602082019050818103600083015261196e818461191b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119ab82611980565b9050919050565b6119bb816119a0565b81146119c657600080fd5b50565b6000813590506119d8816119b2565b92915050565b6000819050919050565b6119f1816119de565b81146119fc57600080fd5b50565b600081359050611a0e816119e8565b92915050565b60008060408385031215611a2b57611a2a611976565b5b6000611a39858286016119c9565b9250506020611a4a858286016119ff565b9150509250929050565b60008115159050919050565b611a6981611a54565b82525050565b6000602082019050611a846000830184611a60565b92915050565b600060208284031215611aa057611a9f611976565b5b6000611aae848285016119c9565b91505092915050565b611ac0816119de565b82525050565b6000602082019050611adb6000830184611ab7565b92915050565b600080600060608486031215611afa57611af9611976565b5b6000611b08868287016119c9565b9350506020611b19868287016119c9565b9250506040611b2a868287016119ff565b9150509250925092565b600060ff82169050919050565b611b4a81611b34565b82525050565b6000602082019050611b656000830184611b41565b92915050565b611b7481611a54565b8114611b7f57600080fd5b50565b600081359050611b9181611b6b565b92915050565b60008060008060808587031215611bb157611bb0611976565b5b6000611bbf87828801611b82565b9450506020611bd0878288016119c9565b9350506040611be1878288016119ff565b9250506060611bf2878288016119ff565b91505092959194509250565b600060208284031215611c1457611c13611976565b5b6000611c22848285016119ff565b91505092915050565b611c34816119a0565b82525050565b6000602082019050611c4f6000830184611c2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611c7a57611c79611c55565b5b8235905067ffffffffffffffff811115611c9757611c96611c5a565b5b602083019150836020820283011115611cb357611cb2611c5f565b5b9250929050565b600080600060408486031215611cd357611cd2611976565b5b600084013567ffffffffffffffff811115611cf157611cf061197b565b5b611cfd86828701611c64565b93509350506020611d1086828701611b82565b9150509250925092565b60008060408385031215611d3157611d30611976565b5b6000611d3f858286016119c9565b9250506020611d50858286016119c9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611da157607f821691505b602082108103611db457611db3611d5a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611e166028836118cf565b9150611e2182611dba565b604082019050919050565b60006020820190508181036000830152611e4581611e09565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e86826119de565b9150611e91836119de565b9250828201905080821115611ea957611ea8611e4c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee56020836118cf565b9150611ef082611eaf565b602082019050919050565b60006020820190508181036000830152611f1481611ed8565b9050919050565b6000611f26826119de565b9150611f31836119de565b9250828202611f3f816119de565b91508282048414831517611f5657611f55611e4c565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fb96025836118cf565b9150611fc482611f5d565b604082019050919050565b60006020820190508181036000830152611fe881611fac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612029826119de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361205b5761205a611e4c565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120c26026836118cf565b91506120cd82612066565b604082019050919050565b600060208201905081810360008301526120f1816120b5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121546024836118cf565b915061215f826120f8565b604082019050919050565b6000602082019050818103600083015261218381612147565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121e66022836118cf565b91506121f18261218a565b604082019050919050565b60006020820190508181036000830152612215816121d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122786025836118cf565b91506122838261221c565b604082019050919050565b600060208201905081810360008301526122a78161226b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061230a6023836118cf565b9150612315826122ae565b604082019050919050565b60006020820190508181036000830152612339816122fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061239c6026836118cf565b91506123a782612340565b604082019050919050565b600060208201905081810360008301526123cb8161238f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061242e6021836118cf565b9150612439826123d2565b604082019050919050565b6000602082019050818103600083015261245d81612421565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c06022836118cf565b91506124cb82612464565b604082019050919050565b600060208201905081810360008301526124ef816124b3565b9050919050565b6000612501826119de565b915061250c836119de565b925082820390508181111561252457612523611e4c565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612560600b836118cf565b915061256b8261252a565b602082019050919050565b6000602082019050818103600083015261258f81612553565b9050919050565b7f4f6e6c79206f776e657220616c6c6f7765640000000000000000000000000000600082015250565b60006125cc6012836118cf565b91506125d782612596565b602082019050919050565b600060208201905081810360008301526125fb816125bf565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b60006126386006836118cf565b915061264382612602565b602082019050919050565b600060208201905081810360008301526126678161262b565b905091905056fea264697066735822122084677aec0b9a2dbb4da3462ea6820c34aff6f85ee4940daea0507d391fdc054b64736f6c6343000813003300000000000000000000000000000000000000000000000000017e9d8602b400

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d714610392578063a9059cbb146103c2578063c997eb8d146103f2578063dd62ed3e1461040e578063f2fde38b1461043e578063fa2f7a8f1461045a5761014d565b806370a08231146102e0578063715018a614610310578063860a32ec1461031a57806389f9a1d3146103385780638da5cb5b1461035657806395d89b41146103745761014d565b806323b872dd1161011557806323b872dd1461020c578063313ce5671461023c578063395093511461025a5780633aa633aa1461028a57806342966c68146102a657806349bd5a5e146102c25761014d565b806306fdde0314610152578063095ea7b31461017057806316c02129146101a057806318160ddd146101d05780631ab99e12146101ee575b600080fd5b61015a610464565b6040516101679190611954565b60405180910390f35b61018a60048036038101906101859190611a14565b6104f6565b6040516101979190611a6f565b60405180910390f35b6101ba60048036038101906101b59190611a8a565b610514565b6040516101c79190611a6f565b60405180910390f35b6101d8610534565b6040516101e59190611ac6565b60405180910390f35b6101f661053e565b6040516102039190611ac6565b60405180910390f35b61022660048036038101906102219190611ae1565b610544565b6040516102339190611a6f565b60405180910390f35b61024461063c565b6040516102519190611b50565b60405180910390f35b610274600480360381019061026f9190611a14565b610645565b6040516102819190611a6f565b60405180910390f35b6102a4600480360381019061029f9190611b97565b6106f1565b005b6102c060048036038101906102bb9190611bfe565b610802565b005b6102ca61080f565b6040516102d79190611c3a565b60405180910390f35b6102fa60048036038101906102f59190611a8a565b610835565b6040516103079190611ac6565b60405180910390f35b61031861087e565b005b610322610906565b60405161032f9190611a6f565b60405180910390f35b610340610919565b60405161034d9190611ac6565b60405180910390f35b61035e61091f565b60405161036b9190611c3a565b60405180910390f35b61037c610948565b6040516103899190611954565b60405180910390f35b6103ac60048036038101906103a79190611a14565b6109da565b6040516103b99190611a6f565b60405180910390f35b6103dc60048036038101906103d79190611a14565b610ac5565b6040516103e99190611a6f565b60405180910390f35b61040c60048036038101906104079190611cba565b610ae3565b005b61042860048036038101906104239190611d1a565b610c64565b6040516104359190611ac6565b60405180910390f35b61045860048036038101906104539190611a8a565b610ceb565b005b610462610de2565b005b60606004805461047390611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90611d89565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b600061050a610503610ef2565b8484610efa565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60085481565b60006105518484846110c3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059c610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061390611e2c565b60405180910390fd5b61063085610628610ef2565b858403610efa565b60019150509392505050565b60006012905090565b60006106e7610652610ef2565b848460026000610660610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e29190611e7b565b610efa565b6001905092915050565b6106f9610ef2565b73ffffffffffffffffffffffffffffffffffffffff1661071761091f565b73ffffffffffffffffffffffffffffffffffffffff161461076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490611efb565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000826107dc9190611f1b565b600781905550670de0b6b3a7640000816107f69190611f1b565b60088190555050505050565b61080c3382611345565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610886610ef2565b73ffffffffffffffffffffffffffffffffffffffff166108a461091f565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f190611efb565b60405180910390fd5b610904600061151d565b565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461095790611d89565b80601f016020809104026020016040519081016040528092919081815260200182805461098390611d89565b80156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b5050505050905090565b600080600260006109e9610ef2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9d90611fcf565b60405180910390fd5b610aba610ab1610ef2565b85858403610efa565b600191505092915050565b6000610ad9610ad2610ef2565b84846110c3565b6001905092915050565b610aeb610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610b0961091f565b73ffffffffffffffffffffffffffffffffffffffff1614610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611efb565b60405180910390fd5b60005b83839050811015610c5e57600073ffffffffffffffffffffffffffffffffffffffff16848483818110610b9857610b97611fef565b5b9050602002016020810190610bad9190611a8a565b73ffffffffffffffffffffffffffffffffffffffff1603610bcd57600080fd5b81600a6000868685818110610be557610be4611fef565b5b9050602002016020810190610bfa9190611a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c569061201e565b915050610b62565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610cf3610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610d1161091f565b73ffffffffffffffffffffffffffffffffffffffff1614610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90611efb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd906120d8565b60405180910390fd5b610ddf8161151d565b50565b610dea610ef2565b73ffffffffffffffffffffffffffffffffffffffff16610e0861091f565b73ffffffffffffffffffffffffffffffffffffffff1614610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611efb565b60405180910390fd5b6000600660006101000a81548160ff021916908315150217905550610e8161087e565b7f548bafd1a33a492155dcade6c5856b70634b1e8a4ac32b79af409f9fa8f3bec56000604051610eb19190611a6f565b60405180910390a17f741697396eb2f3fa79962399f57541a144f4becc5343a46ef3608ad1a6fdb77642604051610ee89190611ac6565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f609061216a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906121fc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b69190611ac6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111299061228e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890612320565b60405180910390fd5b6111ac8383836115e1565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122a906123b2565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c89190611e7b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161132c9190611ac6565b60405180910390a361133f8484846118bf565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ab90612444565b60405180910390fd5b6113c0826000836115e1565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e906124d6565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461149f91906124f6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115049190611ac6565b60405180910390a3611518836000846118bf565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116855750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bb90612576565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117d15761172261091f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061178d575061175e61091f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c3906125e2565b60405180910390fd5b6118ba565b600660009054906101000a900460ff16801561183a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156118b9576007548161184c84610835565b6118569190611e7b565b1115801561187957506008548161186c84610835565b6118769190611e7b565b10155b6118b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118af9061264e565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156118fe5780820151818401526020810190506118e3565b60008484015250505050565b6000601f19601f8301169050919050565b6000611926826118c4565b61193081856118cf565b93506119408185602086016118e0565b6119498161190a565b840191505092915050565b6000602082019050818103600083015261196e818461191b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119ab82611980565b9050919050565b6119bb816119a0565b81146119c657600080fd5b50565b6000813590506119d8816119b2565b92915050565b6000819050919050565b6119f1816119de565b81146119fc57600080fd5b50565b600081359050611a0e816119e8565b92915050565b60008060408385031215611a2b57611a2a611976565b5b6000611a39858286016119c9565b9250506020611a4a858286016119ff565b9150509250929050565b60008115159050919050565b611a6981611a54565b82525050565b6000602082019050611a846000830184611a60565b92915050565b600060208284031215611aa057611a9f611976565b5b6000611aae848285016119c9565b91505092915050565b611ac0816119de565b82525050565b6000602082019050611adb6000830184611ab7565b92915050565b600080600060608486031215611afa57611af9611976565b5b6000611b08868287016119c9565b9350506020611b19868287016119c9565b9250506040611b2a868287016119ff565b9150509250925092565b600060ff82169050919050565b611b4a81611b34565b82525050565b6000602082019050611b656000830184611b41565b92915050565b611b7481611a54565b8114611b7f57600080fd5b50565b600081359050611b9181611b6b565b92915050565b60008060008060808587031215611bb157611bb0611976565b5b6000611bbf87828801611b82565b9450506020611bd0878288016119c9565b9350506040611be1878288016119ff565b9250506060611bf2878288016119ff565b91505092959194509250565b600060208284031215611c1457611c13611976565b5b6000611c22848285016119ff565b91505092915050565b611c34816119a0565b82525050565b6000602082019050611c4f6000830184611c2b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611c7a57611c79611c55565b5b8235905067ffffffffffffffff811115611c9757611c96611c5a565b5b602083019150836020820283011115611cb357611cb2611c5f565b5b9250929050565b600080600060408486031215611cd357611cd2611976565b5b600084013567ffffffffffffffff811115611cf157611cf061197b565b5b611cfd86828701611c64565b93509350506020611d1086828701611b82565b9150509250925092565b60008060408385031215611d3157611d30611976565b5b6000611d3f858286016119c9565b9250506020611d50858286016119c9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611da157607f821691505b602082108103611db457611db3611d5a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611e166028836118cf565b9150611e2182611dba565b604082019050919050565b60006020820190508181036000830152611e4581611e09565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e86826119de565b9150611e91836119de565b9250828201905080821115611ea957611ea8611e4c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee56020836118cf565b9150611ef082611eaf565b602082019050919050565b60006020820190508181036000830152611f1481611ed8565b9050919050565b6000611f26826119de565b9150611f31836119de565b9250828202611f3f816119de565b91508282048414831517611f5657611f55611e4c565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fb96025836118cf565b9150611fc482611f5d565b604082019050919050565b60006020820190508181036000830152611fe881611fac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612029826119de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361205b5761205a611e4c565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120c26026836118cf565b91506120cd82612066565b604082019050919050565b600060208201905081810360008301526120f1816120b5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121546024836118cf565b915061215f826120f8565b604082019050919050565b6000602082019050818103600083015261218381612147565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121e66022836118cf565b91506121f18261218a565b604082019050919050565b60006020820190508181036000830152612215816121d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122786025836118cf565b91506122838261221c565b604082019050919050565b600060208201905081810360008301526122a78161226b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061230a6023836118cf565b9150612315826122ae565b604082019050919050565b60006020820190508181036000830152612339816122fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061239c6026836118cf565b91506123a782612340565b604082019050919050565b600060208201905081810360008301526123cb8161238f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061242e6021836118cf565b9150612439826123d2565b604082019050919050565b6000602082019050818103600083015261245d81612421565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c06022836118cf565b91506124cb82612464565b604082019050919050565b600060208201905081810360008301526124ef816124b3565b9050919050565b6000612501826119de565b915061250c836119de565b925082820390508181111561252457612523611e4c565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612560600b836118cf565b915061256b8261252a565b602082019050919050565b6000602082019050818103600083015261258f81612553565b9050919050565b7f4f6e6c79206f776e657220616c6c6f7765640000000000000000000000000000600082015250565b60006125cc6012836118cf565b91506125d782612596565b602082019050919050565b600060208201905081810360008301526125fb816125bf565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b60006126386006836118cf565b915061264382612602565b602082019050919050565b600060208201905081810360008301526126678161262b565b905091905056fea264697066735822122084677aec0b9a2dbb4da3462ea6820c34aff6f85ee4940daea0507d391fdc054b64736f6c63430008130033

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

00000000000000000000000000000000000000000000000000017e9d8602b400

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000017e9d8602b400


Deployed Bytecode Sourcemap

18436:1926:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8475:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10642:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18623:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9595:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18550:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11293:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9437:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12194:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18898:315;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20278:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18588:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9766:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2387:103;;;:::i;:::-;;18486:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18512:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1736:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8694:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12912:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10106:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19221:272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10344:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2645:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19501:198;;;:::i;:::-;;8475:100;8529:13;8562:5;8555:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8475:100;:::o;10642:169::-;10725:4;10742:39;10751:12;:10;:12::i;:::-;10765:7;10774:6;10742:8;:39::i;:::-;10799:4;10792:11;;10642:169;;;;:::o;18623:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;9595:108::-;9656:7;9683:12;;9676:19;;9595:108;:::o;18550:31::-;;;;:::o;11293:492::-;11433:4;11450:36;11460:6;11468:9;11479:6;11450:9;:36::i;:::-;11499:24;11526:11;:19;11538:6;11526:19;;;;;;;;;;;;;;;:33;11546:12;:10;:12::i;:::-;11526:33;;;;;;;;;;;;;;;;11499:60;;11598:6;11578:16;:26;;11570:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11685:57;11694:6;11702:12;:10;:12::i;:::-;11735:6;11716:16;:25;11685:8;:57::i;:::-;11773:4;11766:11;;;11293:492;;;;;:::o;9437:93::-;9495:5;9520:2;9513:9;;9437:93;:::o;12194:215::-;12282:4;12299:80;12308:12;:10;:12::i;:::-;12322:7;12368:10;12331:11;:25;12343:12;:10;:12::i;:::-;12331:25;;;;;;;;;;;;;;;:34;12357:7;12331:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12299:8;:80::i;:::-;12397:4;12390:11;;12194:215;;;;:::o;18898:315::-;1967:12;:10;:12::i;:::-;1956:23;;:7;:5;:7::i;:::-;:23;;;1948:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19048:8:::1;19038:7;;:18;;;;;;;;;;;;;;;;;;19083:14;19067:13;;:30;;;;;;;;;;;;;;;;;;19147:4;19127:17;:24;;;;:::i;:::-;19108:16;:43;;;;19201:4;19181:17;:24;;;;:::i;:::-;19162:16;:43;;;;18898:315:::0;;;;:::o;20278:81::-;20327:24;20333:10;20345:5;20327;:24::i;:::-;20278:81;:::o;18588:28::-;;;;;;;;;;;;;:::o;9766:127::-;9840:7;9867:9;:18;9877:7;9867:18;;;;;;;;;;;;;;;;9860:25;;9766:127;;;:::o;2387:103::-;1967:12;:10;:12::i;:::-;1956:23;;:7;:5;:7::i;:::-;:23;;;1948:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2452:30:::1;2479:1;2452:18;:30::i;:::-;2387:103::o:0;18486:19::-;;;;;;;;;;;;;:::o;18512:31::-;;;;:::o;1736:87::-;1782:7;1809:6;;;;;;;;;;;1802:13;;1736:87;:::o;8694:104::-;8750:13;8783:7;8776:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8694:104;:::o;12912:413::-;13005:4;13022:24;13049:11;:25;13061:12;:10;:12::i;:::-;13049:25;;;;;;;;;;;;;;;:34;13075:7;13049:34;;;;;;;;;;;;;;;;13022:61;;13122:15;13102:16;:35;;13094:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13215:67;13224:12;:10;:12::i;:::-;13238:7;13266:15;13247:16;:34;13215:8;:67::i;:::-;13313:4;13306:11;;;12912:413;;;;:::o;10106:175::-;10192:4;10209:42;10219:12;:10;:12::i;:::-;10233:9;10244:6;10209:9;:42::i;:::-;10269:4;10262:11;;10106:175;;;;:::o;19221:272::-;1967:12;:10;:12::i;:::-;1956:23;;:7;:5;:7::i;:::-;:23;;;1948:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19327:6:::1;19323:163;19342:10;;:17;;19339:1;:20;19323:163;;;19413:1;19388:27;;:10;;19399:1;19388:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:27;;::::0;19380:36:::1;;;::::0;::::1;;19459:15;19431:10;:25;19442:10;;19453:1;19442:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19431:25;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;19361:3;;;;;:::i;:::-;;;;19323:163;;;;19221:272:::0;;;:::o;10344:151::-;10433:7;10460:11;:18;10472:5;10460:18;;;;;;;;;;;;;;;:27;10479:7;10460:27;;;;;;;;;;;;;;;;10453:34;;10344:151;;;;:::o;2645:201::-;1967:12;:10;:12::i;:::-;1956:23;;:7;:5;:7::i;:::-;:23;;;1948:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2754:1:::1;2734:22;;:8;:22;;::::0;2726:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2810:28;2829:8;2810:18;:28::i;:::-;2645:201:::0;:::o;19501:198::-;1967:12;:10;:12::i;:::-;1956:23;;:7;:5;:7::i;:::-;:23;;;1948:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19569:5:::1;19559:7;;:15;;;;;;;;;;;;;;;;;;19585:19;:17;:19::i;:::-;19622;19635:5;19622:19;;;;;;:::i;:::-;;;;;;;;19657:34;19675:15;19657:34;;;;;;:::i;:::-;;;;;;;;19501:198::o:0;603:98::-;656:7;683:10;676:17;;603:98;:::o;16596:380::-;16749:1;16732:19;;:5;:19;;;16724:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16830:1;16811:21;;:7;:21;;;16803:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16914:6;16884:11;:18;16896:5;16884:18;;;;;;;;;;;;;;;:27;16903:7;16884:27;;;;;;;;;;;;;;;:36;;;;16952:7;16936:32;;16945:5;16936:32;;;16961:6;16936:32;;;;;;:::i;:::-;;;;;;;;16596:380;;;:::o;13815:733::-;13973:1;13955:20;;:6;:20;;;13947:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14057:1;14036:23;;:9;:23;;;14028:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14112:47;14133:6;14141:9;14152:6;14112:20;:47::i;:::-;14172:21;14196:9;:17;14206:6;14196:17;;;;;;;;;;;;;;;;14172:41;;14249:6;14232:13;:23;;14224:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14370:6;14354:13;:22;14334:9;:17;14344:6;14334:17;;;;;;;;;;;;;;;:42;;;;14422:6;14398:9;:20;14408:9;14398:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14463:9;14446:35;;14455:6;14446:35;;;14474:6;14446:35;;;;;;:::i;:::-;;;;;;;;14494:46;14514:6;14522:9;14533:6;14494:19;:46::i;:::-;13936:612;13815:733;;;:::o;15567:591::-;15670:1;15651:21;;:7;:21;;;15643:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15723:49;15744:7;15761:1;15765:6;15723:20;:49::i;:::-;15785:22;15810:9;:18;15820:7;15810:18;;;;;;;;;;;;;;;;15785:43;;15865:6;15847:14;:24;;15839:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15984:6;15967:14;:23;15946:9;:18;15956:7;15946:18;;;;;;;;;;;;;;;:44;;;;16028:6;16012:12;;:22;;;;;;;:::i;:::-;;;;;;;;16078:1;16052:37;;16061:7;16052:37;;;16082:6;16052:37;;;;;;:::i;:::-;;;;;;;;16102:48;16122:7;16139:1;16143:6;16102:19;:48::i;:::-;15632:526;15567:591;;:::o;3006:191::-;3080:16;3099:6;;;;;;;;;;;3080:25;;3125:8;3116:6;;:17;;;;;;;;;;;;;;;;;;3180:8;3149:40;;3170:8;3149:40;;;;;;;;;;;;3069:128;3006:191;:::o;19707:563::-;19859:10;:14;19870:2;19859:14;;;;;;;;;;;;;;;;;;;;;;;;;19858:15;:36;;;;;19878:10;:16;19889:4;19878:16;;;;;;;;;;;;;;;;;;;;;;;;;19877:17;19858:36;19850:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19952:1;19927:27;;:13;;;;;;;;;;;:27;;;19923:144;;19987:7;:5;:7::i;:::-;19979:15;;:4;:15;;;:32;;;;20004:7;:5;:7::i;:::-;19998:13;;:2;:13;;;19979:32;19971:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;20049:7;;19923:144;20083:7;;;;;;;;;;;:32;;;;;20102:13;;;;;;;;;;;20094:21;;:4;:21;;;20083:32;20079:184;;;20172:16;;20162:6;20140:19;20156:2;20140:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;20224:16;;20214:6;20192:19;20208:2;20192:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;20140:100;20132:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;20079:184;19707:563;;;;:::o;18305:124::-;;;;:::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;1553:117;1662:1;1659;1652: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:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:759::-;5532:6;5540;5548;5556;5605:3;5593:9;5584:7;5580:23;5576:33;5573:120;;;5612:79;;:::i;:::-;5573:120;5732:1;5757:50;5799:7;5790:6;5779:9;5775:22;5757:50;:::i;:::-;5747:60;;5703:114;5856:2;5882:53;5927:7;5918:6;5907:9;5903:22;5882:53;:::i;:::-;5872:63;;5827:118;5984:2;6010:53;6055:7;6046:6;6035:9;6031:22;6010:53;:::i;:::-;6000:63;;5955:118;6112:2;6138:53;6183:7;6174:6;6163:9;6159:22;6138:53;:::i;:::-;6128:63;;6083:118;5449:759;;;;;;;:::o;6214:329::-;6273:6;6322:2;6310:9;6301:7;6297:23;6293:32;6290:119;;;6328:79;;:::i;:::-;6290:119;6448:1;6473:53;6518:7;6509:6;6498:9;6494:22;6473:53;:::i;:::-;6463:63;;6419:117;6214:329;;;;:::o;6549:118::-;6636:24;6654:5;6636:24;:::i;:::-;6631:3;6624:37;6549:118;;:::o;6673:222::-;6766:4;6804:2;6793:9;6789:18;6781:26;;6817:71;6885:1;6874:9;6870:17;6861:6;6817:71;:::i;:::-;6673:222;;;;:::o;6901:117::-;7010:1;7007;7000:12;7024:117;7133:1;7130;7123:12;7147:117;7256:1;7253;7246:12;7287:568;7360:8;7370:6;7420:3;7413:4;7405:6;7401:17;7397:27;7387:122;;7428:79;;:::i;:::-;7387:122;7541:6;7528:20;7518:30;;7571:18;7563:6;7560:30;7557:117;;;7593:79;;:::i;:::-;7557:117;7707:4;7699:6;7695:17;7683:29;;7761:3;7753:4;7745:6;7741:17;7731:8;7727:32;7724:41;7721:128;;;7768:79;;:::i;:::-;7721:128;7287:568;;;;;:::o;7861:698::-;7953:6;7961;7969;8018:2;8006:9;7997:7;7993:23;7989:32;7986:119;;;8024:79;;:::i;:::-;7986:119;8172:1;8161:9;8157:17;8144:31;8202:18;8194:6;8191:30;8188:117;;;8224:79;;:::i;:::-;8188:117;8337:80;8409:7;8400:6;8389:9;8385:22;8337:80;:::i;:::-;8319:98;;;;8115:312;8466:2;8492:50;8534:7;8525:6;8514:9;8510:22;8492:50;:::i;:::-;8482:60;;8437:115;7861:698;;;;;:::o;8565:474::-;8633:6;8641;8690:2;8678:9;8669:7;8665:23;8661:32;8658:119;;;8696:79;;:::i;:::-;8658:119;8816:1;8841:53;8886:7;8877:6;8866:9;8862:22;8841:53;:::i;:::-;8831:63;;8787:117;8943:2;8969:53;9014:7;9005:6;8994:9;8990:22;8969:53;:::i;:::-;8959:63;;8914:118;8565:474;;;;;:::o;9045:180::-;9093:77;9090:1;9083:88;9190:4;9187:1;9180:15;9214:4;9211:1;9204:15;9231:320;9275:6;9312:1;9306:4;9302:12;9292:22;;9359:1;9353:4;9349:12;9380:18;9370:81;;9436:4;9428:6;9424:17;9414:27;;9370:81;9498:2;9490:6;9487:14;9467:18;9464:38;9461:84;;9517:18;;:::i;:::-;9461:84;9282:269;9231:320;;;:::o;9557:227::-;9697:34;9693:1;9685:6;9681:14;9674:58;9766:10;9761:2;9753:6;9749:15;9742:35;9557:227;:::o;9790:366::-;9932:3;9953:67;10017:2;10012:3;9953:67;:::i;:::-;9946:74;;10029:93;10118:3;10029:93;:::i;:::-;10147:2;10142:3;10138:12;10131:19;;9790:366;;;:::o;10162:419::-;10328:4;10366:2;10355:9;10351:18;10343:26;;10415:9;10409:4;10405:20;10401:1;10390:9;10386:17;10379:47;10443:131;10569:4;10443:131;:::i;:::-;10435:139;;10162:419;;;:::o;10587:180::-;10635:77;10632:1;10625:88;10732:4;10729:1;10722:15;10756:4;10753:1;10746:15;10773:191;10813:3;10832:20;10850:1;10832:20;:::i;:::-;10827:25;;10866:20;10884:1;10866:20;:::i;:::-;10861:25;;10909:1;10906;10902:9;10895:16;;10930:3;10927:1;10924:10;10921:36;;;10937:18;;:::i;:::-;10921:36;10773:191;;;;:::o;10970:182::-;11110:34;11106:1;11098:6;11094:14;11087:58;10970:182;:::o;11158:366::-;11300:3;11321:67;11385:2;11380:3;11321:67;:::i;:::-;11314:74;;11397:93;11486:3;11397:93;:::i;:::-;11515:2;11510:3;11506:12;11499:19;;11158:366;;;:::o;11530:419::-;11696:4;11734:2;11723:9;11719:18;11711:26;;11783:9;11777:4;11773:20;11769:1;11758:9;11754:17;11747:47;11811:131;11937:4;11811:131;:::i;:::-;11803:139;;11530:419;;;:::o;11955:410::-;11995:7;12018:20;12036:1;12018:20;:::i;:::-;12013:25;;12052:20;12070:1;12052:20;:::i;:::-;12047:25;;12107:1;12104;12100:9;12129:30;12147:11;12129:30;:::i;:::-;12118:41;;12308:1;12299:7;12295:15;12292:1;12289:22;12269:1;12262:9;12242:83;12219:139;;12338:18;;:::i;:::-;12219:139;12003:362;11955:410;;;;:::o;12371:224::-;12511:34;12507:1;12499:6;12495:14;12488:58;12580:7;12575:2;12567:6;12563:15;12556:32;12371:224;:::o;12601:366::-;12743:3;12764:67;12828:2;12823:3;12764:67;:::i;:::-;12757:74;;12840:93;12929:3;12840:93;:::i;:::-;12958:2;12953:3;12949:12;12942:19;;12601:366;;;:::o;12973:419::-;13139:4;13177:2;13166:9;13162:18;13154:26;;13226:9;13220:4;13216:20;13212:1;13201:9;13197:17;13190:47;13254:131;13380:4;13254:131;:::i;:::-;13246:139;;12973:419;;;:::o;13398:180::-;13446:77;13443:1;13436:88;13543:4;13540:1;13533:15;13567:4;13564:1;13557:15;13584:233;13623:3;13646:24;13664:5;13646:24;:::i;:::-;13637:33;;13692:66;13685:5;13682:77;13679:103;;13762:18;;:::i;:::-;13679:103;13809:1;13802:5;13798:13;13791:20;;13584:233;;;:::o;13823:225::-;13963:34;13959:1;13951:6;13947:14;13940:58;14032:8;14027:2;14019:6;14015:15;14008:33;13823:225;:::o;14054:366::-;14196:3;14217:67;14281:2;14276:3;14217:67;:::i;:::-;14210:74;;14293:93;14382:3;14293:93;:::i;:::-;14411:2;14406:3;14402:12;14395:19;;14054:366;;;:::o;14426:419::-;14592:4;14630:2;14619:9;14615:18;14607:26;;14679:9;14673:4;14669:20;14665:1;14654:9;14650:17;14643:47;14707:131;14833:4;14707:131;:::i;:::-;14699:139;;14426:419;;;:::o;14851:223::-;14991:34;14987:1;14979:6;14975:14;14968:58;15060:6;15055:2;15047:6;15043:15;15036:31;14851:223;:::o;15080:366::-;15222:3;15243:67;15307:2;15302:3;15243:67;:::i;:::-;15236:74;;15319:93;15408:3;15319:93;:::i;:::-;15437:2;15432:3;15428:12;15421:19;;15080:366;;;:::o;15452:419::-;15618:4;15656:2;15645:9;15641:18;15633:26;;15705:9;15699:4;15695:20;15691:1;15680:9;15676:17;15669:47;15733:131;15859:4;15733:131;:::i;:::-;15725:139;;15452:419;;;:::o;15877:221::-;16017:34;16013:1;16005:6;16001:14;15994:58;16086:4;16081:2;16073:6;16069:15;16062:29;15877:221;:::o;16104:366::-;16246:3;16267:67;16331:2;16326:3;16267:67;:::i;:::-;16260:74;;16343:93;16432:3;16343:93;:::i;:::-;16461:2;16456:3;16452:12;16445:19;;16104:366;;;:::o;16476:419::-;16642:4;16680:2;16669:9;16665:18;16657:26;;16729:9;16723:4;16719:20;16715:1;16704:9;16700:17;16693:47;16757:131;16883:4;16757:131;:::i;:::-;16749:139;;16476:419;;;:::o;16901:224::-;17041:34;17037:1;17029:6;17025:14;17018:58;17110:7;17105:2;17097:6;17093:15;17086:32;16901:224;:::o;17131:366::-;17273:3;17294:67;17358:2;17353:3;17294:67;:::i;:::-;17287:74;;17370:93;17459:3;17370:93;:::i;:::-;17488:2;17483:3;17479:12;17472:19;;17131:366;;;:::o;17503:419::-;17669:4;17707:2;17696:9;17692:18;17684:26;;17756:9;17750:4;17746:20;17742:1;17731:9;17727:17;17720:47;17784:131;17910:4;17784:131;:::i;:::-;17776:139;;17503:419;;;:::o;17928:222::-;18068:34;18064:1;18056:6;18052:14;18045:58;18137:5;18132:2;18124:6;18120:15;18113:30;17928:222;:::o;18156:366::-;18298:3;18319:67;18383:2;18378:3;18319:67;:::i;:::-;18312:74;;18395:93;18484:3;18395:93;:::i;:::-;18513:2;18508:3;18504:12;18497:19;;18156:366;;;:::o;18528:419::-;18694:4;18732:2;18721:9;18717:18;18709:26;;18781:9;18775:4;18771:20;18767:1;18756:9;18752:17;18745:47;18809:131;18935:4;18809:131;:::i;:::-;18801:139;;18528:419;;;:::o;18953:225::-;19093:34;19089:1;19081:6;19077:14;19070:58;19162:8;19157:2;19149:6;19145:15;19138:33;18953:225;:::o;19184:366::-;19326:3;19347:67;19411:2;19406:3;19347:67;:::i;:::-;19340:74;;19423:93;19512:3;19423:93;:::i;:::-;19541:2;19536:3;19532:12;19525:19;;19184:366;;;:::o;19556:419::-;19722:4;19760:2;19749:9;19745:18;19737:26;;19809:9;19803:4;19799:20;19795:1;19784:9;19780:17;19773:47;19837:131;19963:4;19837:131;:::i;:::-;19829:139;;19556:419;;;:::o;19981:220::-;20121:34;20117:1;20109:6;20105:14;20098:58;20190:3;20185:2;20177:6;20173:15;20166:28;19981:220;:::o;20207:366::-;20349:3;20370:67;20434:2;20429:3;20370:67;:::i;:::-;20363:74;;20446:93;20535:3;20446:93;:::i;:::-;20564:2;20559:3;20555:12;20548:19;;20207:366;;;:::o;20579:419::-;20745:4;20783:2;20772:9;20768:18;20760:26;;20832:9;20826:4;20822:20;20818:1;20807:9;20803:17;20796:47;20860:131;20986:4;20860:131;:::i;:::-;20852:139;;20579:419;;;:::o;21004:221::-;21144:34;21140:1;21132:6;21128:14;21121:58;21213:4;21208:2;21200:6;21196:15;21189:29;21004:221;:::o;21231:366::-;21373:3;21394:67;21458:2;21453:3;21394:67;:::i;:::-;21387:74;;21470:93;21559:3;21470:93;:::i;:::-;21588:2;21583:3;21579:12;21572:19;;21231:366;;;:::o;21603:419::-;21769:4;21807:2;21796:9;21792:18;21784:26;;21856:9;21850:4;21846:20;21842:1;21831:9;21827:17;21820:47;21884:131;22010:4;21884:131;:::i;:::-;21876:139;;21603:419;;;:::o;22028:194::-;22068:4;22088:20;22106:1;22088:20;:::i;:::-;22083:25;;22122:20;22140:1;22122:20;:::i;:::-;22117:25;;22166:1;22163;22159:9;22151:17;;22190:1;22184:4;22181:11;22178:37;;;22195:18;;:::i;:::-;22178:37;22028:194;;;;:::o;22228:161::-;22368:13;22364:1;22356:6;22352:14;22345:37;22228:161;:::o;22395:366::-;22537:3;22558:67;22622:2;22617:3;22558:67;:::i;:::-;22551:74;;22634:93;22723:3;22634:93;:::i;:::-;22752:2;22747:3;22743:12;22736:19;;22395:366;;;:::o;22767:419::-;22933:4;22971:2;22960:9;22956:18;22948:26;;23020:9;23014:4;23010:20;23006:1;22995:9;22991:17;22984:47;23048:131;23174:4;23048:131;:::i;:::-;23040:139;;22767:419;;;:::o;23192:168::-;23332:20;23328:1;23320:6;23316:14;23309:44;23192:168;:::o;23366:366::-;23508:3;23529:67;23593:2;23588:3;23529:67;:::i;:::-;23522:74;;23605:93;23694:3;23605:93;:::i;:::-;23723:2;23718:3;23714:12;23707:19;;23366:366;;;:::o;23738:419::-;23904:4;23942:2;23931:9;23927:18;23919:26;;23991:9;23985:4;23981:20;23977:1;23966:9;23962:17;23955:47;24019:131;24145:4;24019:131;:::i;:::-;24011:139;;23738:419;;;:::o;24163:156::-;24303:8;24299:1;24291:6;24287:14;24280:32;24163:156;:::o;24325:365::-;24467:3;24488:66;24552:1;24547:3;24488:66;:::i;:::-;24481:73;;24563:93;24652:3;24563:93;:::i;:::-;24681:2;24676:3;24672:12;24665:19;;24325:365;;;:::o;24696:419::-;24862:4;24900:2;24889:9;24885:18;24877:26;;24949:9;24943:4;24939:20;24935:1;24924:9;24920:17;24913:47;24977:131;25103:4;24977:131;:::i;:::-;24969:139;;24696:419;;;:::o

Swarm Source

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