ETH Price: $3,268.98 (+1.79%)
Gas: 41 Gwei

Token

BUM (BUM)
 

Overview

Max Total Supply

9,500,000,000 BUM

Holders

23

Total Transfers

-

Market

Fully Diluted Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Vanilla

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 5 of 5: Vanilla.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./ERC20.sol";

contract Vanilla is ERC20 {
    address public admin;
    address public receiver;
    address public distributor;
    address public vanilla721;
    address public auction;
    address public locker;
    address public treasury;
    address public trader;
    address public ticket;
    address public loan;
    address public reinforcer;
    address public randomTable;
    address public interestRate;

    mapping(address => bool) public minters;
    mapping(address => bool) public allowed721;

    event NewAdmin(address indexed newAdmin);
    event NewReceiver(address indexed newReceiver);
    event NewDistributor(address indexed newDistributor);
    event NewVanilla721(address indexed newVanilla721);
    event NewAuction(address indexed newAuction);
    event NewLocker(address indexed newLocker);
    event NewTreasury(address indexed newTreasury);
    event NewTrader(address indexed newTrader);
    event NewTicket(address indexed newTicket);
    event NewLoan(address indexed newLoan);
    event NewReinforcer(address indexed newReinforcer);
    event NewRandomTable(address indexed newRandomTable);
    event NewInterestRate(address indexed newInterestRate);
    event NewMinter(address indexed newMinter, bool isMinter);
    event NewAllowed721(address indexed newAllowed721, bool isAllowed);

    constructor(
        address newAdmin,
        address newReceiver,
        string memory name,
        string memory symbol
    ) ERC20(name, symbol) {
        require(
            newAdmin != address(0) && newReceiver != address(0),
            "Vanilla: zero address"
        );
        admin = newAdmin;
        receiver = newReceiver;
    }

    function setMinter(address newMinter) public {
        require(msg.sender == admin, "Vanilla: admin");
        minters[newMinter] = !minters[newMinter];
        emit NewMinter(newMinter, minters[newMinter]);
    }

    function setAdmin(address newAdmin) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newAdmin != address(0), "Vanilla: zero address");
        admin = newAdmin;
        emit NewAdmin(admin);
    }

    function setReceiver(address newReceiver) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newReceiver != address(0), "Vanilla: zero address");
        receiver = newReceiver;
        emit NewReceiver(receiver);
    }

    function setDistributor(address newDistributor) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newDistributor != address(0), "Vanilla: zero address");

        setMinter(distributor);
        distributor = newDistributor;
        setMinter(distributor);

        emit NewDistributor(distributor);
    }

    function setVanilla721(address newVanilla721) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newVanilla721 != address(0), "Vanilla: zero address");

        setAllowed721(vanilla721);
        vanilla721 = newVanilla721;
        setAllowed721(vanilla721);

        emit NewVanilla721(vanilla721);
    }

    function setAuction(address newAuction) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newAuction != address(0), "Vanilla: zero address");
        auction = newAuction;

        emit NewAuction(auction);
    }

    function setLocker(address newLocker) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newLocker != address(0), "Vanilla: zero address");
        locker = newLocker;

        emit NewLocker(locker);
    }

    function setTreasury(address newTreasury) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newTreasury != address(0), "Vanilla: zero address");
        treasury = newTreasury;

        emit NewTreasury(treasury);
    }

    function setTrader(address newTrader) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newTrader != address(0), "Vanilla: zero address");
        trader = newTrader;

        emit NewTrader(trader);
    }

    function setLoan(address newLoan) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newLoan != address(0), "Vanilla: zero address");
        loan = newLoan;

        emit NewLoan(loan);
    }

    function setReinforcer(address newReinforcer) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newReinforcer != address(0), "Vanilla: zero address");
        reinforcer = newReinforcer;

        emit NewReinforcer(reinforcer);
    }

    function setRandomTable(address newRandomTable) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newRandomTable != address(0), "Vanilla: zero address");
        randomTable = newRandomTable;

        emit NewRandomTable(randomTable);
    }

    function setInterestRate(address newInterestRate) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newInterestRate != address(0), "Vanilla: zero address");
        interestRate = newInterestRate;

        emit NewInterestRate(interestRate);
    }

    function setTicket(address newTicket) external {
        require(msg.sender == admin, "Vanilla: admin");
        require(newTicket != address(0), "Vanilla: zero address");

        setMinter(ticket);
        ticket = newTicket;
        setMinter(ticket);

        emit NewTicket(ticket);
    }

    function setAllowed721(address newAllowed721) public {
        require(msg.sender == admin, "Vanilla: admin");

        allowed721[newAllowed721] = !allowed721[newAllowed721];

        emit NewAllowed721(newAllowed721, allowed721[newAllowed721]);
    }

    function mint(address to, uint amount) external {
        require(minters[msg.sender], "Vanilla: minter");
        _mint(to, amount);
    }

    function burn(uint amount) external {
        _burn(msg.sender, amount);
    }
}

File 1 of 5: 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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 2 of 5: ERC20.sol
// SPDX-License-Identifier: MIT

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 guidelines: functions revert instead
 * of 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");
        _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");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `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);
    }

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

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

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

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

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

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

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

