ETH Price: $2,970.32 (-1.66%)
Gas: 2 Gwei

Token

Yolk (YOLK)
 

Overview

Max Total Supply

992,770.656655092592592449 YOLK

Holders

162

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
brandawn.eth
Balance
200 YOLK

Value
$0.00
0x69e8838e7c3b8f0d5b405fa33173f576fa6cdeef
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Yolk

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 6 of 6: YOLK.sol
// SPDX-License-Identifier: MIT

//$YOLK is NOT an investment and has NO economic value. 
//It will be earned by active holding within the Hatchlingz ecosystem. 


pragma solidity ^0.8.0;

import "./ERC20.sol";
import "./Ownable.sol";
import "./Context.sol";


interface IHatchlingz {
    function _walletBalanceOfLegendary(address owner) external view returns (uint256);
    function _walletBalanceOfRare(address owner) external view returns (uint256);
    function _walletBalanceOfCommon(address owner) external view returns (uint256);
}

contract Yolk is ERC20, Ownable {

    IHatchlingz public Hatchlingz;

    uint256 constant public LEGENDARY_RATE = 10 ether;
    uint256 constant public RARE_RATE = 5 ether;
    uint256 constant public COMMON_RATE = 2 ether;
    uint256 constant public EndTime = 1742011200; // 2025-03-15 04:00:00
    uint256 constant public initialYOLKAmount = 1000000 ether;
    
    bool rewardPaused = false;
    bool initialYOLKComplete = false;

    mapping(address => uint256) public rewards;
    mapping(address => uint256) public lastUpdate;
    mapping(address => bool) public allowedAddresses;

    constructor(address HatchlingzAddress) ERC20("Yolk", "YOLK") {
        Hatchlingz = IHatchlingz(HatchlingzAddress);
    }
    
    //#region ONLYOWNER
    function setHatchlingz(address hatchlingzAddress) external onlyOwner {
        Hatchlingz = IHatchlingz(hatchlingzAddress);
    }

    function withdraw() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function setAllowedAddresses(address _address, bool _access) public onlyOwner {
        allowedAddresses[_address] = _access;
    }

    function toggleReward() external onlyOwner {
        rewardPaused = !rewardPaused;
    }
    //#endRegion ONLYOWNER

    function updateReward(address from, address to) public {
        require(msg.sender == address(Hatchlingz) || allowedAddresses[msg.sender]);

        if(lastUpdate[from] == 0) {
            lastUpdate[from] = block.timestamp;
        }
        
        if(from != address(0)) {
            rewards[from] += getPendingReward(from);
            lastUpdate[from] = block.timestamp;
        }

        if(to != address(0)) {
            rewards[to] += getPendingReward(to);
            lastUpdate[to] = block.timestamp;
        }
    }

    function claimReward() external {
        require(!rewardPaused, "Claiming reward has been paused."); 
        _mint(msg.sender, rewards[msg.sender] + getPendingReward(msg.sender));
        rewards[msg.sender] = 0;
        lastUpdate[msg.sender] = block.timestamp;
    }

    function initialYOLK() external onlyOwner {
        require(!initialYOLKComplete, "Initial YOLK already claimed");
        _mint(msg.sender, initialYOLKAmount);
        initialYOLKComplete = true;
    }

    function burn(address user, uint256 amount) external {
        require(allowedAddresses[msg.sender] || msg.sender == address(Hatchlingz), "Address does not have permission to burn.");

     
            if (getTotalClaimable(user) >= amount) {
                updateReward(user, address(0));
                rewards[user] = rewards[user] - amount;
            } else if (getTotalClaimable(user) < amount) {
                updateReward(user, address(0));
                uint256 credit = amount - rewards[user];
                rewards[user] = 0;
                _burn(user, credit);
            }
      
    }

    function getTotalClaimable(address user) public view returns(uint256) {
        return rewards[user] + getPendingReward(user);
    }

    function getPendingReward(address user) internal view returns(uint256) {
        uint256 EndOrCurrentTime = block.timestamp > EndTime ? EndTime : block.timestamp;
        uint256 EndOrUpdateTime = lastUpdate[user] > EndTime ? EndTime : lastUpdate[user];

        return (Hatchlingz._walletBalanceOfCommon(user) * COMMON_RATE * (EndOrCurrentTime - EndOrUpdateTime) / 86400)
                + (Hatchlingz._walletBalanceOfRare(user) * RARE_RATE * (EndOrCurrentTime - EndOrUpdateTime) / 86400)
                + (Hatchlingz._walletBalanceOfLegendary(user) * LEGENDARY_RATE * (EndOrCurrentTime - EndOrUpdateTime) / 86400);
    }
}

File 1 of 6: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

File 2 of 6: ERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.3.2 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./IERC20Metadata.sol";
import "./Context.sol";

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

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

File 3 of 6: IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.3.2 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

File 4 of 6: IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.3.2 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";

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

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

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

