ETH Price: $3,612.82 (+9.44%)

Token

BIT10 (BIT10)
 

Overview

Max Total Supply

7,000,000,000 BIT10

Holders

427

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,528,387.5 BIT10

Value
$0.00
0x9de6ffdbf9af29b77983b8341458f0d54c5e8dbc
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:
ERC20WithTax

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-27
*/

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

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

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

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;


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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

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

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

    /**
     * @dev 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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;


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

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

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

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol


pragma solidity ^0.8.0;

contract ERC20WithTax is Context, IERC20, IERC20Metadata, Ownable {

    uint256 public constant TOTAL_SUPPLY = 7000000000 ether;
    uint256 public fee = 4;
    address public taxReceiver;
    address[] allPairs;
    mapping(address => bool) public isPairs;

    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}.
     *
     * 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_;
        _mint(msg.sender, TOTAL_SUPPLY);
    }

    /**
     * @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 default value returned by this function, unless
     * it's 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:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);
        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
        }
        if(!isPairs[to]) {
            unchecked {
                _balances[to] += amount;
            }
            emit Transfer(from, to, amount);
            _afterTokenTransfer(from, to, amount);
        } else {
            uint256 taxAmount = amount * fee / 100;
            unchecked {
                _balances[to] += amount - taxAmount;
                _balances[taxReceiver] += taxAmount;
            }            
            emit Transfer(from, to, amount - taxAmount);
            emit Transfer(from, taxReceiver, taxAmount);

        }
    }

    /** @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;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

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

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

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

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

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

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

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

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

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

    /**
     * @dev Destroys a `value` amount of tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 value) public virtual {
        _burn(_msgSender(), value);
    }

    function setTaxReceiver(address _newTaxReceiver) external onlyOwner {
        taxReceiver = _newTaxReceiver;
    }

    function updatePair(address _pair) external onlyOwner {
        isPairs[_pair] = !isPairs[_pair];
        if(isPairs[_pair] && !_indexOfPairs(_pair)) {
            allPairs.push(_pair);
        }
    }

    function getAllPairs() public view returns(address[] memory) {
        return allPairs;
    }
    
    function _indexOfPairs(address addr) internal view returns(bool) {
        uint256 length = allPairs.length;
        for(uint i=0; i < length; i++) {
            if(allPairs[i] == addr) {
                return true;
            }
        }

        return false;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllPairs","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":[{"internalType":"address","name":"","type":"address"}],"name":"isPairs","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTaxReceiver","type":"address"}],"name":"setTaxReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"updatePair","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526004600155348015610014575f80fd5b5060405161295f38038061295f8339818101604052810190610036919061040f565b61005261004761009560201b60201c565b61009c60201b60201c565b81600890816100619190610692565b5080600990816100719190610692565b5061008e336b169e43a85eb381aa5800000061015d60201b60201c565b5050610861565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c2906107bb565b60405180910390fd5b6101dc5f83836102b860201b60201c565b8060075f8282546101ed9190610806565b925050819055508060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161029b9190610848565b60405180910390a36102b45f83836102bd60201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610321826102db565b810181811067ffffffffffffffff821117156103405761033f6102eb565b5b80604052505050565b5f6103526102c2565b905061035e8282610318565b919050565b5f67ffffffffffffffff82111561037d5761037c6102eb565b5b610386826102db565b9050602081019050919050565b8281835e5f83830152505050565b5f6103b36103ae84610363565b610349565b9050828152602081018484840111156103cf576103ce6102d7565b5b6103da848285610393565b509392505050565b5f82601f8301126103f6576103f56102d3565b5b81516104068482602086016103a1565b91505092915050565b5f8060408385031215610425576104246102cb565b5b5f83015167ffffffffffffffff811115610442576104416102cf565b5b61044e858286016103e2565b925050602083015167ffffffffffffffff81111561046f5761046e6102cf565b5b61047b858286016103e2565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104d357607f821691505b6020821081036104e6576104e561048f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261050d565b610552868361050d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61059661059161058c8461056a565b610573565b61056a565b9050919050565b5f819050919050565b6105af8361057c565b6105c36105bb8261059d565b848454610519565b825550505050565b5f90565b6105d76105cb565b6105e28184846105a6565b505050565b5b81811015610605576105fa5f826105cf565b6001810190506105e8565b5050565b601f82111561064a5761061b816104ec565b610624846104fe565b81016020851015610633578190505b61064761063f856104fe565b8301826105e7565b50505b505050565b5f82821c905092915050565b5f61066a5f198460080261064f565b1980831691505092915050565b5f610682838361065b565b9150826002028217905092915050565b61069b82610485565b67ffffffffffffffff8111156106b4576106b36102eb565b5b6106be82546104bc565b6106c9828285610609565b5f60209050601f8311600181146106fa575f84156106e8578287015190505b6106f28582610677565b865550610759565b601f198416610708866104ec565b5f5b8281101561072f5784890151825560018201915060208501945060208101905061070a565b8683101561074c5784890151610748601f89168261065b565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6107a5601f83610761565b91506107b082610771565b602082019050919050565b5f6020820190508181035f8301526107d281610799565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108108261056a565b915061081b8361056a565b9250828201905080821115610833576108326107d9565b5b92915050565b6108428161056a565b82525050565b5f60208201905061085b5f830184610839565b92915050565b6120f18061086e5f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638da5cb5b116100b6578063cd8de42c1161007a578063cd8de42c1461038a578063dd62ed3e146103a6578063ddca3f43146103d6578063e6ef73d6146103f4578063f2fde38b14610412578063f800ece91461042e57610140565b80638da5cb5b146102d0578063902d55a5146102ee57806395d89b411461030c578063a457c2d71461032a578063a9059cbb1461035a57610140565b806323b872dd1161010857806323b872dd146101fc578063313ce5671461022c578063395093511461024a57806342966c681461027a57806370a0823114610296578063715018a6146102c657610140565b806306fdde0314610144578063095ea7b31461016257806318160ddd1461019257806319ebbd5a146101b05780631b56bbf9146101e0575b5f80fd5b61014c61044c565b60405161015991906115d1565b60405180910390f35b61017c60048036038101906101779190611682565b6104dc565b60405161018991906116da565b60405180910390f35b61019a6104fe565b6040516101a79190611702565b60405180910390f35b6101ca60048036038101906101c5919061171b565b610507565b6040516101d791906116da565b60405180910390f35b6101fa60048036038101906101f5919061171b565b610524565b005b61021660048036038101906102119190611746565b61068f565b60405161022391906116da565b60405180910390f35b6102346106bd565b60405161024191906117b1565b60405180910390f35b610264600480360381019061025f9190611682565b6106c5565b60405161027191906116da565b60405180910390f35b610294600480360381019061028f91906117ca565b6106fb565b005b6102b060048036038101906102ab919061171b565b61070f565b6040516102bd9190611702565b60405180910390f35b6102ce610755565b005b6102d8610768565b6040516102e59190611804565b60405180910390f35b6102f661078f565b6040516103039190611702565b60405180910390f35b61031461079f565b60405161032191906115d1565b60405180910390f35b610344600480360381019061033f9190611682565b61082f565b60405161035191906116da565b60405180910390f35b610374600480360381019061036f9190611682565b6108a4565b60405161038191906116da565b60405180910390f35b6103a4600480360381019061039f919061171b565b6108c6565b005b6103c060048036038101906103bb919061181d565b610911565b6040516103cd9190611702565b60405180910390f35b6103de610993565b6040516103eb9190611702565b60405180910390f35b6103fc610999565b6040516104099190611804565b60405180910390f35b61042c6004803603810190610427919061171b565b6109be565b005b610436610a40565b6040516104439190611912565b60405180910390f35b60606008805461045b9061195f565b80601f01602080910402602001604051908101604052809291908181526020018280546104879061195f565b80156104d25780601f106104a9576101008083540402835291602001916104d2565b820191905f5260205f20905b8154815290600101906020018083116104b557829003601f168201915b5050505050905090565b5f806104e6610acb565b90506104f3818585610ad2565b600191505092915050565b5f600754905090565b6004602052805f5260405f205f915054906101000a900460ff1681565b61052c610c95565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015610626575061062481610d13565b155b1561068c57600381908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b5f80610699610acb565b90506106a6858285610db8565b6106b1858585610e43565b60019150509392505050565b5f6012905090565b5f806106cf610acb565b90506106f08185856106e18589610911565b6106eb91906119bc565b610ad2565b600191505092915050565b61070c610706610acb565b826112d1565b50565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075d610c95565b6107665f611496565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6b169e43a85eb381aa5800000081565b6060600980546107ae9061195f565b80601f01602080910402602001604051908101604052809291908181526020018280546107da9061195f565b80156108255780601f106107fc57610100808354040283529160200191610825565b820191905f5260205f20905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b5f80610839610acb565b90505f6108468286610911565b90508381101561088b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088290611a5f565b60405180910390fd5b6108988286868403610ad2565b60019250505092915050565b5f806108ae610acb565b90506108bb818585610e43565b600191505092915050565b6108ce610c95565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60015481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109c6610c95565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90611aed565b60405180910390fd5b610a3d81611496565b50565b60606003805480602002602001604051908101604052809291908181526020018280548015610ac157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a78575b5050505050905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790611b7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba590611c09565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c889190611702565b60405180910390a3505050565b610c9d610acb565b73ffffffffffffffffffffffffffffffffffffffff16610cbb610768565b73ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611c71565b60405180910390fd5b565b5f8060038054905090505f5b81811015610dad578373ffffffffffffffffffffffffffffffffffffffff1660038281548110610d5257610d51611c8f565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610da057600192505050610db3565b8080600101915050610d1f565b505f9150505b919050565b5f610dc38484610911565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e3d5781811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690611d06565b60405180910390fd5b610e3c8484848403610ad2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea890611d94565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690611e22565b60405180910390fd5b610f2a838383611557565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa590611eb0565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166110ff578160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110e79190611702565b60405180910390a36110fa84848461155c565b6112cb565b5f6064600154846111109190611ece565b61111a9190611f3c565b905080830360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060055f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838661122e9190611f6c565b60405161123b9190611702565b60405180910390a360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112c19190611702565b60405180910390a3505b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113369061200f565b60405180910390fd5b61134a825f83611557565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c59061209d565b60405180910390fd5b81810360055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160075f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147e9190611702565b60405180910390a3611491835f8461155c565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6115a382611561565b6115ad818561156b565b93506115bd81856020860161157b565b6115c681611589565b840191505092915050565b5f6020820190508181035f8301526115e98184611599565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61161e826115f5565b9050919050565b61162e81611614565b8114611638575f80fd5b50565b5f8135905061164981611625565b92915050565b5f819050919050565b6116618161164f565b811461166b575f80fd5b50565b5f8135905061167c81611658565b92915050565b5f8060408385031215611698576116976115f1565b5b5f6116a58582860161163b565b92505060206116b68582860161166e565b9150509250929050565b5f8115159050919050565b6116d4816116c0565b82525050565b5f6020820190506116ed5f8301846116cb565b92915050565b6116fc8161164f565b82525050565b5f6020820190506117155f8301846116f3565b92915050565b5f602082840312156117305761172f6115f1565b5b5f61173d8482850161163b565b91505092915050565b5f805f6060848603121561175d5761175c6115f1565b5b5f61176a8682870161163b565b935050602061177b8682870161163b565b925050604061178c8682870161166e565b9150509250925092565b5f60ff82169050919050565b6117ab81611796565b82525050565b5f6020820190506117c45f8301846117a2565b92915050565b5f602082840312156117df576117de6115f1565b5b5f6117ec8482850161166e565b91505092915050565b6117fe81611614565b82525050565b5f6020820190506118175f8301846117f5565b92915050565b5f8060408385031215611833576118326115f1565b5b5f6118408582860161163b565b92505060206118518582860161163b565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61188d81611614565b82525050565b5f61189e8383611884565b60208301905092915050565b5f602082019050919050565b5f6118c08261185b565b6118ca8185611865565b93506118d583611875565b805f5b838110156119055781516118ec8882611893565b97506118f7836118aa565b9250506001810190506118d8565b5085935050505092915050565b5f6020820190508181035f83015261192a81846118b6565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061197657607f821691505b60208210810361198957611988611932565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6119c68261164f565b91506119d18361164f565b92508282019050808211156119e9576119e861198f565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611a4960258361156b565b9150611a54826119ef565b604082019050919050565b5f6020820190508181035f830152611a7681611a3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611ad760268361156b565b9150611ae282611a7d565b604082019050919050565b5f6020820190508181035f830152611b0481611acb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611b6560248361156b565b9150611b7082611b0b565b604082019050919050565b5f6020820190508181035f830152611b9281611b59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611bf360228361156b565b9150611bfe82611b99565b604082019050919050565b5f6020820190508181035f830152611c2081611be7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611c5b60208361156b565b9150611c6682611c27565b602082019050919050565b5f6020820190508181035f830152611c8881611c4f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611cf0601d8361156b565b9150611cfb82611cbc565b602082019050919050565b5f6020820190508181035f830152611d1d81611ce4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611d7e60258361156b565b9150611d8982611d24565b604082019050919050565b5f6020820190508181035f830152611dab81611d72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611e0c60238361156b565b9150611e1782611db2565b604082019050919050565b5f6020820190508181035f830152611e3981611e00565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e9a60268361156b565b9150611ea582611e40565b604082019050919050565b5f6020820190508181035f830152611ec781611e8e565b9050919050565b5f611ed88261164f565b9150611ee38361164f565b9250828202611ef18161164f565b91508282048414831517611f0857611f0761198f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f468261164f565b9150611f518361164f565b925082611f6157611f60611f0f565b5b828204905092915050565b5f611f768261164f565b9150611f818361164f565b9250828203905081811115611f9957611f9861198f565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611ff960218361156b565b915061200482611f9f565b604082019050919050565b5f6020820190508181035f83015261202681611fed565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61208760228361156b565b91506120928261202d565b604082019050919050565b5f6020820190508181035f8301526120b48161207b565b905091905056fea2646970667358221220ef617481e81046d21b61955f2b4c127d91befd7d76b6c246cc9b3f384e6392c864736f6c63430008190033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000005424954313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054249543130000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638da5cb5b116100b6578063cd8de42c1161007a578063cd8de42c1461038a578063dd62ed3e146103a6578063ddca3f43146103d6578063e6ef73d6146103f4578063f2fde38b14610412578063f800ece91461042e57610140565b80638da5cb5b146102d0578063902d55a5146102ee57806395d89b411461030c578063a457c2d71461032a578063a9059cbb1461035a57610140565b806323b872dd1161010857806323b872dd146101fc578063313ce5671461022c578063395093511461024a57806342966c681461027a57806370a0823114610296578063715018a6146102c657610140565b806306fdde0314610144578063095ea7b31461016257806318160ddd1461019257806319ebbd5a146101b05780631b56bbf9146101e0575b5f80fd5b61014c61044c565b60405161015991906115d1565b60405180910390f35b61017c60048036038101906101779190611682565b6104dc565b60405161018991906116da565b60405180910390f35b61019a6104fe565b6040516101a79190611702565b60405180910390f35b6101ca60048036038101906101c5919061171b565b610507565b6040516101d791906116da565b60405180910390f35b6101fa60048036038101906101f5919061171b565b610524565b005b61021660048036038101906102119190611746565b61068f565b60405161022391906116da565b60405180910390f35b6102346106bd565b60405161024191906117b1565b60405180910390f35b610264600480360381019061025f9190611682565b6106c5565b60405161027191906116da565b60405180910390f35b610294600480360381019061028f91906117ca565b6106fb565b005b6102b060048036038101906102ab919061171b565b61070f565b6040516102bd9190611702565b60405180910390f35b6102ce610755565b005b6102d8610768565b6040516102e59190611804565b60405180910390f35b6102f661078f565b6040516103039190611702565b60405180910390f35b61031461079f565b60405161032191906115d1565b60405180910390f35b610344600480360381019061033f9190611682565b61082f565b60405161035191906116da565b60405180910390f35b610374600480360381019061036f9190611682565b6108a4565b60405161038191906116da565b60405180910390f35b6103a4600480360381019061039f919061171b565b6108c6565b005b6103c060048036038101906103bb919061181d565b610911565b6040516103cd9190611702565b60405180910390f35b6103de610993565b6040516103eb9190611702565b60405180910390f35b6103fc610999565b6040516104099190611804565b60405180910390f35b61042c6004803603810190610427919061171b565b6109be565b005b610436610a40565b6040516104439190611912565b60405180910390f35b60606008805461045b9061195f565b80601f01602080910402602001604051908101604052809291908181526020018280546104879061195f565b80156104d25780601f106104a9576101008083540402835291602001916104d2565b820191905f5260205f20905b8154815290600101906020018083116104b557829003601f168201915b5050505050905090565b5f806104e6610acb565b90506104f3818585610ad2565b600191505092915050565b5f600754905090565b6004602052805f5260405f205f915054906101000a900460ff1681565b61052c610c95565b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015610626575061062481610d13565b155b1561068c57600381908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b5f80610699610acb565b90506106a6858285610db8565b6106b1858585610e43565b60019150509392505050565b5f6012905090565b5f806106cf610acb565b90506106f08185856106e18589610911565b6106eb91906119bc565b610ad2565b600191505092915050565b61070c610706610acb565b826112d1565b50565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075d610c95565b6107665f611496565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6b169e43a85eb381aa5800000081565b6060600980546107ae9061195f565b80601f01602080910402602001604051908101604052809291908181526020018280546107da9061195f565b80156108255780601f106107fc57610100808354040283529160200191610825565b820191905f5260205f20905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b5f80610839610acb565b90505f6108468286610911565b90508381101561088b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088290611a5f565b60405180910390fd5b6108988286868403610ad2565b60019250505092915050565b5f806108ae610acb565b90506108bb818585610e43565b600191505092915050565b6108ce610c95565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60015481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109c6610c95565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90611aed565b60405180910390fd5b610a3d81611496565b50565b60606003805480602002602001604051908101604052809291908181526020018280548015610ac157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610a78575b5050505050905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790611b7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba590611c09565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c889190611702565b60405180910390a3505050565b610c9d610acb565b73ffffffffffffffffffffffffffffffffffffffff16610cbb610768565b73ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611c71565b60405180910390fd5b565b5f8060038054905090505f5b81811015610dad578373ffffffffffffffffffffffffffffffffffffffff1660038281548110610d5257610d51611c8f565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610da057600192505050610db3565b8080600101915050610d1f565b505f9150505b919050565b5f610dc38484610911565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e3d5781811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690611d06565b60405180910390fd5b610e3c8484848403610ad2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea890611d94565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690611e22565b60405180910390fd5b610f2a838383611557565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa590611eb0565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166110ff578160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110e79190611702565b60405180910390a36110fa84848461155c565b6112cb565b5f6064600154846111109190611ece565b61111a9190611f3c565b905080830360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060055f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838661122e9190611f6c565b60405161123b9190611702565b60405180910390a360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112c19190611702565b60405180910390a3505b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113369061200f565b60405180910390fd5b61134a825f83611557565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c59061209d565b60405180910390fd5b81810360055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160075f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147e9190611702565b60405180910390a3611491835f8461155c565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6115a382611561565b6115ad818561156b565b93506115bd81856020860161157b565b6115c681611589565b840191505092915050565b5f6020820190508181035f8301526115e98184611599565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61161e826115f5565b9050919050565b61162e81611614565b8114611638575f80fd5b50565b5f8135905061164981611625565b92915050565b5f819050919050565b6116618161164f565b811461166b575f80fd5b50565b5f8135905061167c81611658565b92915050565b5f8060408385031215611698576116976115f1565b5b5f6116a58582860161163b565b92505060206116b68582860161166e565b9150509250929050565b5f8115159050919050565b6116d4816116c0565b82525050565b5f6020820190506116ed5f8301846116cb565b92915050565b6116fc8161164f565b82525050565b5f6020820190506117155f8301846116f3565b92915050565b5f602082840312156117305761172f6115f1565b5b5f61173d8482850161163b565b91505092915050565b5f805f6060848603121561175d5761175c6115f1565b5b5f61176a8682870161163b565b935050602061177b8682870161163b565b925050604061178c8682870161166e565b9150509250925092565b5f60ff82169050919050565b6117ab81611796565b82525050565b5f6020820190506117c45f8301846117a2565b92915050565b5f602082840312156117df576117de6115f1565b5b5f6117ec8482850161166e565b91505092915050565b6117fe81611614565b82525050565b5f6020820190506118175f8301846117f5565b92915050565b5f8060408385031215611833576118326115f1565b5b5f6118408582860161163b565b92505060206118518582860161163b565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61188d81611614565b82525050565b5f61189e8383611884565b60208301905092915050565b5f602082019050919050565b5f6118c08261185b565b6118ca8185611865565b93506118d583611875565b805f5b838110156119055781516118ec8882611893565b97506118f7836118aa565b9250506001810190506118d8565b5085935050505092915050565b5f6020820190508181035f83015261192a81846118b6565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061197657607f821691505b60208210810361198957611988611932565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6119c68261164f565b91506119d18361164f565b92508282019050808211156119e9576119e861198f565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611a4960258361156b565b9150611a54826119ef565b604082019050919050565b5f6020820190508181035f830152611a7681611a3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611ad760268361156b565b9150611ae282611a7d565b604082019050919050565b5f6020820190508181035f830152611b0481611acb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611b6560248361156b565b9150611b7082611b0b565b604082019050919050565b5f6020820190508181035f830152611b9281611b59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611bf360228361156b565b9150611bfe82611b99565b604082019050919050565b5f6020820190508181035f830152611c2081611be7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611c5b60208361156b565b9150611c6682611c27565b602082019050919050565b5f6020820190508181035f830152611c8881611c4f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611cf0601d8361156b565b9150611cfb82611cbc565b602082019050919050565b5f6020820190508181035f830152611d1d81611ce4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611d7e60258361156b565b9150611d8982611d24565b604082019050919050565b5f6020820190508181035f830152611dab81611d72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611e0c60238361156b565b9150611e1782611db2565b604082019050919050565b5f6020820190508181035f830152611e3981611e00565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e9a60268361156b565b9150611ea582611e40565b604082019050919050565b5f6020820190508181035f830152611ec781611e8e565b9050919050565b5f611ed88261164f565b9150611ee38361164f565b9250828202611ef18161164f565b91508282048414831517611f0857611f0761198f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f468261164f565b9150611f518361164f565b925082611f6157611f60611f0f565b5b828204905092915050565b5f611f768261164f565b9150611f818361164f565b9250828203905081811115611f9957611f9861198f565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611ff960218361156b565b915061200482611f9f565b604082019050919050565b5f6020820190508181035f83015261202681611fed565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61208760228361156b565b91506120928261202d565b604082019050919050565b5f6020820190508181035f8301526120b48161207b565b905091905056fea2646970667358221220ef617481e81046d21b61955f2b4c127d91befd7d76b6c246cc9b3f384e6392c864736f6c63430008190033

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000005424954313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054249543130000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): BIT10
Arg [1] : symbol_ (string): BIT10

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [3] : 4249543130000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 4249543130000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

7253:13279:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8160:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10520:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9289:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7477:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19928:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11301:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9131:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11971:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19707:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9460:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2769:103;;;:::i;:::-;;2128:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7328:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8379:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12712:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9793:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19804:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10049:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7390:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7419:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3027:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20142:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8160:100;8214:13;8247:5;8240:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8160:100;:::o;10520:201::-;10603:4;10620:13;10636:12;:10;:12::i;:::-;10620:28;;10659:32;10668:5;10675:7;10684:6;10659:8;:32::i;:::-;10709:4;10702:11;;;10520:201;;;;:::o;9289:108::-;9350:7;9377:12;;9370:19;;9289:108;:::o;7477:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;19928:206::-;2014:13;:11;:13::i;:::-;20011:7:::1;:14;20019:5;20011:14;;;;;;;;;;;;;;;;;;;;;;;;;20010:15;19993:7;:14;20001:5;19993:14;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;20039:7;:14;20047:5;20039:14;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;;;20058:20;20072:5;20058:13;:20::i;:::-;20057:21;20039:39;20036:91;;;20095:8;20109:5;20095:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20036:91;19928:206:::0;:::o;11301:261::-;11398:4;11415:15;11433:12;:10;:12::i;:::-;11415:30;;11456:38;11472:4;11478:7;11487:6;11456:15;:38::i;:::-;11505:27;11515:4;11521:2;11525:6;11505:9;:27::i;:::-;11550:4;11543:11;;;11301:261;;;;;:::o;9131:93::-;9189:5;9214:2;9207:9;;9131:93;:::o;11971:238::-;12059:4;12076:13;12092:12;:10;:12::i;:::-;12076:28;;12115:64;12124:5;12131:7;12168:10;12140:25;12150:5;12157:7;12140:9;:25::i;:::-;:38;;;;:::i;:::-;12115:8;:64::i;:::-;12197:4;12190:11;;;11971:238;;;;:::o;19707:89::-;19762:26;19768:12;:10;:12::i;:::-;19782:5;19762;:26::i;:::-;19707:89;:::o;9460:127::-;9534:7;9561:9;:18;9571:7;9561:18;;;;;;;;;;;;;;;;9554:25;;9460:127;;;:::o;2769:103::-;2014:13;:11;:13::i;:::-;2834:30:::1;2861:1;2834:18;:30::i;:::-;2769:103::o:0;2128:87::-;2174:7;2201:6;;;;;;;;;;;2194:13;;2128:87;:::o;7328:55::-;7367:16;7328:55;:::o;8379:104::-;8435:13;8468:7;8461:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8379:104;:::o;12712:436::-;12805:4;12822:13;12838:12;:10;:12::i;:::-;12822:28;;12861:24;12888:25;12898:5;12905:7;12888:9;:25::i;:::-;12861:52;;12952:15;12932:16;:35;;12924:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13045:60;13054:5;13061:7;13089:15;13070:16;:34;13045:8;:60::i;:::-;13136:4;13129:11;;;;12712:436;;;;:::o;9793:193::-;9872:4;9889:13;9905:12;:10;:12::i;:::-;9889:28;;9928;9938:5;9945:2;9949:6;9928:9;:28::i;:::-;9974:4;9967:11;;;9793:193;;;;:::o;19804:116::-;2014:13;:11;:13::i;:::-;19897:15:::1;19883:11;;:29;;;;;;;;;;;;;;;;;;19804:116:::0;:::o;10049:151::-;10138:7;10165:11;:18;10177:5;10165:18;;;;;;;;;;;;;;;:27;10184:7;10165:27;;;;;;;;;;;;;;;;10158:34;;10049:151;;;;:::o;7390:22::-;;;;:::o;7419:26::-;;;;;;;;;;;;;:::o;3027:201::-;2014:13;:11;:13::i;:::-;3136:1:::1;3116:22;;:8;:22;;::::0;3108:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3192:28;3211:8;3192:18;:28::i;:::-;3027:201:::0;:::o;20142:95::-;20185:16;20221:8;20214:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20142:95;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;17139:346::-;17258:1;17241:19;;:5;:19;;;17233:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17339:1;17320:21;;:7;:21;;;17312:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17423:6;17393:11;:18;17405:5;17393:18;;;;;;;;;;;;;;;:27;17412:7;17393:27;;;;;;;;;;;;;;;:36;;;;17461:7;17445:32;;17454:5;17445:32;;;17470:6;17445:32;;;;;;:::i;:::-;;;;;;;;17139:346;;;:::o;2293:132::-;2368:12;:10;:12::i;:::-;2357:23;;:7;:5;:7::i;:::-;:23;;;2349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:132::o;20249:278::-;20308:4;20325:14;20342:8;:15;;;;20325:32;;20372:6;20368:127;20386:6;20382:1;:10;20368:127;;;20432:4;20417:19;;:8;20426:1;20417:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:19;;;20414:70;;20464:4;20457:11;;;;;;20414:70;20394:3;;;;;;;20368:127;;;;20514:5;20507:12;;;20249:278;;;;:::o;17776:419::-;17877:24;17904:25;17914:5;17921:7;17904:9;:25::i;:::-;17877:52;;17964:17;17944:16;:37;17940:248;;18026:6;18006:16;:26;;17998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18110:51;18119:5;18126:7;18154:6;18135:16;:25;18110:8;:51::i;:::-;17940:248;17866:329;17776:419;;;:::o;13618:1240::-;13731:1;13715:18;;:4;:18;;;13707:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13808:1;13794:16;;:2;:16;;;13786:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13863:38;13884:4;13890:2;13894:6;13863:20;:38::i;:::-;13912:19;13934:9;:15;13944:4;13934:15;;;;;;;;;;;;;;;;13912:37;;13983:6;13968:11;:21;;13960:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;14100:6;14086:11;:20;14068:9;:15;14078:4;14068:15;;;;;;;;;;;;;;;:38;;;;14297:7;:11;14305:2;14297:11;;;;;;;;;;;;;;;;;;;;;;;;;14293:558;;14371:6;14354:9;:13;14364:2;14354:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;14427:2;14412:26;;14421:4;14412:26;;;14431:6;14412:26;;;;;;:::i;:::-;;;;;;;;14453:37;14473:4;14479:2;14483:6;14453:19;:37::i;:::-;14293:558;;;14523:17;14558:3;14552;;14543:6;:12;;;;:::i;:::-;:18;;;;:::i;:::-;14523:38;;14631:9;14622:6;:18;14605:9;:13;14615:2;14605:13;;;;;;;;;;;;;;;;:35;;;;;;;;;;;14685:9;14659;:22;14669:11;;;;;;;;;;;14659:22;;;;;;;;;;;;;;;;:35;;;;;;;;;;;14756:2;14741:38;;14750:4;14741:38;;;14769:9;14760:6;:18;;;;:::i;:::-;14741:38;;;;;;:::i;:::-;;;;;;;;14814:11;;;;;;;;;;;14799:38;;14808:4;14799:38;;;14827:9;14799:38;;;;;;:::i;:::-;;;;;;;;14508:343;14293:558;13696:1162;13618:1240;;;:::o;16026:675::-;16129:1;16110:21;;:7;:21;;;16102:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16182:49;16203:7;16220:1;16224:6;16182:20;:49::i;:::-;16244:22;16269:9;:18;16279:7;16269:18;;;;;;;;;;;;;;;;16244:43;;16324:6;16306:14;:24;;16298:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16443:6;16426:14;:23;16405:9;:18;16415:7;16405:18;;;;;;;;;;;;;;;:44;;;;16560:6;16544:12;;:22;;;;;;;;;;;16621:1;16595:37;;16604:7;16595:37;;;16625:6;16595:37;;;;;;:::i;:::-;;;;;;;;16645:48;16665:7;16682:1;16686:6;16645:19;:48::i;:::-;16091:610;16026:675;;:::o;3388:191::-;3462:16;3481:6;;;;;;;;;;;3462:25;;3507:8;3498:6;;:17;;;;;;;;;;;;;;;;;;3562:8;3531:40;;3552:8;3531:40;;;;;;;;;;;;3451:128;3388:191;:::o;18795:91::-;;;;:::o;19490:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:329::-;3750:6;3799:2;3787:9;3778:7;3774:23;3770:32;3767:119;;;3805:79;;:::i;:::-;3767:119;3925:1;3950:53;3995:7;3986:6;3975:9;3971:22;3950:53;:::i;:::-;3940:63;;3896:117;3691:329;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:329::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:114::-;6315:6;6349:5;6343:12;6333:22;;6248:114;;;:::o;6368:184::-;6467:11;6501:6;6496:3;6489:19;6541:4;6536:3;6532:14;6517:29;;6368:184;;;;:::o;6558:132::-;6625:4;6648:3;6640:11;;6678:4;6673:3;6669:14;6661:22;;6558:132;;;:::o;6696:108::-;6773:24;6791:5;6773:24;:::i;:::-;6768:3;6761:37;6696:108;;:::o;6810:179::-;6879:10;6900:46;6942:3;6934:6;6900:46;:::i;:::-;6978:4;6973:3;6969:14;6955:28;;6810:179;;;;:::o;6995:113::-;7065:4;7097;7092:3;7088:14;7080:22;;6995:113;;;:::o;7144:732::-;7263:3;7292:54;7340:5;7292:54;:::i;:::-;7362:86;7441:6;7436:3;7362:86;:::i;:::-;7355:93;;7472:56;7522:5;7472:56;:::i;:::-;7551:7;7582:1;7567:284;7592:6;7589:1;7586:13;7567:284;;;7668:6;7662:13;7695:63;7754:3;7739:13;7695:63;:::i;:::-;7688:70;;7781:60;7834:6;7781:60;:::i;:::-;7771:70;;7627:224;7614:1;7611;7607:9;7602:14;;7567:284;;;7571:14;7867:3;7860:10;;7268:608;;;7144:732;;;;:::o;7882:373::-;8025:4;8063:2;8052:9;8048:18;8040:26;;8112:9;8106:4;8102:20;8098:1;8087:9;8083:17;8076:47;8140:108;8243:4;8234:6;8140:108;:::i;:::-;8132:116;;7882:373;;;;:::o;8261:180::-;8309:77;8306:1;8299:88;8406:4;8403:1;8396:15;8430:4;8427:1;8420:15;8447:320;8491:6;8528:1;8522:4;8518:12;8508:22;;8575:1;8569:4;8565:12;8596:18;8586:81;;8652:4;8644:6;8640:17;8630:27;;8586:81;8714:2;8706:6;8703:14;8683:18;8680:38;8677:84;;8733:18;;:::i;:::-;8677:84;8498:269;8447:320;;;:::o;8773:180::-;8821:77;8818:1;8811:88;8918:4;8915:1;8908:15;8942:4;8939:1;8932:15;8959:191;8999:3;9018:20;9036:1;9018:20;:::i;:::-;9013:25;;9052:20;9070:1;9052:20;:::i;:::-;9047:25;;9095:1;9092;9088:9;9081:16;;9116:3;9113:1;9110:10;9107:36;;;9123:18;;:::i;:::-;9107:36;8959:191;;;;:::o;9156:224::-;9296:34;9292:1;9284:6;9280:14;9273:58;9365:7;9360:2;9352:6;9348:15;9341:32;9156:224;:::o;9386:366::-;9528:3;9549:67;9613:2;9608:3;9549:67;:::i;:::-;9542:74;;9625:93;9714:3;9625:93;:::i;:::-;9743:2;9738:3;9734:12;9727:19;;9386:366;;;:::o;9758:419::-;9924:4;9962:2;9951:9;9947:18;9939:26;;10011:9;10005:4;10001:20;9997:1;9986:9;9982:17;9975:47;10039:131;10165:4;10039:131;:::i;:::-;10031:139;;9758:419;;;:::o;10183:225::-;10323:34;10319:1;10311:6;10307:14;10300:58;10392:8;10387:2;10379:6;10375:15;10368:33;10183:225;:::o;10414:366::-;10556:3;10577:67;10641:2;10636:3;10577:67;:::i;:::-;10570:74;;10653:93;10742:3;10653:93;:::i;:::-;10771:2;10766:3;10762:12;10755:19;;10414:366;;;:::o;10786:419::-;10952:4;10990:2;10979:9;10975:18;10967:26;;11039:9;11033:4;11029:20;11025:1;11014:9;11010:17;11003:47;11067:131;11193:4;11067:131;:::i;:::-;11059:139;;10786:419;;;:::o;11211:223::-;11351:34;11347:1;11339:6;11335:14;11328:58;11420:6;11415:2;11407:6;11403:15;11396:31;11211:223;:::o;11440:366::-;11582:3;11603:67;11667:2;11662:3;11603:67;:::i;:::-;11596:74;;11679:93;11768:3;11679:93;:::i;:::-;11797:2;11792:3;11788:12;11781:19;;11440:366;;;:::o;11812:419::-;11978:4;12016:2;12005:9;12001:18;11993:26;;12065:9;12059:4;12055:20;12051:1;12040:9;12036:17;12029:47;12093:131;12219:4;12093:131;:::i;:::-;12085:139;;11812:419;;;:::o;12237:221::-;12377:34;12373:1;12365:6;12361:14;12354:58;12446:4;12441:2;12433:6;12429:15;12422:29;12237:221;:::o;12464:366::-;12606:3;12627:67;12691:2;12686:3;12627:67;:::i;:::-;12620:74;;12703:93;12792:3;12703:93;:::i;:::-;12821:2;12816:3;12812:12;12805:19;;12464:366;;;:::o;12836:419::-;13002:4;13040:2;13029:9;13025:18;13017:26;;13089:9;13083:4;13079:20;13075:1;13064:9;13060:17;13053:47;13117:131;13243:4;13117:131;:::i;:::-;13109:139;;12836:419;;;:::o;13261:182::-;13401:34;13397:1;13389:6;13385:14;13378:58;13261:182;:::o;13449:366::-;13591:3;13612:67;13676:2;13671:3;13612:67;:::i;:::-;13605:74;;13688:93;13777:3;13688:93;:::i;:::-;13806:2;13801:3;13797:12;13790:19;;13449:366;;;:::o;13821:419::-;13987:4;14025:2;14014:9;14010:18;14002:26;;14074:9;14068:4;14064:20;14060:1;14049:9;14045:17;14038:47;14102:131;14228:4;14102:131;:::i;:::-;14094:139;;13821:419;;;:::o;14246:180::-;14294:77;14291:1;14284:88;14391:4;14388:1;14381:15;14415:4;14412:1;14405:15;14432:179;14572:31;14568:1;14560:6;14556:14;14549:55;14432:179;:::o;14617:366::-;14759:3;14780:67;14844:2;14839:3;14780:67;:::i;:::-;14773:74;;14856:93;14945:3;14856:93;:::i;:::-;14974:2;14969:3;14965:12;14958:19;;14617:366;;;:::o;14989:419::-;15155:4;15193:2;15182:9;15178:18;15170:26;;15242:9;15236:4;15232:20;15228:1;15217:9;15213:17;15206:47;15270:131;15396:4;15270:131;:::i;:::-;15262:139;;14989:419;;;:::o;15414:224::-;15554:34;15550:1;15542:6;15538:14;15531:58;15623:7;15618:2;15610:6;15606:15;15599:32;15414:224;:::o;15644:366::-;15786:3;15807:67;15871:2;15866:3;15807:67;:::i;:::-;15800:74;;15883:93;15972:3;15883:93;:::i;:::-;16001:2;15996:3;15992:12;15985:19;;15644:366;;;:::o;16016:419::-;16182:4;16220:2;16209:9;16205:18;16197:26;;16269:9;16263:4;16259:20;16255:1;16244:9;16240:17;16233:47;16297:131;16423:4;16297:131;:::i;:::-;16289:139;;16016:419;;;:::o;16441:222::-;16581:34;16577:1;16569:6;16565:14;16558:58;16650:5;16645:2;16637:6;16633:15;16626:30;16441:222;:::o;16669:366::-;16811:3;16832:67;16896:2;16891:3;16832:67;:::i;:::-;16825:74;;16908:93;16997:3;16908:93;:::i;:::-;17026:2;17021:3;17017:12;17010:19;;16669:366;;;:::o;17041:419::-;17207:4;17245:2;17234:9;17230:18;17222:26;;17294:9;17288:4;17284:20;17280:1;17269:9;17265:17;17258:47;17322:131;17448:4;17322:131;:::i;:::-;17314:139;;17041:419;;;:::o;17466:225::-;17606:34;17602:1;17594:6;17590:14;17583:58;17675:8;17670:2;17662:6;17658:15;17651:33;17466:225;:::o;17697:366::-;17839:3;17860:67;17924:2;17919:3;17860:67;:::i;:::-;17853:74;;17936:93;18025:3;17936:93;:::i;:::-;18054:2;18049:3;18045:12;18038:19;;17697:366;;;:::o;18069:419::-;18235:4;18273:2;18262:9;18258:18;18250:26;;18322:9;18316:4;18312:20;18308:1;18297:9;18293:17;18286:47;18350:131;18476:4;18350:131;:::i;:::-;18342:139;;18069:419;;;:::o;18494:410::-;18534:7;18557:20;18575:1;18557:20;:::i;:::-;18552:25;;18591:20;18609:1;18591:20;:::i;:::-;18586:25;;18646:1;18643;18639:9;18668:30;18686:11;18668:30;:::i;:::-;18657:41;;18847:1;18838:7;18834:15;18831:1;18828:22;18808:1;18801:9;18781:83;18758:139;;18877:18;;:::i;:::-;18758:139;18542:362;18494:410;;;;:::o;18910:180::-;18958:77;18955:1;18948:88;19055:4;19052:1;19045:15;19079:4;19076:1;19069:15;19096:185;19136:1;19153:20;19171:1;19153:20;:::i;:::-;19148:25;;19187:20;19205:1;19187:20;:::i;:::-;19182:25;;19226:1;19216:35;;19231:18;;:::i;:::-;19216:35;19273:1;19270;19266:9;19261:14;;19096:185;;;;:::o;19287:194::-;19327:4;19347:20;19365:1;19347:20;:::i;:::-;19342:25;;19381:20;19399:1;19381:20;:::i;:::-;19376:25;;19425:1;19422;19418:9;19410:17;;19449:1;19443:4;19440:11;19437:37;;;19454:18;;:::i;:::-;19437:37;19287:194;;;;:::o;19487:220::-;19627:34;19623:1;19615:6;19611:14;19604:58;19696:3;19691:2;19683:6;19679:15;19672:28;19487:220;:::o;19713:366::-;19855:3;19876:67;19940:2;19935:3;19876:67;:::i;:::-;19869:74;;19952:93;20041:3;19952:93;:::i;:::-;20070:2;20065:3;20061:12;20054:19;;19713:366;;;:::o;20085:419::-;20251:4;20289:2;20278:9;20274:18;20266:26;;20338:9;20332:4;20328:20;20324:1;20313:9;20309:17;20302:47;20366:131;20492:4;20366:131;:::i;:::-;20358:139;;20085:419;;;:::o;20510:221::-;20650:34;20646:1;20638:6;20634:14;20627:58;20719:4;20714:2;20706:6;20702:15;20695:29;20510:221;:::o;20737:366::-;20879:3;20900:67;20964:2;20959:3;20900:67;:::i;:::-;20893:74;;20976:93;21065:3;20976:93;:::i;:::-;21094:2;21089:3;21085:12;21078:19;;20737:366;;;:::o;21109:419::-;21275:4;21313:2;21302:9;21298:18;21290:26;;21362:9;21356:4;21352:20;21348:1;21337:9;21333:17;21326:47;21390:131;21516:4;21390:131;:::i;:::-;21382:139;;21109:419;;;:::o

Swarm Source

ipfs://ef617481e81046d21b61955f2b4c127d91befd7d76b6c246cc9b3f384e6392c8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.