File 3 of 5: IERC20.sol
// SPDX-License-Identifier: MIT

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 5: IERC20Metadata.sol
// SPDX-License-Identifier: MIT

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);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"},{"internalType":"address","name":"newReceiver","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"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":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAllowed721","type":"address"},{"indexed":false,"internalType":"bool","name":"isAllowed","type":"bool"}],"name":"NewAllowed721","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAuction","type":"address"}],"name":"NewAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newDistributor","type":"address"}],"name":"NewDistributor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newInterestRate","type":"address"}],"name":"NewInterestRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newLoan","type":"address"}],"name":"NewLoan","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newLocker","type":"address"}],"name":"NewLocker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newMinter","type":"address"},{"indexed":false,"internalType":"bool","name":"isMinter","type":"bool"}],"name":"NewMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newRandomTable","type":"address"}],"name":"NewRandomTable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newReceiver","type":"address"}],"name":"NewReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newReinforcer","type":"address"}],"name":"NewReinforcer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTicket","type":"address"}],"name":"NewTicket","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTrader","type":"address"}],"name":"NewTrader","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTreasury","type":"address"}],"name":"NewTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newVanilla721","type":"address"}],"name":"NewVanilla721","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":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"allowed721","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":[],"name":"auction","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributor","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"interestRate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"loan","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randomTable","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reinforcer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAllowed721","type":"address"}],"name":"setAllowed721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAuction","type":"address"}],"name":"setAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDistributor","type":"address"}],"name":"setDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newInterestRate","type":"address"}],"name":"setInterestRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLoan","type":"address"}],"name":"setLoan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLocker","type":"address"}],"name":"setLocker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMinter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRandomTable","type":"address"}],"name":"setRandomTable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReinforcer","type":"address"}],"name":"setReinforcer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTicket","type":"address"}],"name":"setTicket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTrader","type":"address"}],"name":"setTrader","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newVanilla721","type":"address"}],"name":"setVanilla721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticket","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trader","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vanilla721","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040516200449238038062004492833981810160405281019062000037919062000390565b818181600390816200004a91906200068b565b5080600490816200005c91906200068b565b505050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015620000ca5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b6200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010390620007d3565b60405180910390fd5b83600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050620007f5565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001d982620001ac565b9050919050565b620001eb81620001cc565b8114620001f757600080fd5b50565b6000815190506200020b81620001e0565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000266826200021b565b810181811067ffffffffffffffff821117156200028857620002876200022c565b5b80604052505050565b60006200029d62000198565b9050620002ab82826200025b565b919050565b600067ffffffffffffffff821115620002ce57620002cd6200022c565b5b620002d9826200021b565b9050602081019050919050565b60005b8381101562000306578082015181840152602081019050620002e9565b60008484015250505050565b6000620003296200032384620002b0565b62000291565b90508281526020810184848401111562000348576200034762000216565b5b62000355848285620002e6565b509392505050565b600082601f83011262000375576200037462000211565b5b81516200038784826020860162000312565b91505092915050565b60008060008060808587031215620003ad57620003ac620001a2565b5b6000620003bd87828801620001fa565b9450506020620003d087828801620001fa565b935050604085015167ffffffffffffffff811115620003f457620003f3620001a7565b5b62000402878288016200035d565b925050606085015167ffffffffffffffff811115620004265762000425620001a7565b5b62000434878288016200035d565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200049357607f821691505b602082108103620004a957620004a86200044b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004d4565b6200051f8683620004d4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200056c62000566620005608462000537565b62000541565b62000537565b9050919050565b6000819050919050565b62000588836200054b565b620005a0620005978262000573565b848454620004e1565b825550505050565b600090565b620005b7620005a8565b620005c48184846200057d565b505050565b5b81811015620005ec57620005e0600082620005ad565b600181019050620005ca565b5050565b601f8211156200063b576200060581620004af565b6200061084620004c4565b8101602085101562000620578190505b620006386200062f85620004c4565b830182620005c9565b50505b505050565b600082821c905092915050565b6000620006606000198460080262000640565b1980831691505092915050565b60006200067b83836200064d565b9150826002028217905092915050565b620006968262000440565b67ffffffffffffffff811115620006b257620006b16200022c565b5b620006be82546200047a565b620006cb828285620005f0565b600060209050601f831160018114620007035760008415620006ee578287015190505b620006fa85826200066d565b8655506200076a565b601f1984166200071386620004af565b60005b828110156200073d5784890151825560018201915060208501945060208101905062000716565b868310156200075d578489015162000759601f8916826200064d565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f56616e696c6c613a207a65726f20616464726573730000000000000000000000600082015250565b6000620007bb60158362000772565b9150620007c88262000783565b602082019050919050565b60006020820190508181036000830152620007ee81620007ac565b9050919050565b613c8d80620008056000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806375619ab511610151578063c8ce8c75116100c3578063f46eccc411610087578063f46eccc414610736578063f7260d3e14610766578063f851a44014610784578063f8a25937146107a2578063fca3b5aa146107c0578063fdc2f1cf146107dc57610269565b8063c8ce8c7514610692578063d285b7b4146106ae578063d7b96d4e146106cc578063dd62ed3e146106ea578063f0f442601461071a57610269565b80639f2c2154116101155780639f2c2154146105c0578063a457c2d7146105dc578063a6bc18f91461060c578063a9059cbb14610628578063b8c6f57914610658578063bfe109281461067457610269565b806375619ab51461052e5780637c3a00fd1461054a5780637d9f6db5146105685780638d6663d11461058657806395d89b41146105a257610269565b806337ea98f7116101ea5780634dd75c49116101ae5780634dd75c491461046e57806361d027b31461048a5780636cc25db7146104a8578063704b6c02146104c657806370a08231146104e2578063718da7ee1461051257610269565b806337ea98f7146103ba57806339509351146103ea57806340c10f191461041a57806341f7b0921461043657806342966c681461045257610269565b806318160ddd1161023157806318160ddd146103145780631c65c78b1461033257806323b872dd1461034e5780632e77cae91461037e578063313ce5671461039c57610269565b806306fdde031461026e578063095ea7b31461028c578063171060ec146102bc5780631758078b146102d857806317a93479146102f6575b600080fd5b6102766107f8565b60405161028391906131e5565b60405180910390f35b6102a660048036038101906102a191906132a0565b61088a565b6040516102b391906132fb565b60405180910390f35b6102d660048036038101906102d19190613316565b6108a8565b005b6102e0610a50565b6040516102ed9190613352565b60405180910390f35b6102fe610a76565b60405161030b9190613352565b60405180910390f35b61031c610a9c565b604051610329919061337c565b60405180910390f35b61034c60048036038101906103479190613316565b610aa6565b005b61036860048036038101906103639190613397565b610ca4565b60405161037591906132fb565b60405180910390f35b610386610da5565b6040516103939190613352565b60405180910390f35b6103a4610dcb565b6040516103b19190613406565b60405180910390f35b6103d460048036038101906103cf9190613316565b610dd4565b6040516103e191906132fb565b60405180910390f35b61040460048036038101906103ff91906132a0565b610df4565b60405161041191906132fb565b60405180910390f35b610434600480360381019061042f91906132a0565b610ea0565b005b610450600480360381019061044b9190613316565b610f3a565b005b61046c60048036038101906104679190613421565b6110e2565b005b61048860048036038101906104839190613316565b6110ef565b005b610492611297565b60405161049f9190613352565b60405180910390f35b6104b06112bd565b6040516104bd9190613352565b60405180910390f35b6104e060048036038101906104db9190613316565b6112e3565b005b6104fc60048036038101906104f79190613316565b61148b565b604051610509919061337c565b60405180910390f35b61052c60048036038101906105279190613316565b6114d3565b005b61054860048036038101906105439190613316565b61167b565b005b610552611879565b60405161055f9190613352565b60405180910390f35b61057061189f565b60405161057d9190613352565b60405180910390f35b6105a0600480360381019061059b9190613316565b6118c5565b005b6105aa611a96565b6040516105b791906131e5565b60405180910390f35b6105da60048036038101906105d59190613316565b611b28565b005b6105f660048036038101906105f191906132a0565b611d26565b60405161060391906132fb565b60405180910390f35b61062660048036038101906106219190613316565b611e1a565b005b610642600480360381019061063d91906132a0565b611fc2565b60405161064f91906132fb565b60405180910390f35b610672600480360381019061066d9190613316565b611fe0565b005b61067c612188565b6040516106899190613352565b60405180910390f35b6106ac60048036038101906106a79190613316565b6121ae565b005b6106b6612356565b6040516106c39190613352565b60405180910390f35b6106d461237c565b6040516106e19190613352565b60405180910390f35b61070460048036038101906106ff919061344e565b6123a2565b604051610711919061337c565b60405180910390f35b610734600480360381019061072f9190613316565b612429565b005b610750600480360381019061074b9190613316565b6125d1565b60405161075d91906132fb565b60405180910390f35b61076e6125f1565b60405161077b9190613352565b60405180910390f35b61078c612617565b6040516107999190613352565b60405180910390f35b6107aa61263d565b6040516107b79190613352565b60405180910390f35b6107da60048036038101906107d59190613316565b612663565b005b6107f660048036038101906107f19190613316565b612834565b005b606060038054610807906134bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610833906134bd565b80156108805780601f1061085557610100808354040283529160200191610880565b820191906000526020600020905b81548152906001019060200180831161086357829003601f168201915b5050505050905090565b600061089e6108976129dc565b84846129e4565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099e906135a6565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f14ea724a8689ded30217f95d63118026f2f72c9bfa95abf6540923d7ce2b3fad60405160405180910390a250565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c906135a6565b60405180910390fd5b610bd0600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c3c600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fbfed62eb9da96f495053d1025cce9833c1ea7d27761dca02cfea73f628f23a5060405160405180910390a250565b6000610cb1848484612bad565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cfc6129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7390613638565b60405180910390fd5b610d9985610d886129dc565b8584610d949190613687565b6129e4565b60019150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60136020528060005260406000206000915054906101000a900460ff1681565b6000610e96610e016129dc565b848460016000610e0f6129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9191906136bb565b6129e4565b6001905092915050565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f239061373b565b60405180910390fd5b610f368282612e2a565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc19061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906135a6565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9933028275b3e05e8f6f3ba490220738a5b9b7e73d22928af1b7e0e4a0800a9060405160405180910390a250565b6110ec3382612f7d565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111769061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e5906135a6565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc81d142423402689c1230ba9937d632e350d8b6b5ee7e687b9571531c5a39a360405160405180910390a250565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d9906135a6565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a250565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c9906135a6565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f4a2963bfc20b87a0c055468a66e6638d57725e93fb4d65733fb2f25587ae8c4f60405160405180910390a250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461170b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117029061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361177a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611771906135a6565b60405180910390fd5b6117a5600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611811600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f26351e175ca0261735d5253c1386be151da58f10e7d60599db07cf0a412f2aa360405160405180910390a250565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9061353a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff811f9baecedb2ddf325cfff52619b0c1de354794f069e7b4ecfc004a894d2b8601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051611a8b91906132fb565b60405180910390a250565b606060048054611aa5906134bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad1906134bd565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e906135a6565b60405180910390fd5b611c52600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118c5565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cbe600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118c5565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff40b1638b217e6bbac3f63562b7b8ea2259aa0ba669d14ee6a2ef4a1b1752e8360405160405180910390a250565b60008060016000611d356129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de9906137cd565b60405180910390fd5b611e0f611dfd6129dc565b858584611e0a9190613687565b6129e4565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea19061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f10906135a6565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1a4af8024637966df8e901f6a7b139beaf0450a69e8eb9f9827bdaac8c735bea60405160405180910390a250565b6000611fd6611fcf6129dc565b8484612bad565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120679061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d6906135a6565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f38e6291bd099eebf4df91c93b4d1ae60a100b422395c626aa62a7083025d1e8d60405160405180910390a250565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a4906135a6565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51eb826532afc37782197032e7b7d47e238be7f3688087e11eb97b05062a5bf160405160405180910390a250565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b09061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251f906135a6565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fafa147634b29e2c7bd53ce194256b9f41cfb9ba3036f2b822fdd1d965beea08660405160405180910390a250565b60126020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061353a565b60405180910390fd5b601260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5e78947a8418136c57eccef65627f93371df70dc32f1b4ffe8be0c19c99ee84b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660405161282991906132fb565b60405180910390a250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128bb9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292a906135a6565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa1229507b07f967488bd0109399e7e1e6b535774c8b85da6bd099183d7833b9960405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4a9061385f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab9906138f1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612ba0919061337c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1390613983565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8290613a15565b60405180910390fd5b612c96838383613150565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1390613aa7565b60405180910390fd5b8181612d289190613687565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612db891906136bb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e1c919061337c565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e9090613b13565b60405180910390fd5b612ea560008383613150565b8060026000828254612eb791906136bb565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f0c91906136bb565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f71919061337c565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fe390613ba5565b60405180910390fd5b612ff882600083613150565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561307e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307590613c37565b60405180910390fd5b818161308a9190613687565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546130de9190613687565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613143919061337c565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561318f578082015181840152602081019050613174565b60008484015250505050565b6000601f19601f8301169050919050565b60006131b782613155565b6131c18185613160565b93506131d1818560208601613171565b6131da8161319b565b840191505092915050565b600060208201905081810360008301526131ff81846131ac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132378261320c565b9050919050565b6132478161322c565b811461325257600080fd5b50565b6000813590506132648161323e565b92915050565b6000819050919050565b61327d8161326a565b811461328857600080fd5b50565b60008135905061329a81613274565b92915050565b600080604083850312156132b7576132b6613207565b5b60006132c585828601613255565b92505060206132d68582860161328b565b9150509250929050565b60008115159050919050565b6132f5816132e0565b82525050565b600060208201905061331060008301846132ec565b92915050565b60006020828403121561332c5761332b613207565b5b600061333a84828501613255565b91505092915050565b61334c8161322c565b82525050565b60006020820190506133676000830184613343565b92915050565b6133768161326a565b82525050565b6000602082019050613391600083018461336d565b92915050565b6000806000606084860312156133b0576133af613207565b5b60006133be86828701613255565b93505060206133cf86828701613255565b92505060406133e08682870161328b565b9150509250925092565b600060ff82169050919050565b613400816133ea565b82525050565b600060208201905061341b60008301846133f7565b92915050565b60006020828403121561343757613436613207565b5b60006134458482850161328b565b91505092915050565b6000806040838503121561346557613464613207565b5b600061347385828601613255565b925050602061348485828601613255565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806134d557607f821691505b6020821081036134e8576134e761348e565b5b50919050565b7f56616e696c6c613a2061646d696e000000000000000000000000000000000000600082015250565b6000613524600e83613160565b915061352f826134ee565b602082019050919050565b6000602082019050818103600083015261355381613517565b9050919050565b7f56616e696c6c613a207a65726f20616464726573730000000000000000000000600082015250565b6000613590601583613160565b915061359b8261355a565b602082019050919050565b600060208201905081810360008301526135bf81613583565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613622602883613160565b915061362d826135c6565b604082019050919050565b6000602082019050818103600083015261365181613615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136928261326a565b915061369d8361326a565b92508282039050818111156136b5576136b4613658565b5b92915050565b60006136c68261326a565b91506136d18361326a565b92508282019050808211156136e9576136e8613658565b5b92915050565b7f56616e696c6c613a206d696e7465720000000000000000000000000000000000600082015250565b6000613725600f83613160565b9150613730826136ef565b602082019050919050565b6000602082019050818103600083015261375481613718565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006137b7602583613160565b91506137c28261375b565b604082019050919050565b600060208201905081810360008301526137e6816137aa565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613849602483613160565b9150613854826137ed565b604082019050919050565b600060208201905081810360008301526138788161383c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138db602283613160565b91506138e68261387f565b604082019050919050565b6000602082019050818103600083015261390a816138ce565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061396d602583613160565b915061397882613911565b604082019050919050565b6000602082019050818103600083015261399c81613960565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139ff602383613160565b9150613a0a826139a3565b604082019050919050565b60006020820190508181036000830152613a2e816139f2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a91602683613160565b9150613a9c82613a35565b604082019050919050565b60006020820190508181036000830152613ac081613a84565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613afd601f83613160565b9150613b0882613ac7565b602082019050919050565b60006020820190508181036000830152613b2c81613af0565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b8f602183613160565b9150613b9a82613b33565b604082019050919050565b60006020820190508181036000830152613bbe81613b82565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c21602283613160565b9150613c2c82613bc5565b604082019050919050565b60006020820190508181036000830152613c5081613c14565b905091905056fea26469706673582212203ddcd6abd5fe94a1ff01dc6f5df6fb341fb13d2e98c9288bdb93cad00882679064736f6c634300081300330000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a0000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000342554d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342554d0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102695760003560e01c806375619ab511610151578063c8ce8c75116100c3578063f46eccc411610087578063f46eccc414610736578063f7260d3e14610766578063f851a44014610784578063f8a25937146107a2578063fca3b5aa146107c0578063fdc2f1cf146107dc57610269565b8063c8ce8c7514610692578063d285b7b4146106ae578063d7b96d4e146106cc578063dd62ed3e146106ea578063f0f442601461071a57610269565b80639f2c2154116101155780639f2c2154146105c0578063a457c2d7146105dc578063a6bc18f91461060c578063a9059cbb14610628578063b8c6f57914610658578063bfe109281461067457610269565b806375619ab51461052e5780637c3a00fd1461054a5780637d9f6db5146105685780638d6663d11461058657806395d89b41146105a257610269565b806337ea98f7116101ea5780634dd75c49116101ae5780634dd75c491461046e57806361d027b31461048a5780636cc25db7146104a8578063704b6c02146104c657806370a08231146104e2578063718da7ee1461051257610269565b806337ea98f7146103ba57806339509351146103ea57806340c10f191461041a57806341f7b0921461043657806342966c681461045257610269565b806318160ddd1161023157806318160ddd146103145780631c65c78b1461033257806323b872dd1461034e5780632e77cae91461037e578063313ce5671461039c57610269565b806306fdde031461026e578063095ea7b31461028c578063171060ec146102bc5780631758078b146102d857806317a93479146102f6575b600080fd5b6102766107f8565b60405161028391906131e5565b60405180910390f35b6102a660048036038101906102a191906132a0565b61088a565b6040516102b391906132fb565b60405180910390f35b6102d660048036038101906102d19190613316565b6108a8565b005b6102e0610a50565b6040516102ed9190613352565b60405180910390f35b6102fe610a76565b60405161030b9190613352565b60405180910390f35b61031c610a9c565b604051610329919061337c565b60405180910390f35b61034c60048036038101906103479190613316565b610aa6565b005b61036860048036038101906103639190613397565b610ca4565b60405161037591906132fb565b60405180910390f35b610386610da5565b6040516103939190613352565b60405180910390f35b6103a4610dcb565b6040516103b19190613406565b60405180910390f35b6103d460048036038101906103cf9190613316565b610dd4565b6040516103e191906132fb565b60405180910390f35b61040460048036038101906103ff91906132a0565b610df4565b60405161041191906132fb565b60405180910390f35b610434600480360381019061042f91906132a0565b610ea0565b005b610450600480360381019061044b9190613316565b610f3a565b005b61046c60048036038101906104679190613421565b6110e2565b005b61048860048036038101906104839190613316565b6110ef565b005b610492611297565b60405161049f9190613352565b60405180910390f35b6104b06112bd565b6040516104bd9190613352565b60405180910390f35b6104e060048036038101906104db9190613316565b6112e3565b005b6104fc60048036038101906104f79190613316565b61148b565b604051610509919061337c565b60405180910390f35b61052c60048036038101906105279190613316565b6114d3565b005b61054860048036038101906105439190613316565b61167b565b005b610552611879565b60405161055f9190613352565b60405180910390f35b61057061189f565b60405161057d9190613352565b60405180910390f35b6105a0600480360381019061059b9190613316565b6118c5565b005b6105aa611a96565b6040516105b791906131e5565b60405180910390f35b6105da60048036038101906105d59190613316565b611b28565b005b6105f660048036038101906105f191906132a0565b611d26565b60405161060391906132fb565b60405180910390f35b61062660048036038101906106219190613316565b611e1a565b005b610642600480360381019061063d91906132a0565b611fc2565b60405161064f91906132fb565b60405180910390f35b610672600480360381019061066d9190613316565b611fe0565b005b61067c612188565b6040516106899190613352565b60405180910390f35b6106ac60048036038101906106a79190613316565b6121ae565b005b6106b6612356565b6040516106c39190613352565b60405180910390f35b6106d461237c565b6040516106e19190613352565b60405180910390f35b61070460048036038101906106ff919061344e565b6123a2565b604051610711919061337c565b60405180910390f35b610734600480360381019061072f9190613316565b612429565b005b610750600480360381019061074b9190613316565b6125d1565b60405161075d91906132fb565b60405180910390f35b61076e6125f1565b60405161077b9190613352565b60405180910390f35b61078c612617565b6040516107999190613352565b60405180910390f35b6107aa61263d565b6040516107b79190613352565b60405180910390f35b6107da60048036038101906107d59190613316565b612663565b005b6107f660048036038101906107f19190613316565b612834565b005b606060038054610807906134bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610833906134bd565b80156108805780601f1061085557610100808354040283529160200191610880565b820191906000526020600020905b81548152906001019060200180831161086357829003601f168201915b5050505050905090565b600061089e6108976129dc565b84846129e4565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099e906135a6565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f14ea724a8689ded30217f95d63118026f2f72c9bfa95abf6540923d7ce2b3fad60405160405180910390a250565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c906135a6565b60405180910390fd5b610bd0600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c3c600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fbfed62eb9da96f495053d1025cce9833c1ea7d27761dca02cfea73f628f23a5060405160405180910390a250565b6000610cb1848484612bad565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cfc6129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7390613638565b60405180910390fd5b610d9985610d886129dc565b8584610d949190613687565b6129e4565b60019150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60136020528060005260406000206000915054906101000a900460ff1681565b6000610e96610e016129dc565b848460016000610e0f6129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9191906136bb565b6129e4565b6001905092915050565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f239061373b565b60405180910390fd5b610f368282612e2a565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc19061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906135a6565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9933028275b3e05e8f6f3ba490220738a5b9b7e73d22928af1b7e0e4a0800a9060405160405180910390a250565b6110ec3382612f7d565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111769061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e5906135a6565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc81d142423402689c1230ba9937d632e350d8b6b5ee7e687b9571531c5a39a360405160405180910390a250565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d9906135a6565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a250565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c9906135a6565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f4a2963bfc20b87a0c055468a66e6638d57725e93fb4d65733fb2f25587ae8c4f60405160405180910390a250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461170b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117029061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361177a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611771906135a6565b60405180910390fd5b6117a5600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611811600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612663565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f26351e175ca0261735d5253c1386be151da58f10e7d60599db07cf0a412f2aa360405160405180910390a250565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9061353a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff811f9baecedb2ddf325cfff52619b0c1de354794f069e7b4ecfc004a894d2b8601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051611a8b91906132fb565b60405180910390a250565b606060048054611aa5906134bd565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad1906134bd565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e906135a6565b60405180910390fd5b611c52600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118c5565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cbe600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118c5565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff40b1638b217e6bbac3f63562b7b8ea2259aa0ba669d14ee6a2ef4a1b1752e8360405160405180910390a250565b60008060016000611d356129dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de9906137cd565b60405180910390fd5b611e0f611dfd6129dc565b858584611e0a9190613687565b6129e4565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea19061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f10906135a6565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1a4af8024637966df8e901f6a7b139beaf0450a69e8eb9f9827bdaac8c735bea60405160405180910390a250565b6000611fd6611fcf6129dc565b8484612bad565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120679061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d6906135a6565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f38e6291bd099eebf4df91c93b4d1ae60a100b422395c626aa62a7083025d1e8d60405160405180910390a250565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a4906135a6565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51eb826532afc37782197032e7b7d47e238be7f3688087e11eb97b05062a5bf160405160405180910390a250565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b09061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251f906135a6565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fafa147634b29e2c7bd53ce194256b9f41cfb9ba3036f2b822fdd1d965beea08660405160405180910390a250565b60126020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061353a565b60405180910390fd5b601260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5e78947a8418136c57eccef65627f93371df70dc32f1b4ffe8be0c19c99ee84b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660405161282991906132fb565b60405180910390a250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128bb9061353a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292a906135a6565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa1229507b07f967488bd0109399e7e1e6b535774c8b85da6bd099183d7833b9960405160405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4a9061385f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab9906138f1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612ba0919061337c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1390613983565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8290613a15565b60405180910390fd5b612c96838383613150565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1390613aa7565b60405180910390fd5b8181612d289190613687565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612db891906136bb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e1c919061337c565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e9090613b13565b60405180910390fd5b612ea560008383613150565b8060026000828254612eb791906136bb565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f0c91906136bb565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f71919061337c565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fe390613ba5565b60405180910390fd5b612ff882600083613150565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561307e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307590613c37565b60405180910390fd5b818161308a9190613687565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546130de9190613687565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613143919061337c565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561318f578082015181840152602081019050613174565b60008484015250505050565b6000601f19601f8301169050919050565b60006131b782613155565b6131c18185613160565b93506131d1818560208601613171565b6131da8161319b565b840191505092915050565b600060208201905081810360008301526131ff81846131ac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132378261320c565b9050919050565b6132478161322c565b811461325257600080fd5b50565b6000813590506132648161323e565b92915050565b6000819050919050565b61327d8161326a565b811461328857600080fd5b50565b60008135905061329a81613274565b92915050565b600080604083850312156132b7576132b6613207565b5b60006132c585828601613255565b92505060206132d68582860161328b565b9150509250929050565b60008115159050919050565b6132f5816132e0565b82525050565b600060208201905061331060008301846132ec565b92915050565b60006020828403121561332c5761332b613207565b5b600061333a84828501613255565b91505092915050565b61334c8161322c565b82525050565b60006020820190506133676000830184613343565b92915050565b6133768161326a565b82525050565b6000602082019050613391600083018461336d565b92915050565b6000806000606084860312156133b0576133af613207565b5b60006133be86828701613255565b93505060206133cf86828701613255565b92505060406133e08682870161328b565b9150509250925092565b600060ff82169050919050565b613400816133ea565b82525050565b600060208201905061341b60008301846133f7565b92915050565b60006020828403121561343757613436613207565b5b60006134458482850161328b565b91505092915050565b6000806040838503121561346557613464613207565b5b600061347385828601613255565b925050602061348485828601613255565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806134d557607f821691505b6020821081036134e8576134e761348e565b5b50919050565b7f56616e696c6c613a2061646d696e000000000000000000000000000000000000600082015250565b6000613524600e83613160565b915061352f826134ee565b602082019050919050565b6000602082019050818103600083015261355381613517565b9050919050565b7f56616e696c6c613a207a65726f20616464726573730000000000000000000000600082015250565b6000613590601583613160565b915061359b8261355a565b602082019050919050565b600060208201905081810360008301526135bf81613583565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613622602883613160565b915061362d826135c6565b604082019050919050565b6000602082019050818103600083015261365181613615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136928261326a565b915061369d8361326a565b92508282039050818111156136b5576136b4613658565b5b92915050565b60006136c68261326a565b91506136d18361326a565b92508282019050808211156136e9576136e8613658565b5b92915050565b7f56616e696c6c613a206d696e7465720000000000000000000000000000000000600082015250565b6000613725600f83613160565b9150613730826136ef565b602082019050919050565b6000602082019050818103600083015261375481613718565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006137b7602583613160565b91506137c28261375b565b604082019050919050565b600060208201905081810360008301526137e6816137aa565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613849602483613160565b9150613854826137ed565b604082019050919050565b600060208201905081810360008301526138788161383c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138db602283613160565b91506138e68261387f565b604082019050919050565b6000602082019050818103600083015261390a816138ce565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061396d602583613160565b915061397882613911565b604082019050919050565b6000602082019050818103600083015261399c81613960565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139ff602383613160565b9150613a0a826139a3565b604082019050919050565b60006020820190508181036000830152613a2e816139f2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a91602683613160565b9150613a9c82613a35565b604082019050919050565b60006020820190508181036000830152613ac081613a84565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613afd601f83613160565b9150613b0882613ac7565b602082019050919050565b60006020820190508181036000830152613b2c81613af0565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b8f602183613160565b9150613b9a82613b33565b604082019050919050565b60006020820190508181036000830152613bbe81613b82565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c21602283613160565b9150613c2c82613bc5565b604082019050919050565b60006020820190508181036000830152613c5081613c14565b905091905056fea26469706673582212203ddcd6abd5fe94a1ff01dc6f5df6fb341fb13d2e98c9288bdb93cad00882679064736f6c63430008130033

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