File 5 of 6: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"HatchlingzAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"COMMON_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Hatchlingz","outputs":[{"internalType":"contract IHatchlingz","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LEGENDARY_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RARE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"","type":"address"}],"name":"allowedAddresses","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalClaimable","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":"initialYOLK","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialYOLKAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_access","type":"bool"}],"name":"setAllowedAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"hatchlingzAddress","type":"address"}],"name":"setHatchlingz","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"updateReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600660146101000a81548160ff0219169083151502179055506000600660156101000a81548160ff0219169083151502179055503480156200004757600080fd5b50604051620035f1380380620035f183398181016040528101906200006d91906200035d565b6040518060400160405280600481526020017f596f6c6b000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f594f4c4b000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000f192919062000243565b5080600490805190602001906200010a92919062000243565b5050506200012d620001216200017560201b60201c565b6200017d60201b60201c565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620003f4565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200025190620003be565b90600052602060002090601f016020900481019282620002755760008555620002c1565b82601f106200029057805160ff1916838001178555620002c1565b82800160010185558215620002c1579182015b82811115620002c0578251825591602001919060010190620002a3565b5b509050620002d09190620002d4565b5090565b5b80821115620002ef576000816000905550600101620002d5565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200032582620002f8565b9050919050565b620003378162000318565b81146200034357600080fd5b50565b60008151905062000357816200032c565b92915050565b600060208284031215620003765762000375620002f3565b5b6000620003868482850162000346565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003d757607f821691505b60208210811415620003ee57620003ed6200038f565b5b50919050565b6131ed80620004046000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063715018a61161010f578063ac8724cf116100a2578063cb03fb1e11610071578063cb03fb1e14610575578063d230af3a146105a5578063dd62ed3e146105c1578063f2fde38b146105f1576101f0565b8063ac8724cf14610527578063ad3b0fa314610531578063b33485381461054d578063b88a802f1461056b576101f0565b806395d89b41116100de57806395d89b411461048d5780639dc29fac146104ab578063a457c2d7146104c7578063a9059cbb146104f7576101f0565b8063715018a61461042b57806389781912146104355780638da5cb5b146104515780638e6cded11461046f576101f0565b8063313ce567116101875780634120657a116101565780634120657a1461038f57806344ed74d1146103bf5780635b89e639146103dd57806370a08231146103fb576101f0565b8063313ce56714610319578063333609781461033757806339509351146103555780633ccfd60b14610385576101f0565b806318160ddd116101c357806318160ddd14610291578063218fcc8a146102af57806323b872dd146102b9578063267e8ab6146102e9576101f0565b8063042c39f5146101f557806306fdde03146102135780630700037d14610231578063095ea7b314610261575b600080fd5b6101fd61060d565b60405161020a91906123c9565b60405180910390f35b61021b610619565b604051610228919061247d565b60405180910390f35b61024b60048036038101906102469190612502565b6106ab565b60405161025891906123c9565b60405180910390f35b61027b6004803603810190610276919061255b565b6106c3565b60405161028891906125b6565b60405180910390f35b6102996106e1565b6040516102a691906123c9565b60405180910390f35b6102b76106eb565b005b6102d360048036038101906102ce91906125d1565b6107e8565b6040516102e091906125b6565b60405180910390f35b61030360048036038101906102fe9190612502565b6108e0565b60405161031091906123c9565b60405180910390f35b61032161093c565b60405161032e9190612640565b60405180910390f35b61033f610945565b60405161034c91906123c9565b60405180910390f35b61036f600480360381019061036a919061255b565b61094d565b60405161037c91906125b6565b60405180910390f35b61038d6109f9565b005b6103a960048036038101906103a49190612502565b610abe565b6040516103b691906125b6565b60405180910390f35b6103c7610ade565b6040516103d491906123c9565b60405180910390f35b6103e5610aec565b6040516103f291906123c9565b60405180910390f35b61041560048036038101906104109190612502565b610af8565b60405161042291906123c9565b60405180910390f35b610433610b40565b005b61044f600480360381019061044a9190612687565b610bc8565b005b610459610c9f565b60405161046691906126d6565b60405180910390f35b610477610cc9565b60405161048491906123c9565b60405180910390f35b610495610cd5565b6040516104a2919061247d565b60405180910390f35b6104c560048036038101906104c0919061255b565b610d67565b005b6104e160048036038101906104dc919061255b565b610fb8565b6040516104ee91906125b6565b60405180910390f35b610511600480360381019061050c919061255b565b6110a3565b60405161051e91906125b6565b60405180910390f35b61052f6110c1565b005b61054b60048036038101906105469190612502565b611169565b005b610555611229565b6040516105629190612750565b60405180910390f35b61057361124f565b005b61058f600480360381019061058a9190612502565b611386565b60405161059c91906123c9565b60405180910390f35b6105bf60048036038101906105ba919061276b565b61139e565b005b6105db60048036038101906105d6919061276b565b61168b565b6040516105e891906123c9565b60405180910390f35b61060b60048036038101906106069190612502565b611712565b005b671bc16d674ec8000081565b606060038054610628906127da565b80601f0160208091040260200160405190810160405280929190818152602001828054610654906127da565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b60076020528060005260406000206000915090505481565b60006106d76106d061180a565b8484611812565b6001905092915050565b6000600254905090565b6106f361180a565b73ffffffffffffffffffffffffffffffffffffffff16610711610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e90612858565b60405180910390fd5b600660159054906101000a900460ff16156107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae906128c4565b60405180910390fd5b6107cb3369d3c21bcecceda10000006119dd565b6001600660156101000a81548160ff021916908315150217905550565b60006107f5848484611b3d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084061180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b790612956565b60405180910390fd5b6108d4856108cc61180a565b858403611812565b60019150509392505050565b60006108eb82611dbe565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461093591906129a5565b9050919050565b60006012905090565b6367d4fb4081565b60006109ef61095a61180a565b84846001600061096861180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ea91906129a5565b611812565b6001905092915050565b610a0161180a565b73ffffffffffffffffffffffffffffffffffffffff16610a1f610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612858565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610abb573d6000803e3d6000fd5b50565b60096020528060005260406000206000915054906101000a900460ff1681565b69d3c21bcecceda100000081565b678ac7230489e8000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b4861180a565b73ffffffffffffffffffffffffffffffffffffffff16610b66610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb390612858565b60405180910390fd5b610bc66000612109565b565b610bd061180a565b73ffffffffffffffffffffffffffffffffffffffff16610bee610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b90612858565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b674563918244f4000081565b606060048054610ce4906127da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d10906127da565b8015610d5d5780601f10610d3257610100808354040283529160200191610d5d565b820191906000526020600020905b815481529060010190602001808311610d4057829003601f168201915b5050505050905090565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e0c5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4290612a6d565b60405180910390fd5b80610e55836108e0565b10610ef857610e6582600061139e565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eb09190612a8d565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb4565b80610f02836108e0565b1015610fb357610f1382600061139e565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610f609190612a8d565b90506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb183826121cf565b505b5b5050565b60008060016000610fc761180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612b33565b60405180910390fd5b61109861108f61180a565b85858403611812565b600191505092915050565b60006110b76110b061180a565b8484611b3d565b6001905092915050565b6110c961180a565b73ffffffffffffffffffffffffffffffffffffffff166110e7610c9f565b73ffffffffffffffffffffffffffffffffffffffff161461113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113490612858565b60405180910390fd5b600660149054906101000a900460ff1615600660146101000a81548160ff021916908315150217905550565b61117161180a565b73ffffffffffffffffffffffffffffffffffffffff1661118f610c9f565b73ffffffffffffffffffffffffffffffffffffffff16146111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612858565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660149054906101000a900460ff161561129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612b9f565b60405180910390fd5b6112fb336112ac33611dbe565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f691906129a5565b6119dd565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60086020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114435750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61144c57600080fd5b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114d95742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146115b05761151682611dbe565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156491906129a5565b9250508190555042600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611687576115ed81611dbe565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461163b91906129a5565b9250508190555042600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61171a61180a565b73ffffffffffffffffffffffffffffffffffffffff16611738610c9f565b73ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590612858565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590612c31565b60405180910390fd5b61180781612109565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990612cc3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e990612d55565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119d091906123c9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4490612dc1565b60405180910390fd5b611a59600083836123a6565b8060026000828254611a6b91906129a5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ac091906129a5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b2591906123c9565b60405180910390a3611b39600083836123ab565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490612e53565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1490612ee5565b60405180910390fd5b611c288383836123a6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca590612f77565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4191906129a5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da591906123c9565b60405180910390a3611db88484846123ab565b50505050565b6000806367d4fb404211611dd25742611dd8565b6367d4fb405b905060006367d4fb40600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611e6b57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e71565b6367d4fb405b9050620151808183611e839190612a8d565b678ac7230489e80000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cd91dfe886040518263ffffffff1660e01b8152600401611ee791906126d6565b602060405180830381865afa158015611f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f289190612fac565b611f329190612fd9565b611f3c9190612fd9565b611f469190613062565b620151808284611f569190612a8d565b674563918244f40000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166364bff354896040518263ffffffff1660e01b8152600401611fba91906126d6565b602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffb9190612fac565b6120059190612fd9565b61200f9190612fd9565b6120199190613062565b6201518083856120299190612a8d565b671bc16d674ec80000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a56d8ae98a6040518263ffffffff1660e01b815260040161208d91906126d6565b602060405180830381865afa1580156120aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ce9190612fac565b6120d89190612fd9565b6120e29190612fd9565b6120ec9190613062565b6120f691906129a5565b61210091906129a5565b92505050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561223f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223690613105565b60405180910390fd5b61224b826000836123a6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c890613197565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546123289190612a8d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161238d91906123c9565b60405180910390a36123a1836000846123ab565b505050565b505050565b505050565b6000819050919050565b6123c3816123b0565b82525050565b60006020820190506123de60008301846123ba565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561241e578082015181840152602081019050612403565b8381111561242d576000848401525b50505050565b6000601f19601f8301169050919050565b600061244f826123e4565b61245981856123ef565b9350612469818560208601612400565b61247281612433565b840191505092915050565b600060208201905081810360008301526124978184612444565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124cf826124a4565b9050919050565b6124df816124c4565b81146124ea57600080fd5b50565b6000813590506124fc816124d6565b92915050565b6000602082840312156125185761251761249f565b5b6000612526848285016124ed565b91505092915050565b612538816123b0565b811461254357600080fd5b50565b6000813590506125558161252f565b92915050565b600080604083850312156125725761257161249f565b5b6000612580858286016124ed565b925050602061259185828601612546565b9150509250929050565b60008115159050919050565b6125b08161259b565b82525050565b60006020820190506125cb60008301846125a7565b92915050565b6000806000606084860312156125ea576125e961249f565b5b60006125f8868287016124ed565b9350506020612609868287016124ed565b925050604061261a86828701612546565b9150509250925092565b600060ff82169050919050565b61263a81612624565b82525050565b60006020820190506126556000830184612631565b92915050565b6126648161259b565b811461266f57600080fd5b50565b6000813590506126818161265b565b92915050565b6000806040838503121561269e5761269d61249f565b5b60006126ac858286016124ed565b92505060206126bd85828601612672565b9150509250929050565b6126d0816124c4565b82525050565b60006020820190506126eb60008301846126c7565b92915050565b6000819050919050565b600061271661271161270c846124a4565b6126f1565b6124a4565b9050919050565b6000612728826126fb565b9050919050565b600061273a8261271d565b9050919050565b61274a8161272f565b82525050565b60006020820190506127656000830184612741565b92915050565b600080604083850312156127825761278161249f565b5b6000612790858286016124ed565b92505060206127a1858286016124ed565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127f257607f821691505b60208210811415612806576128056127ab565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128426020836123ef565b915061284d8261280c565b602082019050919050565b6000602082019050818103600083015261287181612835565b9050919050565b7f496e697469616c20594f4c4b20616c726561647920636c61696d656400000000600082015250565b60006128ae601c836123ef565b91506128b982612878565b602082019050919050565b600060208201905081810360008301526128dd816128a1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129406028836123ef565b915061294b826128e4565b604082019050919050565b6000602082019050818103600083015261296f81612933565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129b0826123b0565b91506129bb836123b0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129f0576129ef612976565b5b828201905092915050565b7f4164647265737320646f6573206e6f742068617665207065726d697373696f6e60008201527f20746f206275726e2e0000000000000000000000000000000000000000000000602082015250565b6000612a576029836123ef565b9150612a62826129fb565b604082019050919050565b60006020820190508181036000830152612a8681612a4a565b9050919050565b6000612a98826123b0565b9150612aa3836123b0565b925082821015612ab657612ab5612976565b5b828203905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612b1d6025836123ef565b9150612b2882612ac1565b604082019050919050565b60006020820190508181036000830152612b4c81612b10565b9050919050565b7f436c61696d696e672072657761726420686173206265656e207061757365642e600082015250565b6000612b896020836123ef565b9150612b9482612b53565b602082019050919050565b60006020820190508181036000830152612bb881612b7c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c1b6026836123ef565b9150612c2682612bbf565b604082019050919050565b60006020820190508181036000830152612c4a81612c0e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612cad6024836123ef565b9150612cb882612c51565b604082019050919050565b60006020820190508181036000830152612cdc81612ca0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d3f6022836123ef565b9150612d4a82612ce3565b604082019050919050565b60006020820190508181036000830152612d6e81612d32565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612dab601f836123ef565b9150612db682612d75565b602082019050919050565b60006020820190508181036000830152612dda81612d9e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e3d6025836123ef565b9150612e4882612de1565b604082019050919050565b60006020820190508181036000830152612e6c81612e30565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecf6023836123ef565b9150612eda82612e73565b604082019050919050565b60006020820190508181036000830152612efe81612ec2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612f616026836123ef565b9150612f6c82612f05565b604082019050919050565b60006020820190508181036000830152612f9081612f54565b9050919050565b600081519050612fa68161252f565b92915050565b600060208284031215612fc257612fc161249f565b5b6000612fd084828501612f97565b91505092915050565b6000612fe4826123b0565b9150612fef836123b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561302857613027612976565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061306d826123b0565b9150613078836123b0565b92508261308857613087613033565b5b828204905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006130ef6021836123ef565b91506130fa82613093565b604082019050919050565b6000602082019050818103600083015261311e816130e2565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006131816022836123ef565b915061318c82613125565b604082019050919050565b600060208201905081810360008301526131b081613174565b905091905056fea264697066735822122053259cdcda85d77f582145ba5dcba02083220605c3c0827b801727380a002bb664736f6c634300080c0033000000000000000000000000581616396252a34970b8f9944d854c5181b24de7

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063715018a61161010f578063ac8724cf116100a2578063cb03fb1e11610071578063cb03fb1e14610575578063d230af3a146105a5578063dd62ed3e146105c1578063f2fde38b146105f1576101f0565b8063ac8724cf14610527578063ad3b0fa314610531578063b33485381461054d578063b88a802f1461056b576101f0565b806395d89b41116100de57806395d89b411461048d5780639dc29fac146104ab578063a457c2d7146104c7578063a9059cbb146104f7576101f0565b8063715018a61461042b57806389781912146104355780638da5cb5b146104515780638e6cded11461046f576101f0565b8063313ce567116101875780634120657a116101565780634120657a1461038f57806344ed74d1146103bf5780635b89e639146103dd57806370a08231146103fb576101f0565b8063313ce56714610319578063333609781461033757806339509351146103555780633ccfd60b14610385576101f0565b806318160ddd116101c357806318160ddd14610291578063218fcc8a146102af57806323b872dd146102b9578063267e8ab6146102e9576101f0565b8063042c39f5146101f557806306fdde03146102135780630700037d14610231578063095ea7b314610261575b600080fd5b6101fd61060d565b60405161020a91906123c9565b60405180910390f35b61021b610619565b604051610228919061247d565b60405180910390f35b61024b60048036038101906102469190612502565b6106ab565b60405161025891906123c9565b60405180910390f35b61027b6004803603810190610276919061255b565b6106c3565b60405161028891906125b6565b60405180910390f35b6102996106e1565b6040516102a691906123c9565b60405180910390f35b6102b76106eb565b005b6102d360048036038101906102ce91906125d1565b6107e8565b6040516102e091906125b6565b60405180910390f35b61030360048036038101906102fe9190612502565b6108e0565b60405161031091906123c9565b60405180910390f35b61032161093c565b60405161032e9190612640565b60405180910390f35b61033f610945565b60405161034c91906123c9565b60405180910390f35b61036f600480360381019061036a919061255b565b61094d565b60405161037c91906125b6565b60405180910390f35b61038d6109f9565b005b6103a960048036038101906103a49190612502565b610abe565b6040516103b691906125b6565b60405180910390f35b6103c7610ade565b6040516103d491906123c9565b60405180910390f35b6103e5610aec565b6040516103f291906123c9565b60405180910390f35b61041560048036038101906104109190612502565b610af8565b60405161042291906123c9565b60405180910390f35b610433610b40565b005b61044f600480360381019061044a9190612687565b610bc8565b005b610459610c9f565b60405161046691906126d6565b60405180910390f35b610477610cc9565b60405161048491906123c9565b60405180910390f35b610495610cd5565b6040516104a2919061247d565b60405180910390f35b6104c560048036038101906104c0919061255b565b610d67565b005b6104e160048036038101906104dc919061255b565b610fb8565b6040516104ee91906125b6565b60405180910390f35b610511600480360381019061050c919061255b565b6110a3565b60405161051e91906125b6565b60405180910390f35b61052f6110c1565b005b61054b60048036038101906105469190612502565b611169565b005b610555611229565b6040516105629190612750565b60405180910390f35b61057361124f565b005b61058f600480360381019061058a9190612502565b611386565b60405161059c91906123c9565b60405180910390f35b6105bf60048036038101906105ba919061276b565b61139e565b005b6105db60048036038101906105d6919061276b565b61168b565b6040516105e891906123c9565b60405180910390f35b61060b60048036038101906106069190612502565b611712565b005b671bc16d674ec8000081565b606060038054610628906127da565b80601f0160208091040260200160405190810160405280929190818152602001828054610654906127da565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b60076020528060005260406000206000915090505481565b60006106d76106d061180a565b8484611812565b6001905092915050565b6000600254905090565b6106f361180a565b73ffffffffffffffffffffffffffffffffffffffff16610711610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e90612858565b60405180910390fd5b600660159054906101000a900460ff16156107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae906128c4565b60405180910390fd5b6107cb3369d3c21bcecceda10000006119dd565b6001600660156101000a81548160ff021916908315150217905550565b60006107f5848484611b3d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084061180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b790612956565b60405180910390fd5b6108d4856108cc61180a565b858403611812565b60019150509392505050565b60006108eb82611dbe565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461093591906129a5565b9050919050565b60006012905090565b6367d4fb4081565b60006109ef61095a61180a565b84846001600061096861180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ea91906129a5565b611812565b6001905092915050565b610a0161180a565b73ffffffffffffffffffffffffffffffffffffffff16610a1f610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612858565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610abb573d6000803e3d6000fd5b50565b60096020528060005260406000206000915054906101000a900460ff1681565b69d3c21bcecceda100000081565b678ac7230489e8000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b4861180a565b73ffffffffffffffffffffffffffffffffffffffff16610b66610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb390612858565b60405180910390fd5b610bc66000612109565b565b610bd061180a565b73ffffffffffffffffffffffffffffffffffffffff16610bee610c9f565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b90612858565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b674563918244f4000081565b606060048054610ce4906127da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d10906127da565b8015610d5d5780601f10610d3257610100808354040283529160200191610d5d565b820191906000526020600020905b815481529060010190602001808311610d4057829003601f168201915b5050505050905090565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e0c5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4290612a6d565b60405180910390fd5b80610e55836108e0565b10610ef857610e6582600061139e565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eb09190612a8d565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb4565b80610f02836108e0565b1015610fb357610f1382600061139e565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610f609190612a8d565b90506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb183826121cf565b505b5b5050565b60008060016000610fc761180a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612b33565b60405180910390fd5b61109861108f61180a565b85858403611812565b600191505092915050565b60006110b76110b061180a565b8484611b3d565b6001905092915050565b6110c961180a565b73ffffffffffffffffffffffffffffffffffffffff166110e7610c9f565b73ffffffffffffffffffffffffffffffffffffffff161461113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113490612858565b60405180910390fd5b600660149054906101000a900460ff1615600660146101000a81548160ff021916908315150217905550565b61117161180a565b73ffffffffffffffffffffffffffffffffffffffff1661118f610c9f565b73ffffffffffffffffffffffffffffffffffffffff16146111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612858565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660149054906101000a900460ff161561129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612b9f565b60405180910390fd5b6112fb336112ac33611dbe565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f691906129a5565b6119dd565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60086020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114435750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61144c57600080fd5b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114d95742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146115b05761151682611dbe565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156491906129a5565b9250508190555042600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611687576115ed81611dbe565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461163b91906129a5565b9250508190555042600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61171a61180a565b73ffffffffffffffffffffffffffffffffffffffff16611738610c9f565b73ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590612858565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590612c31565b60405180910390fd5b61180781612109565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990612cc3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e990612d55565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119d091906123c9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4490612dc1565b60405180910390fd5b611a59600083836123a6565b8060026000828254611a6b91906129a5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ac091906129a5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b2591906123c9565b60405180910390a3611b39600083836123ab565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490612e53565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1490612ee5565b60405180910390fd5b611c288383836123a6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca590612f77565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4191906129a5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da591906123c9565b60405180910390a3611db88484846123ab565b50505050565b6000806367d4fb404211611dd25742611dd8565b6367d4fb405b905060006367d4fb40600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611e6b57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e71565b6367d4fb405b9050620151808183611e839190612a8d565b678ac7230489e80000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cd91dfe886040518263ffffffff1660e01b8152600401611ee791906126d6565b602060405180830381865afa158015611f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f289190612fac565b611f329190612fd9565b611f3c9190612fd9565b611f469190613062565b620151808284611f569190612a8d565b674563918244f40000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166364bff354896040518263ffffffff1660e01b8152600401611fba91906126d6565b602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffb9190612fac565b6120059190612fd9565b61200f9190612fd9565b6120199190613062565b6201518083856120299190612a8d565b671bc16d674ec80000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a56d8ae98a6040518263ffffffff1660e01b815260040161208d91906126d6565b602060405180830381865afa1580156120aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ce9190612fac565b6120d89190612fd9565b6120e29190612fd9565b6120ec9190613062565b6120f691906129a5565b61210091906129a5565b92505050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561223f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223690613105565b60405180910390fd5b61224b826000836123a6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c890613197565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546123289190612a8d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161238d91906123c9565b60405180910390a36123a1836000846123ab565b505050565b505050565b505050565b6000819050919050565b6123c3816123b0565b82525050565b60006020820190506123de60008301846123ba565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561241e578082015181840152602081019050612403565b8381111561242d576000848401525b50505050565b6000601f19601f8301169050919050565b600061244f826123e4565b61245981856123ef565b9350612469818560208601612400565b61247281612433565b840191505092915050565b600060208201905081810360008301526124978184612444565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124cf826124a4565b9050919050565b6124df816124c4565b81146124ea57600080fd5b50565b6000813590506124fc816124d6565b92915050565b6000602082840312156125185761251761249f565b5b6000612526848285016124ed565b91505092915050565b612538816123b0565b811461254357600080fd5b50565b6000813590506125558161252f565b92915050565b600080604083850312156125725761257161249f565b5b6000612580858286016124ed565b925050602061259185828601612546565b9150509250929050565b60008115159050919050565b6125b08161259b565b82525050565b60006020820190506125cb60008301846125a7565b92915050565b6000806000606084860312156125ea576125e961249f565b5b60006125f8868287016124ed565b9350506020612609868287016124ed565b925050604061261a86828701612546565b9150509250925092565b600060ff82169050919050565b61263a81612624565b82525050565b60006020820190506126556000830184612631565b92915050565b6126648161259b565b811461266f57600080fd5b50565b6000813590506126818161265b565b92915050565b6000806040838503121561269e5761269d61249f565b5b60006126ac858286016124ed565b92505060206126bd85828601612672565b9150509250929050565b6126d0816124c4565b82525050565b60006020820190506126eb60008301846126c7565b92915050565b6000819050919050565b600061271661271161270c846124a4565b6126f1565b6124a4565b9050919050565b6000612728826126fb565b9050919050565b600061273a8261271d565b9050919050565b61274a8161272f565b82525050565b60006020820190506127656000830184612741565b92915050565b600080604083850312156127825761278161249f565b5b6000612790858286016124ed565b92505060206127a1858286016124ed565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127f257607f821691505b60208210811415612806576128056127ab565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128426020836123ef565b915061284d8261280c565b602082019050919050565b6000602082019050818103600083015261287181612835565b9050919050565b7f496e697469616c20594f4c4b20616c726561647920636c61696d656400000000600082015250565b60006128ae601c836123ef565b91506128b982612878565b602082019050919050565b600060208201905081810360008301526128dd816128a1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129406028836123ef565b915061294b826128e4565b604082019050919050565b6000602082019050818103600083015261296f81612933565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129b0826123b0565b91506129bb836123b0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129f0576129ef612976565b5b828201905092915050565b7f4164647265737320646f6573206e6f742068617665207065726d697373696f6e60008201527f20746f206275726e2e0000000000000000000000000000000000000000000000602082015250565b6000612a576029836123ef565b9150612a62826129fb565b604082019050919050565b60006020820190508181036000830152612a8681612a4a565b9050919050565b6000612a98826123b0565b9150612aa3836123b0565b925082821015612ab657612ab5612976565b5b828203905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612b1d6025836123ef565b9150612b2882612ac1565b604082019050919050565b60006020820190508181036000830152612b4c81612b10565b9050919050565b7f436c61696d696e672072657761726420686173206265656e207061757365642e600082015250565b6000612b896020836123ef565b9150612b9482612b53565b602082019050919050565b60006020820190508181036000830152612bb881612b7c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c1b6026836123ef565b9150612c2682612bbf565b604082019050919050565b60006020820190508181036000830152612c4a81612c0e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612cad6024836123ef565b9150612cb882612c51565b604082019050919050565b60006020820190508181036000830152612cdc81612ca0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d3f6022836123ef565b9150612d4a82612ce3565b604082019050919050565b60006020820190508181036000830152612d6e81612d32565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612dab601f836123ef565b9150612db682612d75565b602082019050919050565b60006020820190508181036000830152612dda81612d9e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e3d6025836123ef565b9150612e4882612de1565b604082019050919050565b60006020820190508181036000830152612e6c81612e30565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecf6023836123ef565b9150612eda82612e73565b604082019050919050565b60006020820190508181036000830152612efe81612ec2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612f616026836123ef565b9150612f6c82612f05565b604082019050919050565b60006020820190508181036000830152612f9081612f54565b9050919050565b600081519050612fa68161252f565b92915050565b600060208284031215612fc257612fc161249f565b5b6000612fd084828501612f97565b91505092915050565b6000612fe4826123b0565b9150612fef836123b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561302857613027612976565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061306d826123b0565b9150613078836123b0565b92508261308857613087613033565b5b828204905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006130ef6021836123ef565b91506130fa82613093565b604082019050919050565b6000602082019050818103600083015261311e816130e2565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006131816022836123ef565b915061318c82613125565b604082019050919050565b600060208201905081810360008301526131b081613174565b905091905056fea264697066735822122053259cdcda85d77f582145ba5dcba02083220605c3c0827b801727380a002bb664736f6c634300080c0033

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

