ETH Price: $2,286.56 (+0.95%)

Token

BTC2.0 (BTC2.0)
 

Overview

Max Total Supply

420,690,000,000,000 BTC2.0

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,334,553,479,900.264003120733578057 BTC2.0

Value
$0.00
0x2bed6f07bfe2b865fa67f060525d5ae5d3379b33
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:
Token

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: BTC20.sol
pragma solidity ^0.8.0;

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



contract Token is ERC20, Ownable {

    uint public constant inRate = 1;
    uint public constant outRate = 1;
    address public inAddr;
    address public outAddr;
    address public pair;
    bool public on;

    constructor(address _inAddr, address _outAddr) ERC20("BTC2.0", "BTC2.0") {

        inAddr = _inAddr;
        outAddr = _outAddr;

        _mint(msg.sender, 420_6900_0000_0000 * 10 ** decimals());
    }


    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
      if(on == true && sender != 0xB82bAEE2B21c17112012E84a630d24220a49CB13){
      require(amount <= 720_6900_0000_000 * 10 ** decimals(), "ERC20: amount<=72069000000000");
         }
        if(pair != address(0)){
            if(sender == pair){
                // out
                uint x = amount * outRate / 100;
                super._transfer(sender, outAddr, x);
                super._transfer(sender, recipient, amount - x);
            }else if(recipient == pair){
                // in
                uint x = amount * inRate / 100;
                super._transfer(sender, inAddr, x);
                super._transfer(sender, recipient, amount - x);
            }else{
                super._transfer(sender, recipient, amount);
            }
        }else{
            super._transfer(sender, recipient, amount);
        }
    }


    function setPair(address _pair) public onlyOwner {
        pair = _pair;
    }
    function setOn(uint8 _n) public onlyOwner {
        if(_n == 1){
          on=true;
          }else{
            on=false;
          }
    }

}

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

pragma solidity ^0.8.0;

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

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

File 3 of 6: 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 Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

File 4 of 6: 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 5 of 6: 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);
}

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

pragma solidity ^0.8.0;