0000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a0000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000342554d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342554d0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : newAdmin (address): 0x4E415522920D86fee0fe07d82F9B054a459df36A
Arg [1] : newReceiver (address): 0x4E415522920D86fee0fe07d82F9B054a459df36A
Arg [2] : name (string): BUM
Arg [3] : symbol (string): BUM

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a
Arg [1] : 0000000000000000000000004e415522920d86fee0fe07d82f9b054a459df36a
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 42554d0000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 42554d0000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

80:5912:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4154:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3397:238:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;314:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;199:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3145:106:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5210:293:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4787:414:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;393:25:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2994:91:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;535:42:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:212:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5767:139:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4143:224;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5912:78;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4924:280;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;285:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;341:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1966:230;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3309:125:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2202:251:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2459:338;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;456:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;230:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5509:252;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2268:102:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2803:337:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6295:371:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3899:238:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3637:172:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3146:245:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;167:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4373:266;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;368:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;258:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3867:149:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3641:252:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;490:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;138:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;112:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;424:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1747:213;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4645:273;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2057:98:1;2111:13;2143:5;2136:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:98;:::o;4154:166::-;4237:4;4253:39;4262:12;:10;:12::i;:::-;4276:7;4285:6;4253:8;:39::i;:::-;4309:4;4302:11;;4154:166;;;;:::o;3397:238:4:-;3476:5;;;;;;;;;;;3462:19;;:10;:19;;;3454:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3539:1;3518:23;;:9;:23;;;3510:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3586:9;3577:6;;:18;;;;;;;;;;;;;;;;;;3621:6;;;;;;;;;;;3611:17;;;;;;;;;;;;3397:238;:::o;314:21::-;;;;;;;;;;;;;:::o;199:25::-;;;;;;;;;;;;;:::o;3145:106:1:-;3206:7;3232:12;;3225:19;;3145:106;:::o;5210:293:4:-;5289:5;;;;;;;;;;;5275:19;;:10;:19;;;5267:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5352:1;5331:23;;:9;:23;;;5323:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;5391:17;5401:6;;;;;;;;;;;5391:9;:17::i;:::-;5427:9;5418:6;;:18;;;;;;;;;;;;;;;;;;5446:17;5456:6;;;;;;;;;;;5446:9;:17::i;:::-;5489:6;;;;;;;;;;;5479:17;;;;;;;;;;;;5210:293;:::o;4787:414:1:-;4893:4;4909:36;4919:6;4927:9;4938:6;4909:9;:36::i;:::-;4956:24;4983:11;:19;4995:6;4983:19;;;;;;;;;;;;;;;:33;5003:12;:10;:12::i;:::-;4983:33;;;;;;;;;;;;;;;;4956:60;;5054:6;5034:16;:26;;5026:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5115:57;5124:6;5132:12;:10;:12::i;:::-;5165:6;5146:16;:25;;;;:::i;:::-;5115:8;:57::i;:::-;5190:4;5183:11;;;4787:414;;;;;:::o;393:25:4:-;;;;;;;;;;;;;:::o;2994:91:1:-;3052:5;3076:2;3069:9;;2994:91;:::o;535:42:4:-;;;;;;;;;;;;;;;;;;;;;;:::o;5596:212:1:-;5684:4;5700:80;5709:12;:10;:12::i;:::-;5723:7;5769:10;5732:11;:25;5744:12;:10;:12::i;:::-;5732:25;;;;;;;;;;;;;;;:34;5758:7;5732:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5700:8;:80::i;:::-;5797:4;5790:11;;5596:212;;;;:::o;5767:139:4:-;5833:7;:19;5841:10;5833:19;;;;;;;;;;;;;;;;;;;;;;;;;5825:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5882:17;5888:2;5892:6;5882:5;:17::i;:::-;5767:139;;:::o;4143:224::-;4218:5;;;;;;;;;;;4204:19;;:10;:19;;;4196:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4279:1;4260:21;;:7;:21;;;4252:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;4324:7;4317:4;;:14;;;;;;;;;;;;;;;;;;4355:4;;;;;;;;;;;4347:13;;;;;;;;;;;;4143:224;:::o;5912:78::-;5958:25;5964:10;5976:6;5958:5;:25::i;:::-;5912:78;:::o;4924:280::-;5015:5;;;;;;;;;;;5001:19;;:10;:19;;;4993:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5084:1;5057:29;;:15;:29;;;5049:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;5137:15;5122:12;;:30;;;;;;;;;;;;;;;;;;5184:12;;;;;;;;;;;5168:29;;;;;;;;;;;;4924:280;:::o;285:23::-;;;;;;;;;;;;;:::o;341:21::-;;;;;;;;;;;;;:::o;1966:230::-;2043:5;;;;;;;;;;;2029:19;;:10;:19;;;2021:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2105:1;2085:22;;:8;:22;;;2077:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2151:8;2143:5;;:16;;;;;;;;;;;;;;;;;;2183:5;;;;;;;;;;;2174:15;;;;;;;;;;;;1966:230;:::o;3309:125:1:-;3383:7;3409:9;:18;3419:7;3409:18;;;;;;;;;;;;;;;;3402:25;;3309:125;;;:::o;2202:251:4:-;2285:5;;;;;;;;;;;2271:19;;:10;:19;;;2263:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2350:1;2327:25;;:11;:25;;;2319:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2399:11;2388:8;;:22;;;;;;;;;;;;;;;;;;2437:8;;;;;;;;;;;2425:21;;;;;;;;;;;;2202:251;:::o;2459:338::-;2548:5;;;;;;;;;;;2534:19;;:10;:19;;;2526:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2616:1;2590:28;;:14;:28;;;2582:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;2655:22;2665:11;;;;;;;;;;;2655:9;:22::i;:::-;2701:14;2687:11;;:28;;;;;;;;;;;;;;;;;;2725:22;2735:11;;;;;;;;;;;2725:9;:22::i;:::-;2778:11;;;;;;;;;;;2763:27;;;;;;;;;;;;2459:338;:::o;456:27::-;;;;;;;;;;;;;:::o;230:22::-;;;;;;;;;;;;;:::o;5509:252::-;5594:5;;;;;;;;;;;5580:19;;:10;:19;;;5572:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5658:10;:25;5669:13;5658:25;;;;;;;;;;;;;;;;;;;;;;;;;5657:26;5629:10;:25;5640:13;5629:25;;;;;;;;;;;;;;;;:54;;;;;;;;;;;;;;;;;;5713:13;5699:55;;;5728:10;:25;5739:13;5728:25;;;;;;;;;;;;;;;;;;;;;;;;;5699:55;;;;;;:::i;:::-;;;;;;;;5509:252;:::o;2268:102:1:-;2324:13;2356:7;2349:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2268:102;:::o;2803:337:4:-;2890:5;;;;;;;;;;;2876:19;;:10;:19;;;2868:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2957:1;2932:27;;:13;:27;;;2924:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2996:25;3010:10;;;;;;;;;;;2996:13;:25::i;:::-;3044:13;3031:10;;:26;;;;;;;;;;;;;;;;;;3067:25;3081:10;;;;;;;;;;;3067:13;:25::i;:::-;3122:10;;;;;;;;;;;3108:25;;;;;;;;;;;;2803:337;:::o;6295:371:1:-;6388:4;6404:24;6431:11;:25;6443:12;:10;:12::i;:::-;6431:25;;;;;;;;;;;;;;;:34;6457:7;6431:34;;;;;;;;;;;;;;;;6404:61;;6503:15;6483:16;:35;;6475:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6570:67;6579:12;:10;:12::i;:::-;6593:7;6621:15;6602:16;:34;;;;:::i;:::-;6570:8;:67::i;:::-;6655:4;6648:11;;;6295:371;;;;:::o;3899:238:4:-;3978:5;;;;;;;;;;;3964:19;;:10;:19;;;3956:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4041:1;4020:23;;:9;:23;;;4012:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;4088:9;4079:6;;:18;;;;;;;;;;;;;;;;;;4123:6;;;;;;;;;;;4113:17;;;;;;;;;;;;3899:238;:::o;3637:172:1:-;3723:4;3739:42;3749:12;:10;:12::i;:::-;3763:9;3774:6;3739:9;:42::i;:::-;3798:4;3791:11;;3637:172;;;;:::o;3146:245:4:-;3227:5;;;;;;;;;;;3213:19;;:10;:19;;;3205:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3291:1;3269:24;;:10;:24;;;3261:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3339:10;3329:7;;:20;;;;;;;;;;;;;;;;;;3376:7;;;;;;;;;;;3365:19;;;;;;;;;;;;3146:245;:::o;167:26::-;;;;;;;;;;;;;:::o;4373:266::-;4460:5;;;;;;;;;;;4446:19;;:10;:19;;;4438:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4527:1;4502:27;;:13;:27;;;4494:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;4578:13;4565:10;;:26;;;;;;;;;;;;;;;;;;4621:10;;;;;;;;;;;4607:25;;;;;;;;;;;;4373:266;:::o;368:19::-;;;;;;;;;;;;;:::o;258:21::-;;;;;;;;;;;;;:::o;3867:149:1:-;3956:7;3982:11;:18;3994:5;3982:18;;;;;;;;;;;;;;;:27;4001:7;3982:27;;;;;;;;;;;;;;;;3975:34;;3867:149;;;;:::o;3641:252:4:-;3724:5;;;;;;;;;;;3710:19;;:10;:19;;;3702:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3789:1;3766:25;;:11;:25;;;3758:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3838:11;3827:8;;:22;;;;;;;;;;;;;;;;;;3877:8;;;;;;;;;;;3865:21;;;;;;;;;;;;3641:252;:::o;490:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;138:23::-;;;;;;;;;;;;;:::o;112:20::-;;;;;;;;;;;;;:::o;424:26::-;;;;;;;;;;;;;:::o;1747:213::-;1824:5;;;;;;;;;;;1810:19;;:10;:19;;;1802:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1880:7;:18;1888:9;1880:18;;;;;;;;;;;;;;;;;;;;;;;;;1879:19;1858:7;:18;1866:9;1858:18;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1923:9;1913:40;;;1934:7;:18;1942:9;1934:18;;;;;;;;;;;;;;;;;;;;;;;;;1913:40;;;;;;:::i;:::-;;;;;;;;1747:213;:::o;4645:273::-;4734:5;;;;;;;;;;;4720:19;;:10;:19;;;4712:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4802:1;4776:28;;:14;:28;;;4768:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;4854:14;4840:11;;:28;;;;;;;;;;;;;;;;;;4899:11;;;;;;;;;;;4884:27;;;;;;;;;;;;4645:273;:::o;586:96:0:-;639:7;665:10;658:17;;586:96;:::o;9564:340:1:-;9682:1;9665:19;;:5;:19;;;9657:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9762:1;9743:21;;:7;:21;;;9735:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9844:6;9814:11;:18;9826:5;9814:18;;;;;;;;;;;;;;;:27;9833:7;9814:27;;;;;;;;;;;;;;;:36;;;;9881:7;9865:32;;9874:5;9865:32;;;9890:6;9865:32;;;;;;:::i;:::-;;;;;;;;9564:340;;;:::o;7140:592::-;7263:1;7245:20;;:6;:20;;;7237:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7346:1;7325:23;;:9;:23;;;7317:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7399:47;7420:6;7428:9;7439:6;7399:20;:47::i;:::-;7457:21;7481:9;:17;7491:6;7481:17;;;;;;;;;;;;;;;;7457:41;;7533:6;7516:13;:23;;7508:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7628:6;7612:13;:22;;;;:::i;:::-;7592:9;:17;7602:6;7592:17;;;;;;;;;;;;;;;:42;;;;7668:6;7644:9;:20;7654:9;7644:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7707:9;7690:35;;7699:6;7690:35;;;7718:6;7690:35;;;;;;:::i;:::-;;;;;;;;7227:505;7140:592;;;:::o;8008:330::-;8110:1;8091:21;;:7;:21;;;8083:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8159:49;8188:1;8192:7;8201:6;8159:20;:49::i;:::-;8235:6;8219:12;;:22;;;;;;;:::i;:::-;;;;;;;;8273:6;8251:9;:18;8261:7;8251:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8315:7;8294:37;;8311:1;8294:37;;;8324:6;8294:37;;;;;;:::i;:::-;;;;;;;;8008:330;;:::o;8658:483::-;8760:1;8741:21;;:7;:21;;;8733:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8811:49;8832:7;8849:1;8853:6;8811:20;:49::i;:::-;8871:22;8896:9;:18;8906:7;8896:18;;;;;;;;;;;;;;;;8871:43;;8950:6;8932:14;:24;;8924:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9043:6;9026:14;:23;;;;:::i;:::-;9005:9;:18;9015:7;9005:18;;;;;;;;;;;;;;;:44;;;;9075:6;9059:12;;:22;;;;;;;:::i;:::-;;;;;;;;9123:1;9097:37;;9106:7;9097:37;;;9127:6;9097:37;;;;;;:::i;:::-;;;;;;;;8723:418;8658:483;;:::o;10491:92::-;;;;:::o;7:99:5:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4133:118;;:::o;4257:222::-;4350:4;4388:2;4377:9;4373:18;4365:26;;4401:71;4469:1;4458:9;4454:17;4445:6;4401:71;:::i;:::-;4257:222;;;;:::o;4485:619::-;4562:6;4570;4578;4627:2;4615:9;4606:7;4602:23;4598:32;4595:119;;;4633:79;;:::i;:::-;4595:119;4753:1;4778:53;4823:7;4814:6;4803:9;4799:22;4778:53;:::i;:::-;4768:63;;4724:117;4880:2;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4851:118;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;4485:619;;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:164::-;7007:16;7003:1;6995:6;6991:14;6984:40;6867:164;:::o;7037:366::-;7179:3;7200:67;7264:2;7259:3;7200:67;:::i;:::-;7193:74;;7276:93;7365:3;7276:93;:::i;:::-;7394:2;7389:3;7385:12;7378:19;;7037:366;;;:::o;7409:419::-;7575:4;7613:2;7602:9;7598:18;7590:26;;7662:9;7656:4;7652:20;7648:1;7637:9;7633:17;7626:47;7690:131;7816:4;7690:131;:::i;:::-;7682:139;;7409:419;;;:::o;7834:171::-;7974:23;7970:1;7962:6;7958:14;7951:47;7834:171;:::o;8011:366::-;8153:3;8174:67;8238:2;8233:3;8174:67;:::i;:::-;8167:74;;8250:93;8339:3;8250:93;:::i;:::-;8368:2;8363:3;8359:12;8352:19;;8011:366;;;:::o;8383:419::-;8549:4;8587:2;8576:9;8572:18;8564:26;;8636:9;8630:4;8626:20;8622:1;8611:9;8607:17;8600:47;8664:131;8790:4;8664:131;:::i;:::-;8656:139;;8383:419;;;:::o;8808:227::-;8948:34;8944:1;8936:6;8932:14;8925:58;9017:10;9012:2;9004:6;9000:15;8993:35;8808:227;:::o;9041:366::-;9183:3;9204:67;9268:2;9263:3;9204:67;:::i;:::-;9197:74;;9280:93;9369:3;9280:93;:::i;:::-;9398:2;9393:3;9389:12;9382:19;;9041:366;;;:::o;9413:419::-;9579:4;9617:2;9606:9;9602:18;9594:26;;9666:9;9660:4;9656:20;9652:1;9641:9;9637:17;9630:47;9694:131;9820:4;9694:131;:::i;:::-;9686:139;;9413:419;;;:::o;9838:180::-;9886:77;9883:1;9876:88;9983:4;9980:1;9973:15;10007:4;10004:1;9997:15;10024:194;10064:4;10084:20;10102:1;10084:20;:::i;:::-;10079:25;;10118:20;10136:1;10118:20;:::i;:::-;10113:25;;10162:1;10159;10155:9;10147:17;;10186:1;10180:4;10177:11;10174:37;;;10191:18;;:::i;:::-;10174:37;10024:194;;;;:::o;10224:191::-;10264:3;10283:20;10301:1;10283:20;:::i;:::-;10278:25;;10317:20;10335:1;10317:20;:::i;:::-;10312:25;;10360:1;10357;10353:9;10346:16;;10381:3;10378:1;10375:10;10372:36;;;10388:18;;:::i;:::-;10372:36;10224:191;;;;:::o;10421:165::-;10561:17;10557:1;10549:6;10545:14;10538:41;10421:165;:::o;10592:366::-;10734:3;10755:67;10819:2;10814:3;10755:67;:::i;:::-;10748:74;;10831:93;10920:3;10831:93;:::i;:::-;10949:2;10944:3;10940:12;10933:19;;10592:366;;;:::o;10964:419::-;11130:4;11168:2;11157:9;11153:18;11145:26;;11217:9;11211:4;11207:20;11203:1;11192:9;11188:17;11181:47;11245:131;11371:4;11245:131;:::i;:::-;11237:139;;10964:419;;;:::o;11389:224::-;11529:34;11525:1;11517:6;11513:14;11506:58;11598:7;11593:2;11585:6;11581:15;11574:32;11389:224;:::o;11619:366::-;11761:3;11782:67;11846:2;11841:3;11782:67;:::i;:::-;11775:74;;11858:93;11947:3;11858:93;:::i;:::-;11976:2;11971:3;11967:12;11960:19;;11619:366;;;:::o;11991:419::-;12157:4;12195:2;12184:9;12180:18;12172:26;;12244:9;12238:4;12234:20;12230:1;12219:9;12215:17;12208:47;12272:131;12398:4;12272:131;:::i;:::-;12264:139;;11991:419;;;:::o;12416:223::-;12556:34;12552:1;12544:6;12540:14;12533:58;12625:6;12620:2;12612:6;12608:15;12601:31;12416:223;:::o;12645:366::-;12787:3;12808:67;12872:2;12867:3;12808:67;:::i;:::-;12801:74;;12884:93;12973:3;12884:93;:::i;:::-;13002:2;12997:3;12993:12;12986:19;;12645:366;;;:::o;13017:419::-;13183:4;13221:2;13210:9;13206:18;13198:26;;13270:9;13264:4;13260:20;13256:1;13245:9;13241:17;13234:47;13298:131;13424:4;13298:131;:::i;:::-;13290:139;;13017:419;;;:::o;13442:221::-;13582:34;13578:1;13570:6;13566:14;13559:58;13651:4;13646:2;13638:6;13634:15;13627:29;13442:221;:::o;13669:366::-;13811:3;13832:67;13896:2;13891:3;13832:67;:::i;:::-;13825:74;;13908:93;13997:3;13908:93;:::i;:::-;14026:2;14021:3;14017:12;14010:19;;13669:366;;;:::o;14041:419::-;14207:4;14245:2;14234:9;14230:18;14222:26;;14294:9;14288:4;14284:20;14280:1;14269:9;14265:17;14258:47;14322:131;14448:4;14322:131;:::i;:::-;14314:139;;14041:419;;;:::o;14466:224::-;14606:34;14602:1;14594:6;14590:14;14583:58;14675:7;14670:2;14662:6;14658:15;14651:32;14466:224;:::o;14696:366::-;14838:3;14859:67;14923:2;14918:3;14859:67;:::i;:::-;14852:74;;14935:93;15024:3;14935:93;:::i;:::-;15053:2;15048:3;15044:12;15037:19;;14696:366;;;:::o;15068:419::-;15234:4;15272:2;15261:9;15257:18;15249:26;;15321:9;15315:4;15311:20;15307:1;15296:9;15292:17;15285:47;15349:131;15475:4;15349:131;:::i;:::-;15341:139;;15068:419;;;:::o;15493:222::-;15633:34;15629:1;15621:6;15617:14;15610:58;15702:5;15697:2;15689:6;15685:15;15678:30;15493:222;:::o;15721:366::-;15863:3;15884:67;15948:2;15943:3;15884:67;:::i;:::-;15877:74;;15960:93;16049:3;15960:93;:::i;:::-;16078:2;16073:3;16069:12;16062:19;;15721:366;;;:::o;16093:419::-;16259:4;16297:2;16286:9;16282:18;16274:26;;16346:9;16340:4;16336:20;16332:1;16321:9;16317:17;16310:47;16374:131;16500:4;16374:131;:::i;:::-;16366:139;;16093:419;;;:::o;16518:225::-;16658:34;16654:1;16646:6;16642:14;16635:58;16727:8;16722:2;16714:6;16710:15;16703:33;16518:225;:::o;16749:366::-;16891:3;16912:67;16976:2;16971:3;16912:67;:::i;:::-;16905:74;;16988:93;17077:3;16988:93;:::i;:::-;17106:2;17101:3;17097:12;17090:19;;16749:366;;;:::o;17121:419::-;17287:4;17325:2;17314:9;17310:18;17302:26;;17374:9;17368:4;17364:20;17360:1;17349:9;17345:17;17338:47;17402:131;17528:4;17402:131;:::i;:::-;17394:139;;17121:419;;;:::o;17546:181::-;17686:33;17682:1;17674:6;17670:14;17663:57;17546:181;:::o;17733:366::-;17875:3;17896:67;17960:2;17955:3;17896:67;:::i;:::-;17889:74;;17972:93;18061:3;17972:93;:::i;:::-;18090:2;18085:3;18081:12;18074:19;;17733:366;;;:::o;18105:419::-;18271:4;18309:2;18298:9;18294:18;18286:26;;18358:9;18352:4;18348:20;18344:1;18333:9;18329:17;18322:47;18386:131;18512:4;18386:131;:::i;:::-;18378:139;;18105:419;;;:::o;18530:220::-;18670:34;18666:1;18658:6;18654:14;18647:58;18739:3;18734:2;18726:6;18722:15;18715:28;18530:220;:::o;18756:366::-;18898:3;18919:67;18983:2;18978:3;18919:67;:::i;:::-;18912:74;;18995:93;19084:3;18995:93;:::i;:::-;19113:2;19108:3;19104:12;19097:19;;18756:366;;;:::o;19128:419::-;19294:4;19332:2;19321:9;19317:18;19309:26;;19381:9;19375:4;19371:20;19367:1;19356:9;19352:17;19345:47;19409:131;19535:4;19409:131;:::i;:::-;19401:139;;19128:419;;;:::o;19553:221::-;19693:34;19689:1;19681:6;19677:14;19670:58;19762:4;19757:2;19749:6;19745:15;19738:29;19553:221;:::o;19780:366::-;19922:3;19943:67;20007:2;20002:3;19943:67;:::i;:::-;19936:74;;20019:93;20108:3;20019:93;:::i;:::-;20137:2;20132:3;20128:12;20121:19;;19780:366;;;:::o;20152:419::-;20318:4;20356:2;20345:9;20341:18;20333:26;;20405:9;20399:4;20395:20;20391:1;20380:9;20376:17;20369:47;20433:131;20559:4;20433:131;:::i;:::-;20425:139;;20152:419;;;:::o

Swarm Source

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