000000000000000000000000581616396252a34970b8f9944d854c5181b24de7

-----Decoded View---------------
Arg [0] : HatchlingzAddress (address): 0x581616396252A34970B8f9944D854C5181b24dE7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000581616396252a34970b8f9944d854c5181b24de7


Deployed Bytecode Sourcemap

560:3754:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;745:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2181:100:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1014:42:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4348:169:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3301:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2693:206:5;;;:::i;:::-;;4999:492:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3539:134:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3143:93:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;797:44:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:215:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1471:109:5;;;:::i;:::-;;1115:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;871:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;639:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3472:127:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1650:94:4;;;:::i;:::-;;1588:133:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;999:87:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;695:43:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2400:104:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2907:624:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6618:413:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3812:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1729:90:5;;;:::i;:::-;;1332:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;601:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2410:275;;;:::i;:::-;;1063:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1855:547;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4050:151:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1899:192:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;745:45:5;783:7;745:45;:::o;2181:100:1:-;2235:13;2268:5;2261:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:100;:::o;1014:42:5:-;;;;;;;;;;;;;;;;;:::o;4348:169:1:-;4431:4;4448:39;4457:12;:10;:12::i;:::-;4471:7;4480:6;4448:8;:39::i;:::-;4505:4;4498:11;;4348:169;;;;:::o;3301:108::-;3362:7;3389:12;;3382:19;;3301:108;:::o;2693:206:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2755:19:5::1;;;;;;;;;;;2754:20;2746:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2818:36;2824:10;915:13;2818:5;:36::i;:::-;2887:4;2865:19;;:26;;;;;;;;;;;;;;;;;;2693:206::o:0;4999:492:1:-;5139:4;5156:36;5166:6;5174:9;5185:6;5156:9;:36::i;:::-;5205:24;5232:11;:19;5244:6;5232:19;;;;;;;;;;;;;;;:33;5252:12;:10;:12::i;:::-;5232:33;;;;;;;;;;;;;;;;5205:60;;5304:6;5284:16;:26;;5276:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5391:57;5400:6;5408:12;:10;:12::i;:::-;5441:6;5422:16;:25;5391:8;:57::i;:::-;5479:4;5472:11;;;4999:492;;;;;:::o;3539:134:5:-;3600:7;3643:22;3660:4;3643:16;:22::i;:::-;3627:7;:13;3635:4;3627:13;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;3620:45;;3539:134;;;:::o;3143:93:1:-;3201:5;3226:2;3219:9;;3143:93;:::o;797:44:5:-;831:10;797:44;:::o;5900:215:1:-;5988:4;6005:80;6014:12;:10;:12::i;:::-;6028:7;6074:10;6037:11;:25;6049:12;:10;:12::i;:::-;6037:25;;;;;;;;;;;;;;;:34;6063:7;6037:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6005:8;:80::i;:::-;6103:4;6096:11;;5900:215;;;;:::o;1471:109:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1529:10:5::1;1521:28;;:51;1550:21;1521:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;1471:109::o:0;1115:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;871:57::-;915:13;871:57;:::o;639:49::-;680:8;639:49;:::o;3472:127:1:-;3546:7;3573:9;:18;3583:7;3573:18;;;;;;;;;;;;;;;;3566:25;;3472:127;;;:::o;1650:94:4:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1715:21:::1;1733:1;1715:9;:21::i;:::-;1650:94::o:0;1588:133:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1706:7:5::1;1677:16;:26;1694:8;1677:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;1588:133:::0;;:::o;999:87:4:-;1045:7;1072:6;;;;;;;;;;;1065:13;;999:87;:::o;695:43:5:-;731:7;695:43;:::o;2400:104:1:-;2456:13;2489:7;2482:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:104;:::o;2907:624:5:-;2979:16;:28;2996:10;2979:28;;;;;;;;;;;;;;;;;;;;;;;;;:65;;;;3033:10;;;;;;;;;;;3011:33;;:10;:33;;;2979:65;2971:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;3145:6;3118:23;3136:4;3118:17;:23::i;:::-;:33;3114:402;;3172:30;3185:4;3199:1;3172:12;:30::i;:::-;3253:6;3237:7;:13;3245:4;3237:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;3221:7;:13;3229:4;3221:13;;;;;;;;;;;;;;;:38;;;;3114:402;;;3311:6;3285:23;3303:4;3285:17;:23::i;:::-;:32;3281:235;;;3338:30;3351:4;3365:1;3338:12;:30::i;:::-;3387:14;3413:7;:13;3421:4;3413:13;;;;;;;;;;;;;;;;3404:6;:22;;;;:::i;:::-;3387:39;;3461:1;3445:7;:13;3453:4;3445:13;;;;;;;;;;;;;;;:17;;;;3481:19;3487:4;3493:6;3481:5;:19::i;:::-;3319:197;3281:235;3114:402;2907:624;;:::o;6618:413:1:-;6711:4;6728:24;6755:11;:25;6767:12;:10;:12::i;:::-;6755:25;;;;;;;;;;;;;;;:34;6781:7;6755:34;;;;;;;;;;;;;;;;6728:61;;6828:15;6808:16;:35;;6800:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6921:67;6930:12;:10;:12::i;:::-;6944:7;6972:15;6953:16;:34;6921:8;:67::i;:::-;7019:4;7012:11;;;6618:413;;;;:::o;3812:175::-;3898:4;3915:42;3925:12;:10;:12::i;:::-;3939:9;3950:6;3915:9;:42::i;:::-;3975:4;3968:11;;3812:175;;;;:::o;1729:90:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1799:12:5::1;;;;;;;;;;;1798:13;1783:12;;:28;;;;;;;;;;;;;;;;;;1729:90::o:0;1332:131::-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1437:17:5::1;1412:10;;:43;;;;;;;;;;;;;;;;;;1332:131:::0;:::o;601:29::-;;;;;;;;;;;;;:::o;2410:275::-;2462:12;;;;;;;;;;;2461:13;2453:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;2523:69;2529:10;2563:28;2580:10;2563:16;:28::i;:::-;2541:7;:19;2549:10;2541:19;;;;;;;;;;;;;;;;:50;;;;:::i;:::-;2523:5;:69::i;:::-;2625:1;2603:7;:19;2611:10;2603:19;;;;;;;;;;;;;;;:23;;;;2662:15;2637:10;:22;2648:10;2637:22;;;;;;;;;;;;;;;:40;;;;2410:275::o;1063:45::-;;;;;;;;;;;;;;;;;:::o;1855:547::-;1951:10;;;;;;;;;;;1929:33;;:10;:33;;;:65;;;;1966:16;:28;1983:10;1966:28;;;;;;;;;;;;;;;;;;;;;;;;;1929:65;1921:74;;;;;;2031:1;2011:10;:16;2022:4;2011:16;;;;;;;;;;;;;;;;:21;2008:87;;;2068:15;2049:10;:16;2060:4;2049:16;;;;;;;;;;;;;;;:34;;;;2008:87;2134:1;2118:18;;:4;:18;;;2115:138;;2170:22;2187:4;2170:16;:22::i;:::-;2153:7;:13;2161:4;2153:13;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;2226:15;2207:10;:16;2218:4;2207:16;;;;;;;;;;;;;;;:34;;;;2115:138;2282:1;2268:16;;:2;:16;;;2265:130;;2316:20;2333:2;2316:16;:20::i;:::-;2301:7;:11;2309:2;2301:11;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;2368:15;2351:10;:14;2362:2;2351:14;;;;;;;;;;;;;;;:32;;;;2265:130;1855:547;;:::o;4050:151:1:-;4139:7;4166:11;:18;4178:5;4166:18;;;;;;;;;;;;;;;:27;4185:7;4166:27;;;;;;;;;;;;;;;;4159:34;;4050:151;;;;:::o;1899:192:4:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2008:1:::1;1988:22;;:8;:22;;;;1980:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2064:19;2074:8;2064:9;:19::i;:::-;1899:192:::0;:::o;601:98:0:-;654:7;681:10;674:17;;601:98;:::o;10302:380:1:-;10455:1;10438:19;;:5;:19;;;;10430:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10536:1;10517:21;;:7;:21;;;;10509:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10620:6;10590:11;:18;10602:5;10590:18;;;;;;;;;;;;;;;:27;10609:7;10590:27;;;;;;;;;;;;;;;:36;;;;10658:7;10642:32;;10651:5;10642:32;;;10667:6;10642:32;;;;;;:::i;:::-;;;;;;;;10302:380;;;:::o;8541:399::-;8644:1;8625:21;;:7;:21;;;;8617:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8695:49;8724:1;8728:7;8737:6;8695:20;:49::i;:::-;8773:6;8757:12;;:22;;;;;;;:::i;:::-;;;;;;;;8812:6;8790:9;:18;8800:7;8790:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8855:7;8834:37;;8851:1;8834:37;;;8864:6;8834:37;;;;;;:::i;:::-;;;;;;;;8884:48;8912:1;8916:7;8925:6;8884:19;:48::i;:::-;8541:399;;:::o;7521:733::-;7679:1;7661:20;;:6;:20;;;;7653:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7763:1;7742:23;;:9;:23;;;;7734:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7818:47;7839:6;7847:9;7858:6;7818:20;:47::i;:::-;7878:21;7902:9;:17;7912:6;7902:17;;;;;;;;;;;;;;;;7878:41;;7955:6;7938:13;:23;;7930:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8076:6;8060:13;:22;8040:9;:17;8050:6;8040:17;;;;;;;;;;;;;;;:42;;;;8128:6;8104:9;:20;8114:9;8104:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8169:9;8152:35;;8161:6;8152:35;;;8180:6;8152:35;;;;;;:::i;:::-;;;;;;;;8200:46;8220:6;8228:9;8239:6;8200:19;:46::i;:::-;7642:612;7521:733;;;:::o;3681:630:5:-;3743:7;3763:24;831:10;3790:15;:25;:53;;3828:15;3790:53;;;831:10;3790:53;3763:80;;3854:23;831:10;3880;:16;3891:4;3880:16;;;;;;;;;;;;;;;;:26;:55;;3919:10;:16;3930:4;3919:16;;;;;;;;;;;;;;;;3880:55;;;831:10;3880:55;3854:81;;4297:5;4278:15;4259:16;:34;;;;:::i;:::-;680:8;4196:10;;;;;;;;;;;:36;;;4233:4;4196:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;;;:::i;:::-;:98;;;;:::i;:::-;:106;;;;:::i;:::-;4169:5;4150:15;4131:16;:34;;;;:::i;:::-;731:7;4078:10;;;;;;;;;;;:31;;;4110:4;4078:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:49;;;;:::i;:::-;:88;;;;:::i;:::-;:96;;;;:::i;:::-;4051:5;4032:15;4013:16;:34;;;;:::i;:::-;783:7;3956:10;;;;;;;;;;;:33;;;3990:4;3956:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;:92;;;;:::i;:::-;:100;;;;:::i;:::-;3955:220;;;;:::i;:::-;:348;;;;:::i;:::-;3948:355;;;;3681:630;;;:::o;2099:173:4:-;2155:16;2174:6;;;;;;;;;;;2155:25;;2200:8;2191:6;;:17;;;;;;;;;;;;;;;;;;2255:8;2224:40;;2245:8;2224:40;;;;;;;;;;;;2144:128;2099:173;:::o;9273:591:1:-;9376:1;9357:21;;:7;:21;;;;9349:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9429:49;9450:7;9467:1;9471:6;9429:20;:49::i;:::-;9491:22;9516:9;:18;9526:7;9516:18;;;;;;;;;;;;;;;;9491:43;;9571:6;9553:14;:24;;9545:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9690:6;9673:14;:23;9652:9;:18;9662:7;9652:18;;;;;;;;;;;;;;;:44;;;;9734:6;9718:12;;:22;;;;;;;:::i;:::-;;;;;;;;9784:1;9758:37;;9767:7;9758:37;;;9788:6;9758:37;;;;;;:::i;:::-;;;;;;;;9808:48;9828:7;9845:1;9849:6;9808:19;:48::i;:::-;9338:526;9273:591;;:::o;11282:125::-;;;;:::o;12011:124::-;;;;:::o;7:77:6:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:329::-;2725:6;2774:2;2762:9;2753:7;2749:23;2745:32;2742:119;;;2780:79;;:::i;:::-;2742:119;2900:1;2925:53;2970:7;2961:6;2950:9;2946:22;2925:53;:::i;:::-;2915:63;;2871:117;2666:329;;;;:::o;3001:122::-;3074:24;3092:5;3074:24;:::i;:::-;3067:5;3064:35;3054:63;;3113:1;3110;3103:12;3054:63;3001:122;:::o;3129:139::-;3175:5;3213:6;3200:20;3191:29;;3229:33;3256:5;3229:33;:::i;:::-;3129:139;;;;:::o;3274:474::-;3342:6;3350;3399:2;3387:9;3378:7;3374:23;3370:32;3367:119;;;3405:79;;:::i;:::-;3367:119;3525:1;3550:53;3595:7;3586:6;3575:9;3571:22;3550:53;:::i;:::-;3540:63;;3496:117;3652:2;3678:53;3723:7;3714:6;3703:9;3699:22;3678:53;:::i;:::-;3668:63;;3623:118;3274:474;;;;;:::o;3754:90::-;3788:7;3831:5;3824:13;3817:21;3806:32;;3754:90;;;:::o;3850:109::-;3931:21;3946:5;3931:21;:::i;:::-;3926:3;3919:34;3850:109;;:::o;3965:210::-;4052:4;4090:2;4079:9;4075:18;4067:26;;4103:65;4165:1;4154:9;4150:17;4141:6;4103:65;:::i;:::-;3965:210;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:116::-;5306:21;5321:5;5306:21;:::i;:::-;5299:5;5296:32;5286:60;;5342:1;5339;5332:12;5286:60;5236:116;:::o;5358:133::-;5401:5;5439:6;5426:20;5417:29;;5455:30;5479:5;5455:30;:::i;:::-;5358:133;;;;:::o;5497:468::-;5562:6;5570;5619:2;5607:9;5598:7;5594:23;5590:32;5587:119;;;5625:79;;:::i;:::-;5587:119;5745:1;5770:53;5815:7;5806:6;5795:9;5791:22;5770:53;:::i;:::-;5760:63;;5716:117;5872:2;5898:50;5940:7;5931:6;5920:9;5916:22;5898:50;:::i;:::-;5888:60;;5843:115;5497:468;;;;;:::o;5971:118::-;6058:24;6076:5;6058:24;:::i;:::-;6053:3;6046:37;5971:118;;:::o;6095:222::-;6188:4;6226:2;6215:9;6211:18;6203:26;;6239:71;6307:1;6296:9;6292:17;6283:6;6239:71;:::i;:::-;6095:222;;;;:::o;6323:60::-;6351:3;6372:5;6365:12;;6323:60;;;:::o;6389:142::-;6439:9;6472:53;6490:34;6499:24;6517:5;6499:24;:::i;:::-;6490:34;:::i;:::-;6472:53;:::i;:::-;6459:66;;6389:142;;;:::o;6537:126::-;6587:9;6620:37;6651:5;6620:37;:::i;:::-;6607:50;;6537:126;;;:::o;6669:145::-;6738:9;6771:37;6802:5;6771:37;:::i;:::-;6758:50;;6669:145;;;:::o;6820:169::-;6926:56;6976:5;6926:56;:::i;:::-;6921:3;6914:69;6820:169;;:::o;6995:260::-;7107:4;7145:2;7134:9;7130:18;7122:26;;7158:90;7245:1;7234:9;7230:17;7221:6;7158:90;:::i;:::-;6995:260;;;;:::o;7261:474::-;7329:6;7337;7386:2;7374:9;7365:7;7361:23;7357:32;7354:119;;;7392:79;;:::i;:::-;7354:119;7512:1;7537:53;7582:7;7573:6;7562:9;7558:22;7537:53;:::i;:::-;7527:63;;7483:117;7639:2;7665:53;7710:7;7701:6;7690:9;7686:22;7665:53;:::i;:::-;7655:63;;7610:118;7261:474;;;;;:::o;7741:180::-;7789:77;7786:1;7779:88;7886:4;7883:1;7876:15;7910:4;7907:1;7900:15;7927:320;7971:6;8008:1;8002:4;7998:12;7988:22;;8055:1;8049:4;8045:12;8076:18;8066:81;;8132:4;8124:6;8120:17;8110:27;;8066:81;8194:2;8186:6;8183:14;8163:18;8160:38;8157:84;;;8213:18;;:::i;:::-;8157:84;7978:269;7927:320;;;:::o;8253:182::-;8393:34;8389:1;8381:6;8377:14;8370:58;8253:182;:::o;8441:366::-;8583:3;8604:67;8668:2;8663:3;8604:67;:::i;:::-;8597:74;;8680:93;8769:3;8680:93;:::i;:::-;8798:2;8793:3;8789:12;8782:19;;8441:366;;;:::o;8813:419::-;8979:4;9017:2;9006:9;9002:18;8994:26;;9066:9;9060:4;9056:20;9052:1;9041:9;9037:17;9030:47;9094:131;9220:4;9094:131;:::i;:::-;9086:139;;8813:419;;;:::o;9238:178::-;9378:30;9374:1;9366:6;9362:14;9355:54;9238:178;:::o;9422:366::-;9564:3;9585:67;9649:2;9644:3;9585:67;:::i;:::-;9578:74;;9661:93;9750:3;9661:93;:::i;:::-;9779:2;9774:3;9770:12;9763:19;;9422:366;;;:::o;9794:419::-;9960:4;9998:2;9987:9;9983:18;9975:26;;10047:9;10041:4;10037:20;10033:1;10022:9;10018:17;10011:47;10075:131;10201:4;10075:131;:::i;:::-;10067:139;;9794:419;;;:::o;10219:227::-;10359:34;10355:1;10347:6;10343:14;10336:58;10428:10;10423:2;10415:6;10411:15;10404:35;10219:227;:::o;10452:366::-;10594:3;10615:67;10679:2;10674:3;10615:67;:::i;:::-;10608:74;;10691:93;10780:3;10691:93;:::i;:::-;10809:2;10804:3;10800:12;10793:19;;10452:366;;;:::o;10824:419::-;10990:4;11028:2;11017:9;11013:18;11005:26;;11077:9;11071:4;11067:20;11063:1;11052:9;11048:17;11041:47;11105:131;11231:4;11105:131;:::i;:::-;11097:139;;10824:419;;;:::o;11249:180::-;11297:77;11294:1;11287:88;11394:4;11391:1;11384:15;11418:4;11415:1;11408:15;11435:305;11475:3;11494:20;11512:1;11494:20;:::i;:::-;11489:25;;11528:20;11546:1;11528:20;:::i;:::-;11523:25;;11682:1;11614:66;11610:74;11607:1;11604:81;11601:107;;;11688:18;;:::i;:::-;11601:107;11732:1;11729;11725:9;11718:16;;11435:305;;;;:::o;11746:228::-;11886:34;11882:1;11874:6;11870:14;11863:58;11955:11;11950:2;11942:6;11938:15;11931:36;11746:228;:::o;11980:366::-;12122:3;12143:67;12207:2;12202:3;12143:67;:::i;:::-;12136:74;;12219:93;12308:3;12219:93;:::i;:::-;12337:2;12332:3;12328:12;12321:19;;11980:366;;;:::o;12352:419::-;12518:4;12556:2;12545:9;12541:18;12533:26;;12605:9;12599:4;12595:20;12591:1;12580:9;12576:17;12569:47;12633:131;12759:4;12633:131;:::i;:::-;12625:139;;12352:419;;;:::o;12777:191::-;12817:4;12837:20;12855:1;12837:20;:::i;:::-;12832:25;;12871:20;12889:1;12871:20;:::i;:::-;12866:25;;12910:1;12907;12904:8;12901:34;;;12915:18;;:::i;:::-;12901:34;12960:1;12957;12953:9;12945:17;;12777:191;;;;:::o;12974:224::-;13114:34;13110:1;13102:6;13098:14;13091:58;13183:7;13178:2;13170:6;13166:15;13159:32;12974:224;:::o;13204:366::-;13346:3;13367:67;13431:2;13426:3;13367:67;:::i;:::-;13360:74;;13443:93;13532:3;13443:93;:::i;:::-;13561:2;13556:3;13552:12;13545:19;;13204:366;;;:::o;13576:419::-;13742:4;13780:2;13769:9;13765:18;13757:26;;13829:9;13823:4;13819:20;13815:1;13804:9;13800:17;13793:47;13857:131;13983:4;13857:131;:::i;:::-;13849:139;;13576:419;;;:::o;14001:182::-;14141:34;14137:1;14129:6;14125:14;14118:58;14001:182;:::o;14189:366::-;14331:3;14352:67;14416:2;14411:3;14352:67;:::i;:::-;14345:74;;14428:93;14517:3;14428:93;:::i;:::-;14546:2;14541:3;14537:12;14530:19;;14189:366;;;:::o;14561:419::-;14727:4;14765:2;14754:9;14750:18;14742:26;;14814:9;14808:4;14804:20;14800:1;14789:9;14785:17;14778:47;14842:131;14968:4;14842:131;:::i;:::-;14834:139;;14561:419;;;:::o;14986:225::-;15126:34;15122:1;15114:6;15110:14;15103:58;15195:8;15190:2;15182:6;15178:15;15171:33;14986:225;:::o;15217:366::-;15359:3;15380:67;15444:2;15439:3;15380:67;:::i;:::-;15373:74;;15456:93;15545:3;15456:93;:::i;:::-;15574:2;15569:3;15565:12;15558:19;;15217:366;;;:::o;15589:419::-;15755:4;15793:2;15782:9;15778:18;15770:26;;15842:9;15836:4;15832:20;15828:1;15817:9;15813:17;15806:47;15870:131;15996:4;15870:131;:::i;:::-;15862:139;;15589:419;;;:::o;16014:223::-;16154:34;16150:1;16142:6;16138:14;16131:58;16223:6;16218:2;16210:6;16206:15;16199:31;16014:223;:::o;16243:366::-;16385:3;16406:67;16470:2;16465:3;16406:67;:::i;:::-;16399:74;;16482:93;16571:3;16482:93;:::i;:::-;16600:2;16595:3;16591:12;16584:19;;16243:366;;;:::o;16615:419::-;16781:4;16819:2;16808:9;16804:18;16796:26;;16868:9;16862:4;16858:20;16854:1;16843:9;16839:17;16832:47;16896:131;17022:4;16896:131;:::i;:::-;16888:139;;16615:419;;;:::o;17040:221::-;17180:34;17176:1;17168:6;17164:14;17157:58;17249:4;17244:2;17236:6;17232:15;17225:29;17040:221;:::o;17267:366::-;17409:3;17430:67;17494:2;17489:3;17430:67;:::i;:::-;17423:74;;17506:93;17595:3;17506:93;:::i;:::-;17624:2;17619:3;17615:12;17608:19;;17267:366;;;:::o;17639:419::-;17805:4;17843:2;17832:9;17828:18;17820:26;;17892:9;17886:4;17882:20;17878:1;17867:9;17863:17;17856:47;17920:131;18046:4;17920:131;:::i;:::-;17912:139;;17639:419;;;:::o;18064:181::-;18204:33;18200:1;18192:6;18188:14;18181:57;18064:181;:::o;18251:366::-;18393:3;18414:67;18478:2;18473:3;18414:67;:::i;:::-;18407:74;;18490:93;18579:3;18490:93;:::i;:::-;18608:2;18603:3;18599:12;18592:19;;18251:366;;;:::o;18623:419::-;18789:4;18827:2;18816:9;18812:18;18804:26;;18876:9;18870:4;18866:20;18862:1;18851:9;18847:17;18840:47;18904:131;19030:4;18904:131;:::i;:::-;18896:139;;18623:419;;;:::o;19048:224::-;19188:34;19184:1;19176:6;19172:14;19165:58;19257:7;19252:2;19244:6;19240:15;19233:32;19048:224;:::o;19278:366::-;19420:3;19441:67;19505:2;19500:3;19441:67;:::i;:::-;19434:74;;19517:93;19606:3;19517:93;:::i;:::-;19635:2;19630:3;19626:12;19619:19;;19278:366;;;:::o;19650:419::-;19816:4;19854:2;19843:9;19839:18;19831:26;;19903:9;19897:4;19893:20;19889:1;19878:9;19874:17;19867:47;19931:131;20057:4;19931:131;:::i;:::-;19923:139;;19650:419;;;:::o;20075:222::-;20215:34;20211:1;20203:6;20199:14;20192:58;20284:5;20279:2;20271:6;20267:15;20260:30;20075:222;:::o;20303:366::-;20445:3;20466:67;20530:2;20525:3;20466:67;:::i;:::-;20459:74;;20542:93;20631:3;20542:93;:::i;:::-;20660:2;20655:3;20651:12;20644:19;;20303:366;;;:::o;20675:419::-;20841:4;20879:2;20868:9;20864:18;20856:26;;20928:9;20922:4;20918:20;20914:1;20903:9;20899:17;20892:47;20956:131;21082:4;20956:131;:::i;:::-;20948:139;;20675:419;;;:::o;21100:225::-;21240:34;21236:1;21228:6;21224:14;21217:58;21309:8;21304:2;21296:6;21292:15;21285:33;21100:225;:::o;21331:366::-;21473:3;21494:67;21558:2;21553:3;21494:67;:::i;:::-;21487:74;;21570:93;21659:3;21570:93;:::i;:::-;21688:2;21683:3;21679:12;21672:19;;21331:366;;;:::o;21703:419::-;21869:4;21907:2;21896:9;21892:18;21884:26;;21956:9;21950:4;21946:20;21942:1;21931:9;21927:17;21920:47;21984:131;22110:4;21984:131;:::i;:::-;21976:139;;21703:419;;;:::o;22128:143::-;22185:5;22216:6;22210:13;22201:22;;22232:33;22259:5;22232:33;:::i;:::-;22128:143;;;;:::o;22277:351::-;22347:6;22396:2;22384:9;22375:7;22371:23;22367:32;22364:119;;;22402:79;;:::i;:::-;22364:119;22522:1;22547:64;22603:7;22594:6;22583:9;22579:22;22547:64;:::i;:::-;22537:74;;22493:128;22277:351;;;;:::o;22634:348::-;22674:7;22697:20;22715:1;22697:20;:::i;:::-;22692:25;;22731:20;22749:1;22731:20;:::i;:::-;22726:25;;22919:1;22851:66;22847:74;22844:1;22841:81;22836:1;22829:9;22822:17;22818:105;22815:131;;;22926:18;;:::i;:::-;22815:131;22974:1;22971;22967:9;22956:20;;22634:348;;;;:::o;22988:180::-;23036:77;23033:1;23026:88;23133:4;23130:1;23123:15;23157:4;23154:1;23147:15;23174:185;23214:1;23231:20;23249:1;23231:20;:::i;:::-;23226:25;;23265:20;23283:1;23265:20;:::i;:::-;23260:25;;23304:1;23294:35;;23309:18;;:::i;:::-;23294:35;23351:1;23348;23344:9;23339:14;;23174:185;;;;:::o;23365:220::-;23505:34;23501:1;23493:6;23489:14;23482:58;23574:3;23569:2;23561:6;23557:15;23550:28;23365:220;:::o;23591:366::-;23733:3;23754:67;23818:2;23813:3;23754:67;:::i;:::-;23747:74;;23830:93;23919:3;23830:93;:::i;:::-;23948:2;23943:3;23939:12;23932:19;;23591:366;;;:::o;23963:419::-;24129:4;24167:2;24156:9;24152:18;24144:26;;24216:9;24210:4;24206:20;24202:1;24191:9;24187:17;24180:47;24244:131;24370:4;24244:131;:::i;:::-;24236:139;;23963:419;;;:::o;24388:221::-;24528:34;24524:1;24516:6;24512:14;24505:58;24597:4;24592:2;24584:6;24580:15;24573:29;24388:221;:::o;24615:366::-;24757:3;24778:67;24842:2;24837:3;24778:67;:::i;:::-;24771:74;;24854:93;24943:3;24854:93;:::i;:::-;24972:2;24967:3;24963:12;24956:19;;24615:366;;;:::o;24987:419::-;25153:4;25191:2;25180:9;25176:18;25168:26;;25240:9;25234:4;25230:20;25226:1;25215:9;25211:17;25204:47;25268:131;25394:4;25268:131;:::i;:::-;25260:139;;24987:419;;;:::o

Swarm Source

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