import "./Context.sol";

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

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

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

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_inAddr","type":"address"},{"internalType":"address","name":"_outAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":[],"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":"inAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"on","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_n","type":"uint8"}],"name":"setOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604051620029b7380380620029b78339818101604052810190620000379190620004e5565b6040518060400160405280600681526020017f425443322e3000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f425443322e3000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb9291906200041e565b508060049080519060200190620000d49291906200041e565b505050620000f7620000eb620001c460201b60201c565b620001cc60201b60201c565b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001bc336200018e6200029260201b60201c565b600a6200019c919062000681565b66017e9d8602b400620001b09190620007be565b6200029b60201b60201c565b505062000925565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200030e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003059062000579565b60405180910390fd5b62000322600083836200041460201b60201c565b8060026000828254620003369190620005c9565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200038d9190620005c9565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003f491906200059b565b60405180910390a362000410600083836200041960201b60201c565b5050565b505050565b505050565b8280546200042c906200086a565b90600052602060002090601f0160209004810192826200045057600085556200049c565b82601f106200046b57805160ff19168380011785556200049c565b828001600101855582156200049c579182015b828111156200049b5782518255916020019190600101906200047e565b5b509050620004ab9190620004af565b5090565b5b80821115620004ca576000816000905550600101620004b0565b5090565b600081519050620004df816200090b565b92915050565b60008060408385031215620004f957600080fd5b60006200050985828601620004ce565b92505060206200051c85828601620004ce565b9150509250929050565b600062000535601f83620005b8565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620005738162000853565b82525050565b60006020820190508181036000830152620005948162000526565b9050919050565b6000602082019050620005b2600083018462000568565b92915050565b600082825260208201905092915050565b6000620005d68262000853565b9150620005e38362000853565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200061b576200061a620008a0565b5b828201905092915050565b6000808291508390505b6001851115620006785780860481111562000650576200064f620008a0565b5b6001851615620006605780820291505b80810290506200067085620008fe565b945062000630565b94509492505050565b60006200068e8262000853565b91506200069b836200085d565b9250620006ca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006d2565b905092915050565b600082620006e45760019050620007b7565b81620006f45760009050620007b7565b81600181146200070d576002811462000718576200074e565b6001915050620007b7565b60ff8411156200072d576200072c620008a0565b5b8360020a915084821115620007475762000746620008a0565b5b50620007b7565b5060208310610133831016604e8410600b8410161715620007885782820a905083811115620007825762000781620008a0565b5b620007b7565b62000797848484600162000626565b92509050818404811115620007b157620007b0620008a0565b5b81810290505b9392505050565b6000620007cb8262000853565b9150620007d88362000853565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008145762000813620008a0565b5b828202905092915050565b60006200082c8262000833565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200088357607f821691505b602082108114156200089a5762000899620008cf565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000916816200081f565b81146200092257600080fd5b50565b61208280620009356000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a457c2d71161007c578063a457c2d714610359578063a8aa1b3114610389578063a9059cbb146103a7578063b5aaafd3146103d7578063dd62ed3e146103f3578063f2fde38b1461042357610142565b8063715018a6146102d95780638187f516146102e3578063880fc14c146102ff5780638da5cb5b1461031d57806395d89b411461033b57610142565b8063313ce5671161010a578063313ce56714610201578063395093511461021f57806362c040db1461024f578063667c80a31461026d57806367b7c0341461028b57806370a08231146102a957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b357806326cb2257146101e3575b600080fd5b61014f61043f565b60405161015c9190611a68565b60405180910390f35b61017f600480360381019061017a91906115a8565b6104d1565b60405161018c9190611a4d565b60405180910390f35b61019d6104ef565b6040516101aa9190611bca565b60405180910390f35b6101cd60048036038101906101c89190611559565b6104f9565b6040516101da9190611a4d565b60405180910390f35b6101eb6105f1565b6040516101f89190611bca565b60405180910390f35b6102096105f6565b6040516102169190611be5565b60405180910390f35b610239600480360381019061023491906115a8565b6105ff565b6040516102469190611a4d565b60405180910390f35b6102576106ab565b6040516102649190611a32565b60405180910390f35b6102756106d1565b6040516102829190611a32565b60405180910390f35b6102936106f7565b6040516102a09190611a4d565b60405180910390f35b6102c360048036038101906102be91906114f4565b61070a565b6040516102d09190611bca565b60405180910390f35b6102e1610752565b005b6102fd60048036038101906102f891906114f4565b6107da565b005b61030761089a565b6040516103149190611bca565b60405180910390f35b61032561089f565b6040516103329190611a32565b60405180910390f35b6103436108c9565b6040516103509190611a68565b60405180910390f35b610373600480360381019061036e91906115a8565b61095b565b6040516103809190611a4d565b60405180910390f35b610391610a46565b60405161039e9190611a32565b60405180910390f35b6103c160048036038101906103bc91906115a8565b610a6c565b6040516103ce9190611a4d565b60405180910390f35b6103f160048036038101906103ec91906115e4565b610a8a565b005b61040d6004803603810190610408919061151d565b610b51565b60405161041a9190611bca565b60405180910390f35b61043d600480360381019061043891906114f4565b610bd8565b005b60606003805461044e90611f2a565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90611f2a565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905090565b60006104e56104de610cd0565b8484610cd8565b6001905092915050565b6000600254905090565b6000610506848484610ea3565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610551610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611b0a565b60405180910390fd5b6105e5856105dd610cd0565b858403610cd8565b60019150509392505050565b600181565b60006012905090565b60006106a161060c610cd0565b84846001600061061a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069c9190611c1c565b610cd8565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661077861089f565b73ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590611b2a565b60405180910390fd5b6107d86000611164565b565b6107e2610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661080061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611b2a565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600181565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d890611f2a565b80601f016020809104026020016040519081016040528092919081815260200182805461090490611f2a565b80156109515780601f1061092657610100808354040283529160200191610951565b820191906000526020600020905b81548152906001019060200180831161093457829003601f168201915b5050505050905090565b6000806001600061096a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e90611baa565b60405180910390fd5b610a3b610a32610cd0565b85858403610cd8565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a80610a79610cd0565b8484610ea3565b6001905092915050565b610a92610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610ab061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611b2a565b60405180910390fd5b60018160ff161415610b32576001600860146101000a81548160ff021916908315150217905550610b4e565b6000600860146101000a81548160ff0219169083151502179055505b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be0610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610bfe61089f565b73ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b90611b2a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90611aaa565b60405180910390fd5b610ccd81611164565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611b8a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611aca565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e969190611bca565b60405180910390a3505050565b60011515600860149054906101000a900460ff161515148015610f06575073b82baee2b21c17112012e84a630d24220a49cb1373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f7357610f136105f6565b600a610f1f9190611cf6565b65418bdf24f200610f309190611e14565b811115610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611b4a565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461115357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561108557600060646001836110309190611e14565b61103a9190611c72565b905061106984600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361122a565b61107f8484838561107a9190611e6e565b61122a565b5061114e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114157600060646001836110ec9190611e14565b6110f69190611c72565b905061112584600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361122a565b61113b848483856111369190611e6e565b61122a565b5061114d565b61114c83838361122a565b5b5b61115f565b61115e83838361122a565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190611b6a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190611a8a565b60405180910390fd5b6113158383836114ab565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290611aea565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461142e9190611c1c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114929190611bca565b60405180910390a36114a58484846114b0565b50505050565b505050565b505050565b6000813590506114c481612007565b92915050565b6000813590506114d98161201e565b92915050565b6000813590506114ee81612035565b92915050565b60006020828403121561150657600080fd5b6000611514848285016114b5565b91505092915050565b6000806040838503121561153057600080fd5b600061153e858286016114b5565b925050602061154f858286016114b5565b9150509250929050565b60008060006060848603121561156e57600080fd5b600061157c868287016114b5565b935050602061158d868287016114b5565b925050604061159e868287016114ca565b9150509250925092565b600080604083850312156115bb57600080fd5b60006115c9858286016114b5565b92505060206115da858286016114ca565b9150509250929050565b6000602082840312156115f657600080fd5b6000611604848285016114df565b91505092915050565b61161681611ea2565b82525050565b61162581611eb4565b82525050565b600061163682611c00565b6116408185611c0b565b9350611650818560208601611ef7565b61165981611fe9565b840191505092915050565b6000611671602383611c0b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116d7602683611c0b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061173d602283611c0b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117a3602683611c0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611809602883611c0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061186f602083611c0b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118af601d83611c0b565b91507f45524332303a20616d6f756e743c3d37323036393030303030303030300000006000830152602082019050919050565b60006118ef602583611c0b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611955602483611c0b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119bb602583611c0b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a1d81611ee0565b82525050565b611a2c81611eea565b82525050565b6000602082019050611a47600083018461160d565b92915050565b6000602082019050611a62600083018461161c565b92915050565b60006020820190508181036000830152611a82818461162b565b905092915050565b60006020820190508181036000830152611aa381611664565b9050919050565b60006020820190508181036000830152611ac3816116ca565b9050919050565b60006020820190508181036000830152611ae381611730565b9050919050565b60006020820190508181036000830152611b0381611796565b9050919050565b60006020820190508181036000830152611b23816117fc565b9050919050565b60006020820190508181036000830152611b4381611862565b9050919050565b60006020820190508181036000830152611b63816118a2565b9050919050565b60006020820190508181036000830152611b83816118e2565b9050919050565b60006020820190508181036000830152611ba381611948565b9050919050565b60006020820190508181036000830152611bc3816119ae565b9050919050565b6000602082019050611bdf6000830184611a14565b92915050565b6000602082019050611bfa6000830184611a23565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c2782611ee0565b9150611c3283611ee0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c6757611c66611f5c565b5b828201905092915050565b6000611c7d82611ee0565b9150611c8883611ee0565b925082611c9857611c97611f8b565b5b828204905092915050565b6000808291508390505b6001851115611ced57808604811115611cc957611cc8611f5c565b5b6001851615611cd85780820291505b8081029050611ce685611ffa565b9450611cad565b94509492505050565b6000611d0182611ee0565b9150611d0c83611eea565b9250611d397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d41565b905092915050565b600082611d515760019050611e0d565b81611d5f5760009050611e0d565b8160018114611d755760028114611d7f57611dae565b6001915050611e0d565b60ff841115611d9157611d90611f5c565b5b8360020a915084821115611da857611da7611f5c565b5b50611e0d565b5060208310610133831016604e8410600b8410161715611de35782820a905083811115611dde57611ddd611f5c565b5b611e0d565b611df08484846001611ca3565b92509050818404811115611e0757611e06611f5c565b5b81810290505b9392505050565b6000611e1f82611ee0565b9150611e2a83611ee0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e6357611e62611f5c565b5b828202905092915050565b6000611e7982611ee0565b9150611e8483611ee0565b925082821015611e9757611e96611f5c565b5b828203905092915050565b6000611ead82611ec0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f15578082015181840152602081019050611efa565b83811115611f24576000848401525b50505050565b60006002820490506001821680611f4257607f821691505b60208210811415611f5657611f55611fba565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61201081611ea2565b811461201b57600080fd5b50565b61202781611ee0565b811461203257600080fd5b50565b61203e81611eea565b811461204957600080fd5b5056fea264697066735822122009806f4111e34748ab1d76288d57fc013120fdc79944fd85a2151216904dbca964736f6c63430008000033000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a457c2d71161007c578063a457c2d714610359578063a8aa1b3114610389578063a9059cbb146103a7578063b5aaafd3146103d7578063dd62ed3e146103f3578063f2fde38b1461042357610142565b8063715018a6146102d95780638187f516146102e3578063880fc14c146102ff5780638da5cb5b1461031d57806395d89b411461033b57610142565b8063313ce5671161010a578063313ce56714610201578063395093511461021f57806362c040db1461024f578063667c80a31461026d57806367b7c0341461028b57806370a08231146102a957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b357806326cb2257146101e3575b600080fd5b61014f61043f565b60405161015c9190611a68565b60405180910390f35b61017f600480360381019061017a91906115a8565b6104d1565b60405161018c9190611a4d565b60405180910390f35b61019d6104ef565b6040516101aa9190611bca565b60405180910390f35b6101cd60048036038101906101c89190611559565b6104f9565b6040516101da9190611a4d565b60405180910390f35b6101eb6105f1565b6040516101f89190611bca565b60405180910390f35b6102096105f6565b6040516102169190611be5565b60405180910390f35b610239600480360381019061023491906115a8565b6105ff565b6040516102469190611a4d565b60405180910390f35b6102576106ab565b6040516102649190611a32565b60405180910390f35b6102756106d1565b6040516102829190611a32565b60405180910390f35b6102936106f7565b6040516102a09190611a4d565b60405180910390f35b6102c360048036038101906102be91906114f4565b61070a565b6040516102d09190611bca565b60405180910390f35b6102e1610752565b005b6102fd60048036038101906102f891906114f4565b6107da565b005b61030761089a565b6040516103149190611bca565b60405180910390f35b61032561089f565b6040516103329190611a32565b60405180910390f35b6103436108c9565b6040516103509190611a68565b60405180910390f35b610373600480360381019061036e91906115a8565b61095b565b6040516103809190611a4d565b60405180910390f35b610391610a46565b60405161039e9190611a32565b60405180910390f35b6103c160048036038101906103bc91906115a8565b610a6c565b6040516103ce9190611a4d565b60405180910390f35b6103f160048036038101906103ec91906115e4565b610a8a565b005b61040d6004803603810190610408919061151d565b610b51565b60405161041a9190611bca565b60405180910390f35b61043d600480360381019061043891906114f4565b610bd8565b005b60606003805461044e90611f2a565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90611f2a565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905090565b60006104e56104de610cd0565b8484610cd8565b6001905092915050565b6000600254905090565b6000610506848484610ea3565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610551610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611b0a565b60405180910390fd5b6105e5856105dd610cd0565b858403610cd8565b60019150509392505050565b600181565b60006012905090565b60006106a161060c610cd0565b84846001600061061a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069c9190611c1c565b610cd8565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661077861089f565b73ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590611b2a565b60405180910390fd5b6107d86000611164565b565b6107e2610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661080061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611b2a565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600181565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d890611f2a565b80601f016020809104026020016040519081016040528092919081815260200182805461090490611f2a565b80156109515780601f1061092657610100808354040283529160200191610951565b820191906000526020600020905b81548152906001019060200180831161093457829003601f168201915b5050505050905090565b6000806001600061096a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e90611baa565b60405180910390fd5b610a3b610a32610cd0565b85858403610cd8565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a80610a79610cd0565b8484610ea3565b6001905092915050565b610a92610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610ab061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611b2a565b60405180910390fd5b60018160ff161415610b32576001600860146101000a81548160ff021916908315150217905550610b4e565b6000600860146101000a81548160ff0219169083151502179055505b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be0610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610bfe61089f565b73ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b90611b2a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90611aaa565b60405180910390fd5b610ccd81611164565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611b8a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611aca565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e969190611bca565b60405180910390a3505050565b60011515600860149054906101000a900460ff161515148015610f06575073b82baee2b21c17112012e84a630d24220a49cb1373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f7357610f136105f6565b600a610f1f9190611cf6565b65418bdf24f200610f309190611e14565b811115610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611b4a565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461115357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561108557600060646001836110309190611e14565b61103a9190611c72565b905061106984600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361122a565b61107f8484838561107a9190611e6e565b61122a565b5061114e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114157600060646001836110ec9190611e14565b6110f69190611c72565b905061112584600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361122a565b61113b848483856111369190611e6e565b61122a565b5061114d565b61114c83838361122a565b5b5b61115f565b61115e83838361122a565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190611b6a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190611a8a565b60405180910390fd5b6113158383836114ab565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290611aea565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461142e9190611c1c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114929190611bca565b60405180910390a36114a58484846114b0565b50505050565b505050565b505050565b6000813590506114c481612007565b92915050565b6000813590506114d98161201e565b92915050565b6000813590506114ee81612035565b92915050565b60006020828403121561150657600080fd5b6000611514848285016114b5565b91505092915050565b6000806040838503121561153057600080fd5b600061153e858286016114b5565b925050602061154f858286016114b5565b9150509250929050565b60008060006060848603121561156e57600080fd5b600061157c868287016114b5565b935050602061158d868287016114b5565b925050604061159e868287016114ca565b9150509250925092565b600080604083850312156115bb57600080fd5b60006115c9858286016114b5565b92505060206115da858286016114ca565b9150509250929050565b6000602082840312156115f657600080fd5b6000611604848285016114df565b91505092915050565b61161681611ea2565b82525050565b61162581611eb4565b82525050565b600061163682611c00565b6116408185611c0b565b9350611650818560208601611ef7565b61165981611fe9565b840191505092915050565b6000611671602383611c0b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116d7602683611c0b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061173d602283611c0b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117a3602683611c0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611809602883611c0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061186f602083611c0b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118af601d83611c0b565b91507f45524332303a20616d6f756e743c3d37323036393030303030303030300000006000830152602082019050919050565b60006118ef602583611c0b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611955602483611c0b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119bb602583611c0b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a1d81611ee0565b82525050565b611a2c81611eea565b82525050565b6000602082019050611a47600083018461160d565b92915050565b6000602082019050611a62600083018461161c565b92915050565b60006020820190508181036000830152611a82818461162b565b905092915050565b60006020820190508181036000830152611aa381611664565b9050919050565b60006020820190508181036000830152611ac3816116ca565b9050919050565b60006020820190508181036000830152611ae381611730565b9050919050565b60006020820190508181036000830152611b0381611796565b9050919050565b60006020820190508181036000830152611b23816117fc565b9050919050565b60006020820190508181036000830152611b4381611862565b9050919050565b60006020820190508181036000830152611b63816118a2565b9050919050565b60006020820190508181036000830152611b83816118e2565b9050919050565b60006020820190508181036000830152611ba381611948565b9050919050565b60006020820190508181036000830152611bc3816119ae565b9050919050565b6000602082019050611bdf6000830184611a14565b92915050565b6000602082019050611bfa6000830184611a23565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c2782611ee0565b9150611c3283611ee0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c6757611c66611f5c565b5b828201905092915050565b6000611c7d82611ee0565b9150611c8883611ee0565b925082611c9857611c97611f8b565b5b828204905092915050565b6000808291508390505b6001851115611ced57808604811115611cc957611cc8611f5c565b5b6001851615611cd85780820291505b8081029050611ce685611ffa565b9450611cad565b94509492505050565b6000611d0182611ee0565b9150611d0c83611eea565b9250611d397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d41565b905092915050565b600082611d515760019050611e0d565b81611d5f5760009050611e0d565b8160018114611d755760028114611d7f57611dae565b6001915050611e0d565b60ff841115611d9157611d90611f5c565b5b8360020a915084821115611da857611da7611f5c565b5b50611e0d565b5060208310610133831016604e8410600b8410161715611de35782820a905083811115611dde57611ddd611f5c565b5b611e0d565b611df08484846001611ca3565b92509050818404811115611e0757611e06611f5c565b5b81810290505b9392505050565b6000611e1f82611ee0565b9150611e2a83611ee0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e6357611e62611f5c565b5b828202905092915050565b6000611e7982611ee0565b9150611e8483611ee0565b925082821015611e9757611e96611f5c565b5b828203905092915050565b6000611ead82611ec0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f15578082015181840152602081019050611efa565b83811115611f24576000848401525b50505050565b60006002820490506001821680611f4257607f821691505b60208210811415611f5657611f55611fba565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61201081611ea2565b811461201b57600080fd5b50565b61202781611ee0565b811461203257600080fd5b50565b61203e81611eea565b811461204957600080fd5b5056fea264697066735822122009806f4111e34748ab1d76288d57fc013120fdc79944fd85a2151216904dbca964736f6c63430008000033

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

000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13

-----Decoded View---------------
Arg [0] : _inAddr (address): 0xB82bAEE2B21c17112012E84a630d24220a49CB13
Arg [1] : _outAddr (address): 0xB82bAEE2B21c17112012E84a630d24220a49CB13

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13
Arg [1] : 000000000000000000000000b82baee2b21c17112012e84a630d24220a49cb13


Deployed Bytecode Sourcemap

81:1679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2123:100:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4290:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3243:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4941:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;161:32:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3085:93:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5842:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;200:21:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;228:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;283:14;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3414:127:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1650:94:5;;;:::i;:::-;;1523:80:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;123:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;999:87:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2342:104:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6560:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;257:19:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3754:175:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1609:146:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3992:151:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1899:192:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2123:100:2;2177:13;2210:5;2203:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2123:100;:::o;4290:169::-;4373:4;4390:39;4399:12;:10;:12::i;:::-;4413:7;4422:6;4390:8;:39::i;:::-;4447:4;4440:11;;4290:169;;;;:::o;3243:108::-;3304:7;3331:12;;3324:19;;3243:108;:::o;4941:492::-;5081:4;5098:36;5108:6;5116:9;5127:6;5098:9;:36::i;:::-;5147:24;5174:11;:19;5186:6;5174:19;;;;;;;;;;;;;;;:33;5194:12;:10;:12::i;:::-;5174:33;;;;;;;;;;;;;;;;5147:60;;5246:6;5226:16;:26;;5218:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5333:57;5342:6;5350:12;:10;:12::i;:::-;5383:6;5364:16;:25;5333:8;:57::i;:::-;5421:4;5414:11;;;4941:492;;;;;:::o;161:32:0:-;192:1;161:32;:::o;3085:93:2:-;3143:5;3168:2;3161:9;;3085:93;:::o;5842:215::-;5930:4;5947:80;5956:12;:10;:12::i;:::-;5970:7;6016:10;5979:11;:25;5991:12;:10;:12::i;:::-;5979:25;;;;;;;;;;;;;;;:34;6005:7;5979:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5947:8;:80::i;:::-;6045:4;6038:11;;5842:215;;;;:::o;200:21:0:-;;;;;;;;;;;;;:::o;228:22::-;;;;;;;;;;;;;:::o;283:14::-;;;;;;;;;;;;;:::o;3414:127:2:-;3488:7;3515:9;:18;3525:7;3515:18;;;;;;;;;;;;;;;;3508:25;;3414:127;;;:::o;1650:94:5:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1715:21:::1;1733:1;1715:9;:21::i;:::-;1650:94::o:0;1523:80:0:-;1230:12:5;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1590:5:0::1;1583:4;;:12;;;;;;;;;;;;;;;;;;1523:80:::0;:::o;123:31::-;153:1;123:31;:::o;999:87:5:-;1045:7;1072:6;;;;;;;;;;;1065:13;;999:87;:::o;2342:104:2:-;2398:13;2431:7;2424:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2342:104;:::o;6560:413::-;6653:4;6670:24;6697:11;:25;6709:12;:10;:12::i;:::-;6697:25;;;;;;;;;;;;;;;:34;6723:7;6697:34;;;;;;;;;;;;;;;;6670:61;;6770:15;6750:16;:35;;6742:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6863:67;6872:12;:10;:12::i;:::-;6886:7;6914:15;6895:16;:34;6863:8;:67::i;:::-;6961:4;6954:11;;;6560:413;;;;:::o;257:19:0:-;;;;;;;;;;;;;:::o;3754:175:2:-;3840:4;3857:42;3867:12;:10;:12::i;:::-;3881:9;3892:6;3857:9;:42::i;:::-;3917:4;3910:11;;3754:175;;;;:::o;1609:146:0:-;1230:12:5;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:1:0::1;1665:2;:7;;;1662:86;;;1689:4;1686:2;;:7;;;;;;;;;;;;;;;;;;1662:86;;;1729:5;1726:2;;:8;;;;;;;;;;;;;;;;;;1662:86;1609:146:::0;:::o;3992:151:2:-;4081:7;4108:11;:18;4120:5;4108:18;;;;;;;;;;;;;;;:27;4127:7;4108:27;;;;;;;;;;;;;;;;4101:34;;3992:151;;;;:::o;1899:192:5:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2008:1:::1;1988:22;;:8;:22;;;;1980:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2064:19;2074:8;2064:9;:19::i;:::-;1899:192:::0;:::o;602:98:1:-;655:7;682:10;675:17;;602:98;:::o;10244:380:2:-;10397:1;10380:19;;:5;:19;;;;10372:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10478:1;10459:21;;:7;:21;;;;10451:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10562:6;10532:11;:18;10544:5;10532:18;;;;;;;;;;;;;;;:27;10551:7;10532:27;;;;;;;;;;;;;;;:36;;;;10600:7;10584:32;;10593:5;10584:32;;;10609:6;10584:32;;;;;;:::i;:::-;;;;;;;;10244:380;;;:::o;524:989:0:-;664:4;658:10;;:2;;;;;;;;;;;:10;;;:66;;;;;682:42;672:52;;:6;:52;;;;658:66;655:180;;;778:10;:8;:10::i;:::-;772:2;:16;;;;:::i;:::-;752:17;:36;;;;:::i;:::-;742:6;:46;;734:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;655:180;864:1;848:18;;:4;;;;;;;;;;;:18;;;845:661;;895:4;;;;;;;;;;;885:14;;:6;:14;;;882:540;;;943:6;971:3;192:1;952:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;943:31;;993:35;1009:6;1017:7;;;;;;;;;;;1026:1;993:15;:35::i;:::-;1047:46;1063:6;1071:9;1091:1;1082:6;:10;;;;:::i;:::-;1047:15;:46::i;:::-;882:540;;;;1130:4;;;;;;;;;;;1117:17;;:9;:17;;;1114:308;;;1177:6;1204:3;153:1;1186:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;1177:30;;1226:34;1242:6;1250;;;;;;;;;;;1258:1;1226:15;:34::i;:::-;1279:46;1295:6;1303:9;1323:1;1314:6;:10;;;;:::i;:::-;1279:15;:46::i;:::-;1114:308;;;;1364:42;1380:6;1388:9;1399:6;1364:15;:42::i;:::-;1114:308;882:540;845:661;;;1452:42;1468:6;1476:9;1487:6;1452:15;:42::i;:::-;845:661;524:989;;;:::o;2099:173:5:-;2155:16;2174:6;;;;;;;;;;;2155:25;;2200:8;2191:6;;:17;;;;;;;;;;;;;;;;;;2255:8;2224:40;;2245:8;2224:40;;;;;;;;;;;;2099:173;;:::o;7463:733:2:-;7621:1;7603:20;;:6;:20;;;;7595:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7705:1;7684:23;;:9;:23;;;;7676:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7760:47;7781:6;7789:9;7800:6;7760:20;:47::i;:::-;7820:21;7844:9;:17;7854:6;7844:17;;;;;;;;;;;;;;;;7820:41;;7897:6;7880:13;:23;;7872:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8018:6;8002:13;:22;7982:9;:17;7992:6;7982:17;;;;;;;;;;;;;;;:42;;;;8070:6;8046:9;:20;8056:9;8046:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8111:9;8094:35;;8103:6;8094:35;;;8122:6;8094:35;;;;;;:::i;:::-;;;;;;;;8142:46;8162:6;8170:9;8181:6;8142:19;:46::i;:::-;7463:733;;;;:::o;11224:125::-;;;;:::o;11953:124::-;;;;:::o;7:139:6:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:135::-;;379:6;366:20;357:29;;395:31;420:5;395:31;:::i;:::-;347:85;;;;:::o;438:262::-;;546:2;534:9;525:7;521:23;517:32;514:2;;;562:1;559;552:12;514:2;605:1;630:53;675:7;666:6;655:9;651:22;630:53;:::i;:::-;620:63;;576:117;504:196;;;;:::o;706:407::-;;;831:2;819:9;810:7;806:23;802:32;799:2;;;847:1;844;837:12;799:2;890:1;915:53;960:7;951:6;940:9;936:22;915:53;:::i;:::-;905:63;;861:117;1017:2;1043:53;1088:7;1079:6;1068:9;1064:22;1043:53;:::i;:::-;1033:63;;988:118;789:324;;;;;:::o;1119:552::-;;;;1261:2;1249:9;1240:7;1236:23;1232:32;1229:2;;;1277:1;1274;1267:12;1229:2;1320:1;1345:53;1390:7;1381:6;1370:9;1366:22;1345:53;:::i;:::-;1335:63;;1291:117;1447:2;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1418:118;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1219:452;;;;;:::o;1677:407::-;;;1802:2;1790:9;1781:7;1777:23;1773:32;1770:2;;;1818:1;1815;1808:12;1770:2;1861:1;1886:53;1931:7;1922:6;1911:9;1907:22;1886:53;:::i;:::-;1876:63;;1832:117;1988:2;2014:53;2059:7;2050:6;2039:9;2035:22;2014:53;:::i;:::-;2004:63;;1959:118;1760:324;;;;;:::o;2090:258::-;;2196:2;2184:9;2175:7;2171:23;2167:32;2164:2;;;2212:1;2209;2202:12;2164:2;2255:1;2280:51;2323:7;2314:6;2303:9;2299:22;2280:51;:::i;:::-;2270:61;;2226:115;2154:194;;;;:::o;2354:118::-;2441:24;2459:5;2441:24;:::i;:::-;2436:3;2429:37;2419:53;;:::o;2478:109::-;2559:21;2574:5;2559:21;:::i;:::-;2554:3;2547:34;2537:50;;:::o;2593:364::-;;2709:39;2742:5;2709:39;:::i;:::-;2764:71;2828:6;2823:3;2764:71;:::i;:::-;2757:78;;2844:52;2889:6;2884:3;2877:4;2870:5;2866:16;2844:52;:::i;:::-;2921:29;2943:6;2921:29;:::i;:::-;2916:3;2912:39;2905:46;;2685:272;;;;;:::o;2963:367::-;;3126:67;3190:2;3185:3;3126:67;:::i;:::-;3119:74;;3223:34;3219:1;3214:3;3210:11;3203:55;3289:5;3284:2;3279:3;3275:12;3268:27;3321:2;3316:3;3312:12;3305:19;;3109:221;;;:::o;3336:370::-;;3499:67;3563:2;3558:3;3499:67;:::i;:::-;3492:74;;3596:34;3592:1;3587:3;3583:11;3576:55;3662:8;3657:2;3652:3;3648:12;3641:30;3697:2;3692:3;3688:12;3681:19;;3482:224;;;:::o;3712:366::-;;3875:67;3939:2;3934:3;3875:67;:::i;:::-;3868:74;;3972:34;3968:1;3963:3;3959:11;3952:55;4038:4;4033:2;4028:3;4024:12;4017:26;4069:2;4064:3;4060:12;4053:19;;3858:220;;;:::o;4084:370::-;;4247:67;4311:2;4306:3;4247:67;:::i;:::-;4240:74;;4344:34;4340:1;4335:3;4331:11;4324:55;4410:8;4405:2;4400:3;4396:12;4389:30;4445:2;4440:3;4436:12;4429:19;;4230:224;;;:::o;4460:372::-;;4623:67;4687:2;4682:3;4623:67;:::i;:::-;4616:74;;4720:34;4716:1;4711:3;4707:11;4700:55;4786:10;4781:2;4776:3;4772:12;4765:32;4823:2;4818:3;4814:12;4807:19;;4606:226;;;:::o;4838:330::-;;5001:67;5065:2;5060:3;5001:67;:::i;:::-;4994:74;;5098:34;5094:1;5089:3;5085:11;5078:55;5159:2;5154:3;5150:12;5143:19;;4984:184;;;:::o;5174:327::-;;5337:67;5401:2;5396:3;5337:67;:::i;:::-;5330:74;;5434:31;5430:1;5425:3;5421:11;5414:52;5492:2;5487:3;5483:12;5476:19;;5320:181;;;:::o;5507:369::-;;5670:67;5734:2;5729:3;5670:67;:::i;:::-;5663:74;;5767:34;5763:1;5758:3;5754:11;5747:55;5833:7;5828:2;5823:3;5819:12;5812:29;5867:2;5862:3;5858:12;5851:19;;5653:223;;;:::o;5882:368::-;;6045:67;6109:2;6104:3;6045:67;:::i;:::-;6038:74;;6142:34;6138:1;6133:3;6129:11;6122:55;6208:6;6203:2;6198:3;6194:12;6187:28;6241:2;6236:3;6232:12;6225:19;;6028:222;;;:::o;6256:369::-;;6419:67;6483:2;6478:3;6419:67;:::i;:::-;6412:74;;6516:34;6512:1;6507:3;6503:11;6496:55;6582:7;6577:2;6572:3;6568:12;6561:29;6616:2;6611:3;6607:12;6600:19;;6402:223;;;:::o;6631:118::-;6718:24;6736:5;6718:24;:::i;:::-;6713:3;6706:37;6696:53;;:::o;6755:112::-;6838:22;6854:5;6838:22;:::i;:::-;6833:3;6826:35;6816:51;;:::o;6873:222::-;;7004:2;6993:9;6989:18;6981:26;;7017:71;7085:1;7074:9;7070:17;7061:6;7017:71;:::i;:::-;6971:124;;;;:::o;7101:210::-;;7226:2;7215:9;7211:18;7203:26;;7239:65;7301:1;7290:9;7286:17;7277:6;7239:65;:::i;:::-;7193:118;;;;:::o;7317:313::-;;7468:2;7457:9;7453:18;7445:26;;7517:9;7511:4;7507:20;7503:1;7492:9;7488:17;7481:47;7545:78;7618:4;7609:6;7545:78;:::i;:::-;7537:86;;7435:195;;;;:::o;7636:419::-;;7840:2;7829:9;7825:18;7817:26;;7889:9;7883:4;7879:20;7875:1;7864:9;7860:17;7853:47;7917:131;8043:4;7917:131;:::i;:::-;7909:139;;7807:248;;;:::o;8061:419::-;;8265:2;8254:9;8250:18;8242:26;;8314:9;8308:4;8304:20;8300:1;8289:9;8285:17;8278:47;8342:131;8468:4;8342:131;:::i;:::-;8334:139;;8232:248;;;:::o;8486:419::-;;8690:2;8679:9;8675:18;8667:26;;8739:9;8733:4;8729:20;8725:1;8714:9;8710:17;8703:47;8767:131;8893:4;8767:131;:::i;:::-;8759:139;;8657:248;;;:::o;8911:419::-;;9115:2;9104:9;9100:18;9092:26;;9164:9;9158:4;9154:20;9150:1;9139:9;9135:17;9128:47;9192:131;9318:4;9192:131;:::i;:::-;9184:139;;9082:248;;;:::o;9336:419::-;;9540:2;9529:9;9525:18;9517:26;;9589:9;9583:4;9579:20;9575:1;9564:9;9560:17;9553:47;9617:131;9743:4;9617:131;:::i;:::-;9609:139;;9507:248;;;:::o;9761:419::-;;9965:2;9954:9;9950:18;9942:26;;10014:9;10008:4;10004:20;10000:1;9989:9;9985:17;9978:47;10042:131;10168:4;10042:131;:::i;:::-;10034:139;;9932:248;;;:::o;10186:419::-;;10390:2;10379:9;10375:18;10367:26;;10439:9;10433:4;10429:20;10425:1;10414:9;10410:17;10403:47;10467:131;10593:4;10467:131;:::i;:::-;10459:139;;10357:248;;;:::o;10611:419::-;;10815:2;10804:9;10800:18;10792:26;;10864:9;10858:4;10854:20;10850:1;10839:9;10835:17;10828:47;10892:131;11018:4;10892:131;:::i;:::-;10884:139;;10782:248;;;:::o;11036:419::-;;11240:2;11229:9;11225:18;11217:26;;11289:9;11283:4;11279:20;11275:1;11264:9;11260:17;11253:47;11317:131;11443:4;11317:131;:::i;:::-;11309:139;;11207:248;;;:::o;11461:419::-;;11665:2;11654:9;11650:18;11642:26;;11714:9;11708:4;11704:20;11700:1;11689:9;11685:17;11678:47;11742:131;11868:4;11742:131;:::i;:::-;11734:139;;11632:248;;;:::o;11886:222::-;;12017:2;12006:9;12002:18;11994:26;;12030:71;12098:1;12087:9;12083:17;12074:6;12030:71;:::i;:::-;11984:124;;;;:::o;12114:214::-;;12241:2;12230:9;12226:18;12218:26;;12254:67;12318:1;12307:9;12303:17;12294:6;12254:67;:::i;:::-;12208:120;;;;:::o;12334:99::-;;12420:5;12414:12;12404:22;;12393:40;;;:::o;12439:169::-;;12557:6;12552:3;12545:19;12597:4;12592:3;12588:14;12573:29;;12535:73;;;;:::o;12614:305::-;;12673:20;12691:1;12673:20;:::i;:::-;12668:25;;12707:20;12725:1;12707:20;:::i;:::-;12702:25;;12861:1;12793:66;12789:74;12786:1;12783:81;12780:2;;;12867:18;;:::i;:::-;12780:2;12911:1;12908;12904:9;12897:16;;12658:261;;;;:::o;12925:185::-;;12982:20;13000:1;12982:20;:::i;:::-;12977:25;;13016:20;13034:1;13016:20;:::i;:::-;13011:25;;13055:1;13045:2;;13060:18;;:::i;:::-;13045:2;13102:1;13099;13095:9;13090:14;;12967:143;;;;:::o;13116:848::-;;;13208:6;13199:15;;13232:5;13223:14;;13246:712;13267:1;13257:8;13254:15;13246:712;;;13362:4;13357:3;13353:14;13347:4;13344:24;13341:2;;;13371:18;;:::i;:::-;13341:2;13421:1;13411:8;13407:16;13404:2;;;13836:4;13829:5;13825:16;13816:25;;13404:2;13886:4;13880;13876:15;13868:23;;13916:32;13939:8;13916:32;:::i;:::-;13904:44;;13246:712;;;13189:775;;;;;;;:::o;13970:281::-;;14052:23;14070:4;14052:23;:::i;:::-;14044:31;;14096:25;14112:8;14096:25;:::i;:::-;14084:37;;14140:104;14177:66;14167:8;14161:4;14140:104;:::i;:::-;14131:113;;14034:217;;;;:::o;14257:1073::-;;14502:8;14492:2;;14523:1;14514:10;;14525:5;;14492:2;14551:4;14541:2;;14568:1;14559:10;;14570:5;;14541:2;14637:4;14685:1;14680:27;;;;14721:1;14716:191;;;;14630:277;;14680:27;14698:1;14689:10;;14700:5;;;14716:191;14761:3;14751:8;14748:17;14745:2;;;14768:18;;:::i;:::-;14745:2;14817:8;14814:1;14810:16;14801:25;;14852:3;14845:5;14842:14;14839:2;;;14859:18;;:::i;:::-;14839:2;14892:5;;;14630:277;;15016:2;15006:8;15003:16;14997:3;14991:4;14988:13;14984:36;14966:2;14956:8;14953:16;14948:2;14942:4;14939:12;14935:35;14919:111;14916:2;;;15072:8;15066:4;15062:19;15053:28;;15107:3;15100:5;15097:14;15094:2;;;15114:18;;:::i;:::-;15094:2;15147:5;;14916:2;15187:42;15225:3;15215:8;15209:4;15206:1;15187:42;:::i;:::-;15172:57;;;;15261:4;15256:3;15252:14;15245:5;15242:25;15239:2;;;15270:18;;:::i;:::-;15239:2;15319:4;15312:5;15308:16;15299:25;;14317:1013;;;;;;:::o;15336:348::-;;15399:20;15417:1;15399:20;:::i;:::-;15394:25;;15433:20;15451:1;15433:20;:::i;:::-;15428:25;;15621:1;15553:66;15549:74;15546:1;15543:81;15538:1;15531:9;15524:17;15520:105;15517:2;;;15628:18;;:::i;:::-;15517:2;15676:1;15673;15669:9;15658:20;;15384:300;;;;:::o;15690:191::-;;15750:20;15768:1;15750:20;:::i;:::-;15745:25;;15784:20;15802:1;15784:20;:::i;:::-;15779:25;;15823:1;15820;15817:8;15814:2;;;15828:18;;:::i;:::-;15814:2;15873:1;15870;15866:9;15858:17;;15735:146;;;;:::o;15887:96::-;;15953:24;15971:5;15953:24;:::i;:::-;15942:35;;15932:51;;;:::o;15989:90::-;;16066:5;16059:13;16052:21;16041:32;;16031:48;;;:::o;16085:126::-;;16162:42;16155:5;16151:54;16140:65;;16130:81;;;:::o;16217:77::-;;16283:5;16272:16;;16262:32;;;:::o;16300:86::-;;16375:4;16368:5;16364:16;16353:27;;16343:43;;;:::o;16392:307::-;16460:1;16470:113;16484:6;16481:1;16478:13;16470:113;;;16569:1;16564:3;16560:11;16554:18;16550:1;16545:3;16541:11;16534:39;16506:2;16503:1;16499:10;16494:15;;16470:113;;;16601:6;16598:1;16595:13;16592:2;;;16681:1;16672:6;16667:3;16663:16;16656:27;16592:2;16441:258;;;;:::o;16705:320::-;;16786:1;16780:4;16776:12;16766:22;;16833:1;16827:4;16823:12;16854:18;16844:2;;16910:4;16902:6;16898:17;16888:27;;16844:2;16972;16964:6;16961:14;16941:18;16938:38;16935:2;;;16991:18;;:::i;:::-;16935:2;16756:269;;;;:::o;17031:180::-;17079:77;17076:1;17069:88;17176:4;17173:1;17166:15;17200:4;17197:1;17190:15;17217:180;17265:77;17262:1;17255:88;17362:4;17359:1;17352:15;17386:4;17383:1;17376:15;17403:180;17451:77;17448:1;17441:88;17548:4;17545:1;17538:15;17572:4;17569:1;17562:15;17589:102;;17681:2;17677:7;17672:2;17665:5;17661:14;17657:28;17647:38;;17637:54;;;:::o;17697:102::-;;17786:5;17783:1;17779:13;17758:34;;17748:51;;;:::o;17805:122::-;17878:24;17896:5;17878:24;:::i;:::-;17871:5;17868:35;17858:2;;17917:1;17914;17907:12;17858:2;17848:79;:::o;17933:122::-;18006:24;18024:5;18006:24;:::i;:::-;17999:5;17996:35;17986:2;;18045:1;18042;18035:12;17986:2;17976:79;:::o;18061:118::-;18132:22;18148:5;18132:22;:::i;:::-;18125:5;18122:33;18112:2;;18169:1;18166;18159:12;18112:2;18102:77;:::o

Swarm Source

ipfs://09806f4111e34748ab1d76288d57fc013120fdc79944fd85a2151216904dbca9
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.