BNB Price: $695.89 (-1.98%)
Gas: 1 GWei
 

Overview

Max Total Supply

5,167,092,663.232717wDingocoin

Holders

1,763 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

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

OVERVIEW

Dingocoin is an Scrypt AuxPow fork of Dogecoin, with a vibrant and active community that seeks to build fun projects around the coin.


Update? Click here to update the token ICO / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BEP20Token

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-07-21
*/

pragma solidity ^0.8.0;

interface IERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address account) external view returns (uint256);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function allowance(address owner, address spender) external view returns (uint256);
  function approve(address spender, uint256 amount) external returns (bool);
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
  function name() external view returns (string memory);
  function symbol() external view returns (string memory);
  function decimals() external view returns (uint8);
}

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

contract ERC20 is Context, IERC20, IERC20Metadata {

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

  uint256 private _totalSupply;
  string private _name;
  string private _symbol;

  constructor(string memory name_, string memory symbol_) {
    _name = name_;
    _symbol = symbol_;
  }

  function name() public view virtual override returns (string memory) {
    return _name;
  }

  function symbol() public view virtual override returns (string memory) {
    return _symbol;
  }

  function decimals() public view virtual override returns (uint8) {
    return 18;
  }

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

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

  function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
    _transfer(_msgSender(), recipient, amount);
    return true;
  }

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

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

  function transferFrom(
      address sender,
      address recipient,
      uint256 amount
      ) public virtual override returns (bool) {
    _transfer(sender, recipient, amount);

    uint256 currentAllowance = _allowances[sender][_msgSender()];
    require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
      _approve(sender, _msgSender(), currentAllowance - amount);
    }

    return true;
  }

  function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
    return true;
  }

  function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
    uint256 currentAllowance = _allowances[_msgSender()][spender];
    require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
      _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

    return true;
  }

  function _transfer(
      address sender,
      address recipient,
      uint256 amount
      ) internal virtual {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

    _beforeTokenTransfer(sender, recipient, amount);

    uint256 senderBalance = _balances[sender];
    require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
      _balances[sender] = senderBalance - amount;
    }
    _balances[recipient] += amount;

    emit Transfer(sender, recipient, amount);

    _afterTokenTransfer(sender, recipient, amount);
  }

  function _mint(address account, uint256 amount) internal virtual {
    require(account != address(0), "ERC20: mint to the zero address");

    _beforeTokenTransfer(address(0), account, amount);

    _totalSupply += amount;
    _balances[account] += amount;
    emit Transfer(address(0), account, amount);

    _afterTokenTransfer(address(0), account, amount);
  }

  function _burn(address account, uint256 amount) internal virtual {
    require(account != address(0), "ERC20: burn from the zero address");

    _beforeTokenTransfer(account, address(0), amount);

    uint256 accountBalance = _balances[account];
    require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
    unchecked {
      _balances[account] = accountBalance - amount;
    }
    _totalSupply -= amount;

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

    _afterTokenTransfer(account, address(0), amount);
  }

  function _approve(
      address owner,
      address spender,
      uint256 amount
      ) internal virtual {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");

    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  function _beforeTokenTransfer(
      address from,
      address to,
      uint256 amount
      ) internal virtual {}

  function _afterTokenTransfer(
      address from,
      address to,
      uint256 amount
      ) internal virtual {}
}

contract BEP20Token is ERC20 {

  uint8 private _decimals;
  uint256 private _chainId;

  address[] private _authorityAddresses;
  uint256 private _authorityThreshold;
  uint256 private _minBurnAmount;
  uint256 private _configurationNonce;

  mapping (address => mapping(string => uint256)) private _mintHistory;
  mapping (address => uint256) private _mintNonce;
  mapping (address => uint256[]) private _burnAmount;
  mapping (address => string[]) private _burnDestination;

  constructor() ERC20("Wrapped Dingocoin", "wDingocoin") {
    _decimals = 8;
    _chainId = 56;

    _authorityAddresses = [
      0x0bee89d055Bc18250C71B72B2e24EcF723e9a8ef,
      0xD14Bc59472b8f1fA5baA99a17855d06aD327dCae,
      0x3279f7B244F0194fd359D5AC29359ca676193aDb,
      0x9d046eDc2C80727259355E4CFBb8B72750348Ad9,
      0x5234B6a4df31598dc4B26183ad7C452E47AB267F
    ];
    _authorityThreshold = 3;
    _minBurnAmount = 1000000000;
    _configurationNonce = 0;

  }

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

  function _verifyAuthority(bytes32 dataHash, uint8[] calldata signV, bytes32[] calldata signR, bytes32[] calldata signS) private view {
    bytes32 prefixedHash = keccak256(abi.encodePacked(bytes("\x19Ethereum Signed Message:\n32"), dataHash));
    uint256 signatures = 0;
    for (uint256 i = 0; i < _authorityAddresses.length; i++) {
      if (ecrecover(prefixedHash, signV[i], signR[i], signS[i]) == _authorityAddresses[i]) {
        signatures++;
      }
      if (signatures >= _authorityThreshold) {
        break;
      }
    }
    require(signatures >= _authorityThreshold);
  }

  function authorityAddresses() external view returns (address[] memory) {
    return _authorityAddresses;
  }

  function authorityThreshold() external view returns (uint256) {
    return _authorityThreshold;
  }

  function minBurnAmount() external view returns (uint256) {
    return _minBurnAmount;
  }

  function configurationNonce() external view returns (uint256) {
    return _configurationNonce;
  }

  function configure(address[] calldata newAuthorityAddresses, uint256 newAuthorityThreshold, uint256 newMinBurnAmount,
      uint8[] calldata signV, bytes32[] calldata signR, bytes32[] calldata signS) external {

    require(newAuthorityAddresses.length >= 1);
    require(newAuthorityThreshold >= 1);
    require(signV.length == _authorityAddresses.length);
    require(signR.length == _authorityAddresses.length);
    require(signS.length == _authorityAddresses.length);

    _verifyAuthority(
        keccak256(abi.encode(_chainId, _configurationNonce, newAuthorityAddresses, newAuthorityThreshold, newMinBurnAmount)),
        signV, signR, signS);

    _configurationNonce++;
    _authorityAddresses = newAuthorityAddresses;
    _authorityThreshold = newAuthorityThreshold;
    _minBurnAmount = newMinBurnAmount;
  }

  function mintNonce(address addr) external view returns (uint256) {
    return _mintNonce[addr];
  }

  function mintHistory(address addr, string calldata depositAddress) external view returns (uint256, uint256) {
    return (_mintNonce[addr], _mintHistory[addr][depositAddress]);
  }

  function mint(string calldata depositAddress, uint256 amount,
      uint8[] calldata signV, bytes32[] calldata signR, bytes32[] calldata signS) external {
    require(signV.length == _authorityAddresses.length);
    require(signR.length == _authorityAddresses.length);
    require(signS.length == _authorityAddresses.length);

    _verifyAuthority(
        keccak256(abi.encode(_chainId, _msgSender(), _mintNonce[_msgSender()], depositAddress, amount)),
        signV, signR, signS);

    _mint(_msgSender(), amount);
    _mintNonce[_msgSender()]++;
    _mintHistory[_msgSender()][depositAddress] += amount;
  }

  function burnHistory(address addr) external view returns (string[] memory, uint256[] memory) {
    require(_burnDestination[addr].length == _burnAmount[addr].length);
    return (_burnDestination[addr], _burnAmount[addr]);
  }

  function burnHistory(address addr, uint256 index) external view returns (string memory, uint256) {
    require(_burnDestination[addr].length == _burnAmount[addr].length);
    return (_burnDestination[addr][index], _burnAmount[addr][index]);
  }

  function burnHistoryMultiple(address[] calldata addrs, uint256[] calldata indexes) external view returns (string[] memory, uint256[] memory) {
    require(addrs.length == indexes.length);
    string[] memory destinations = new string[](addrs.length);
    uint256[] memory amounts= new uint256[](addrs.length);
    for (uint256 i = 0; i < addrs.length; i++) {
      destinations[i] = _burnDestination[addrs[i]][indexes[i]];
      amounts[i] = _burnAmount[addrs[i]][indexes[i]];
    }
    return (destinations, amounts);
  }

  function burn(uint256 amount, string calldata destination) external {
    require(amount >= _minBurnAmount);
    _burn(_msgSender(), amount);
    _burnAmount[_msgSender()].push(amount);
    _burnDestination[_msgSender()].push(destination);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":[],"name":"authorityAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authorityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"destination","type":"string"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"burnHistory","outputs":[{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"burnHistory","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint256[]","name":"indexes","type":"uint256[]"}],"name":"burnHistoryMultiple","outputs":[{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"configurationNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"newAuthorityAddresses","type":"address[]"},{"internalType":"uint256","name":"newAuthorityThreshold","type":"uint256"},{"internalType":"uint256","name":"newMinBurnAmount","type":"uint256"},{"internalType":"uint8[]","name":"signV","type":"uint8[]"},{"internalType":"bytes32[]","name":"signR","type":"bytes32[]"},{"internalType":"bytes32[]","name":"signS","type":"bytes32[]"}],"name":"configure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minBurnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"depositAddress","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8[]","name":"signV","type":"uint8[]"},{"internalType":"bytes32[]","name":"signR","type":"bytes32[]"},{"internalType":"bytes32[]","name":"signS","type":"bytes32[]"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string","name":"depositAddress","type":"string"}],"name":"mintHistory","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"mintNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060408051808201825260118152702bb930b83832b2102234b733b7b1b7b4b760791b60208083019182528351808501909452600a8452693ba234b733b7b1b7b4b760b11b9084015281519192916200006d916003916200014a565b508051620000839060049060208401906200014a565b50506005805460ff1916600817815560386006556040805160a081018252730bee89d055bc18250c71b72b2e24ecf723e9a8ef815273d14bc59472b8f1fa5baa99a17855d06ad327dcae6020820152733279f7b244f0194fd359d5ac29359ca676193adb91810191909152739d046edc2c80727259355e4cfbb8b72750348ad96060820152735234b6a4df31598dc4b26183ad7c452e47ab267f6080820152620001319250600791620001d9565b506003600855633b9aca006009556000600a5562000285565b828054620001589062000248565b90600052602060002090601f0160209004810192826200017c5760008555620001c7565b82601f106200019757805160ff1916838001178555620001c7565b82800160010185558215620001c7579182015b82811115620001c7578251825591602001919060010190620001aa565b50620001d592915062000231565b5090565b828054828255906000526020600020908101928215620001c7579160200282015b82811115620001c757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620001fa565b5b80821115620001d5576000815560010162000232565b600181811c908216806200025d57607f821691505b602082108114156200027f57634e487b7160e01b600052602260045260246000fd5b50919050565b611da980620002956000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063839975bb116100c3578063b6a802731161007c578063b6a80273146102ce578063cbafd999146102ef578063dd62ed3e14610302578063e1ae33b61461033b578063f8c5f1ac14610343578063f90b27341461035657600080fd5b8063839975bb1461026f57806395d89b4114610277578063a457c2d71461027f578063a9059cbb14610292578063abc04094146102a5578063ac6fff0b146102c657600080fd5b8063313ce56711610115578063313ce567146101cd578063381d6936146101e2578063395093511461020b57806370a082311461021e5780637641e6f314610247578063814844a41461025c57600080fd5b806306fdde0314610152578063095ea7b3146101705780630b89b8051461019357806318160ddd146101a857806323b872dd146101ba575b600080fd5b61015a61037e565b6040516101679190611bb7565b60405180910390f35b61018361017e3660046117ef565b610410565b6040519015158152602001610167565b61019b610426565b6040516101679190611ad1565b6002545b604051908152602001610167565b6101836101c8366004611763565b610487565b60055460405160ff9091168152602001610167565b6101ac6101f0366004611710565b6001600160a01b03166000908152600c602052604090205490565b6101836102193660046117ef565b610536565b6101ac61022c366004611710565b6001600160a01b031660009081526020819052604090205490565b61025a610255366004611a21565b610572565b005b61025a61026a366004611881565b6105d6565b6009546101ac565b61015a610695565b61018361028d3660046117ef565b6106a4565b6101836102a03660046117ef565b61073d565b6102b86102b3366004611710565b61074a565b604051610167929190611b1e565b600a546101ac565b6102e16102dc3660046117ef565b6108c9565b604051610167929190611bca565b6102b86102fd366004611818565b610a24565b6101ac610310366004611731565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6008546101ac565b61025a610351366004611956565b610d42565b61036961036436600461179e565b610e35565b60408051928352602083019190915201610167565b60606003805461038d90611d07565b80601f01602080910402602001604051908101604052809291908181526020018280546103b990611d07565b80156104065780601f106103db57610100808354040283529160200191610406565b820191906000526020600020905b8154815290600101906020018083116103e957829003601f168201915b5050505050905090565b600061041d338484610e87565b50600192915050565b6060600780548060200260200160405190810160405280929190818152602001828054801561040657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610460575050505050905090565b6000610494848484610fac565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561051e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61052b8533858403610e87565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161041d91859061056d908690611cac565b610e87565b60095483101561058157600080fd5b61058b338461117a565b336000818152600d6020908152604080832080546001808201835591855283852001889055938352600e8252822080549384018155825290206105d091018383611585565b50505050565b60018910156105e457600080fd5b60018810156105f257600080fd5b600754851461060057600080fd5b600754831461060e57600080fd5b600754811461061c57600080fd5b61065f600654600a548c8c8c8c60405160200161063e96959493929190611c44565b604051602081830303815290604052805190602001208787878787876112c0565b600a805490600061066f83611d42565b90915550610681905060078b8b611609565b505050600895909555505050600955505050565b60606004805461038d90611d07565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610515565b6107333385858403610e87565b5060019392505050565b600061041d338484610fac565b6001600160a01b0381166000908152600d6020908152604080832054600e9092529091205460609182911461077e57600080fd5b6001600160a01b0383166000908152600e60209081526040808320600d83528184208154835181860281018601909452808452919490938592919084015b828210156108685783829060005260206000200180546107db90611d07565b80601f016020809104026020016040519081016040528092919081815260200182805461080790611d07565b80156108545780601f1061082957610100808354040283529160200191610854565b820191906000526020600020905b81548152906001019060200180831161083757829003601f168201915b5050505050815260200190600101906107bc565b505050509150808054806020026020016040519081016040528092919081815260200182805480156108b957602002820191906000526020600020905b8154815260200190600101908083116108a5575b5050505050905091509150915091565b6001600160a01b0382166000908152600d6020908152604080832054600e90925282205460609291146108fb57600080fd5b6001600160a01b0384166000908152600e6020526040902080548490811061093357634e487b7160e01b600052603260045260246000fd5b90600052602060002001600d6000866001600160a01b03166001600160a01b03168152602001908152602001600020848154811061098157634e487b7160e01b600052603260045260246000fd5b906000526020600020015481805461099890611d07565b80601f01602080910402602001604051908101604052809291908181526020018280546109c490611d07565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b50505050509150915091505b9250929050565b606080848314610a3357600080fd5b60008567ffffffffffffffff811115610a5c57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a8f57816020015b6060815260200190600190039081610a7a5790505b50905060008667ffffffffffffffff811115610abb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610ae4578160200160208202803683370190505b50905060005b87811015610d3457600e60008a8a84818110610b1657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b2b9190611710565b6001600160a01b03166001600160a01b03168152602001908152602001600020878783818110610b6b57634e487b7160e01b600052603260045260246000fd5b9050602002013581548110610b9057634e487b7160e01b600052603260045260246000fd5b906000526020600020018054610ba590611d07565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd190611d07565b8015610c1e5780601f10610bf357610100808354040283529160200191610c1e565b820191906000526020600020905b815481529060010190602001808311610c0157829003601f168201915b5050505050838281518110610c4357634e487b7160e01b600052603260045260246000fd5b6020026020010181905250600d60008a8a84818110610c7257634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c879190611710565b6001600160a01b03166001600160a01b03168152602001908152602001600020878783818110610cc757634e487b7160e01b600052603260045260246000fd5b9050602002013581548110610cec57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154828281518110610d1757634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610d2c81611d42565b915050610aea565b509097909650945050505050565b6007548514610d5057600080fd5b6007548314610d5e57600080fd5b6007548114610d6c57600080fd5b610da2600654610d793390565b336000908152600c602090815260409182902054915161063e949392918f918f918f9101611bec565b610dac33886114a6565b336000908152600c60205260408120805491610dc783611d42565b919050555086600b6000610dd83390565b6001600160a01b03166001600160a01b031681526020019081526020016000208a8a604051610e08929190611ac1565b90815260200160405180910390206000828254610e259190611cac565b9091555050505050505050505050565b6001600160a01b0383166000908152600c6020908152604080832054600b909252808320905183929190610e6c9087908790611ac1565b90815260200160405180910390205491509150935093915050565b6001600160a01b038316610ee95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610f4a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b0382166110725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b6001600160a01b038316600090815260208190526040902054818110156110ea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610515565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611121908490611cac565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116d91815260200190565b60405180910390a36105d0565b6001600160a01b0382166111da5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610515565b6001600160a01b0382166000908152602081905260409020548181101561124e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610515565b6001600160a01b038316600090815260208190526040812083830390556002805484929061127d908490611cc4565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610f9f565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152508860405160200161130a929190611a9f565b6040516020818303038152906040528051906020012090506000805b60075481101561148b576007818154811061135157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03166001848b8b8581811061138957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061139e9190611a52565b8a8a868181106113be57634e487b7160e01b600052603260045260246000fd5b905060200201358989878181106113e557634e487b7160e01b600052603260045260246000fd5b9050602002013560405160008152602001604052604051611422949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611444573d6000803e3d6000fd5b505050602060405103516001600160a01b0316141561146b578161146781611d42565b9250505b60085482106114795761148b565b8061148381611d42565b915050611326565b5060085481101561149b57600080fd5b505050505050505050565b6001600160a01b0382166114fc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610515565b806002600082825461150e9190611cac565b90915550506001600160a01b0382166000908152602081905260408120805483929061153b908490611cac565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805461159190611d07565b90600052602060002090601f0160209004810192826115b357600085556115f9565b82601f106115cc5782800160ff198235161785556115f9565b828001600101855582156115f9579182015b828111156115f95782358255916020019190600101906115de565b5061160592915061165c565b5090565b8280548282559060005260206000209081019282156115f9579160200282015b828111156115f95781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190611629565b5b80821115611605576000815560010161165d565b80356001600160a01b038116811461168857600080fd5b919050565b60008083601f84011261169e578182fd5b50813567ffffffffffffffff8111156116b5578182fd5b6020830191508360208260051b8501011115610a1d57600080fd5b60008083601f8401126116e1578182fd5b50813567ffffffffffffffff8111156116f8578182fd5b602083019150836020828501011115610a1d57600080fd5b600060208284031215611721578081fd5b61172a82611671565b9392505050565b60008060408385031215611743578081fd5b61174c83611671565b915061175a60208401611671565b90509250929050565b600080600060608486031215611777578081fd5b61178084611671565b925061178e60208501611671565b9150604084013590509250925092565b6000806000604084860312156117b2578283fd5b6117bb84611671565b9250602084013567ffffffffffffffff8111156117d6578283fd5b6117e2868287016116d0565b9497909650939450505050565b60008060408385031215611801578182fd5b61180a83611671565b946020939093013593505050565b6000806000806040858703121561182d578081fd5b843567ffffffffffffffff80821115611844578283fd5b6118508883890161168d565b90965094506020870135915080821115611868578283fd5b506118758782880161168d565b95989497509550505050565b60008060008060008060008060008060c08b8d03121561189f578586fd5b8a3567ffffffffffffffff808211156118b6578788fd5b6118c28e838f0161168d565b909c509a5060208d0135995060408d0135985060608d01359150808211156118e8578788fd5b6118f48e838f0161168d565b909850965060808d013591508082111561190c578586fd5b6119188e838f0161168d565b909650945060a08d0135915080821115611930578384fd5b5061193d8d828e0161168d565b915080935050809150509295989b9194979a5092959850565b600080600080600080600080600060a08a8c031215611973578485fd5b893567ffffffffffffffff8082111561198a578687fd5b6119968d838e016116d0565b909b50995060208c0135985060408c01359150808211156119b5578687fd5b6119c18d838e0161168d565b909850965060608c01359150808211156119d9578586fd5b6119e58d838e0161168d565b909650945060808c01359150808211156119fd578384fd5b50611a0a8c828d0161168d565b915080935050809150509295985092959850929598565b600080600060408486031215611a35578283fd5b83359250602084013567ffffffffffffffff8111156117d6578283fd5b600060208284031215611a63578081fd5b813560ff8116811461172a578182fd5b60008151808452611a8b816020860160208601611cdb565b601f01601f19169290920160200192915050565b60008351611ab1818460208801611cdb565b9190910191825250602001919050565b8183823760009101908152919050565b6020808252825182820181905260009190848201906040850190845b81811015611b125783516001600160a01b031683529284019291840191600101611aed565b50909695505050505050565b6000604082016040835280855180835260608501915060608160051b86010192506020808801855b83811015611b7457605f19888703018552611b62868351611a73565b95509382019390820190600101611b46565b505085840381870152865180855287820194820193509150845b82811015611baa57845184529381019392810192600101611b8e565b5091979650505050505050565b60208152600061172a6020830184611a73565b604081526000611bdd6040830185611a73565b90508260208301529392505050565b8681526001600160a01b03861660208201526040810185905260a0606082018190528101839052828460c083013760008060c0858401015260c0601f19601f8601168301019050826080830152979650505050505050565b868152602080820187905260a0604083018190528201859052600090869060c08401835b88811015611c94576001600160a01b03611c8185611671565b1682529282019290820190600101611c68565b50606085019690965250505060800152949350505050565b60008219821115611cbf57611cbf611d5d565b500190565b600082821015611cd657611cd6611d5d565b500390565b60005b83811015611cf6578181015183820152602001611cde565b838111156105d05750506000910152565b600181811c90821680611d1b57607f821691505b60208210811415611d3c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611d5657611d56611d5d565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212204371f3d134ccf9190414fd8b958172ab76721f409505128cb725f8022083146a64736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063839975bb116100c3578063b6a802731161007c578063b6a80273146102ce578063cbafd999146102ef578063dd62ed3e14610302578063e1ae33b61461033b578063f8c5f1ac14610343578063f90b27341461035657600080fd5b8063839975bb1461026f57806395d89b4114610277578063a457c2d71461027f578063a9059cbb14610292578063abc04094146102a5578063ac6fff0b146102c657600080fd5b8063313ce56711610115578063313ce567146101cd578063381d6936146101e2578063395093511461020b57806370a082311461021e5780637641e6f314610247578063814844a41461025c57600080fd5b806306fdde0314610152578063095ea7b3146101705780630b89b8051461019357806318160ddd146101a857806323b872dd146101ba575b600080fd5b61015a61037e565b6040516101679190611bb7565b60405180910390f35b61018361017e3660046117ef565b610410565b6040519015158152602001610167565b61019b610426565b6040516101679190611ad1565b6002545b604051908152602001610167565b6101836101c8366004611763565b610487565b60055460405160ff9091168152602001610167565b6101ac6101f0366004611710565b6001600160a01b03166000908152600c602052604090205490565b6101836102193660046117ef565b610536565b6101ac61022c366004611710565b6001600160a01b031660009081526020819052604090205490565b61025a610255366004611a21565b610572565b005b61025a61026a366004611881565b6105d6565b6009546101ac565b61015a610695565b61018361028d3660046117ef565b6106a4565b6101836102a03660046117ef565b61073d565b6102b86102b3366004611710565b61074a565b604051610167929190611b1e565b600a546101ac565b6102e16102dc3660046117ef565b6108c9565b604051610167929190611bca565b6102b86102fd366004611818565b610a24565b6101ac610310366004611731565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6008546101ac565b61025a610351366004611956565b610d42565b61036961036436600461179e565b610e35565b60408051928352602083019190915201610167565b60606003805461038d90611d07565b80601f01602080910402602001604051908101604052809291908181526020018280546103b990611d07565b80156104065780601f106103db57610100808354040283529160200191610406565b820191906000526020600020905b8154815290600101906020018083116103e957829003601f168201915b5050505050905090565b600061041d338484610e87565b50600192915050565b6060600780548060200260200160405190810160405280929190818152602001828054801561040657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610460575050505050905090565b6000610494848484610fac565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561051e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61052b8533858403610e87565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161041d91859061056d908690611cac565b610e87565b60095483101561058157600080fd5b61058b338461117a565b336000818152600d6020908152604080832080546001808201835591855283852001889055938352600e8252822080549384018155825290206105d091018383611585565b50505050565b60018910156105e457600080fd5b60018810156105f257600080fd5b600754851461060057600080fd5b600754831461060e57600080fd5b600754811461061c57600080fd5b61065f600654600a548c8c8c8c60405160200161063e96959493929190611c44565b604051602081830303815290604052805190602001208787878787876112c0565b600a805490600061066f83611d42565b90915550610681905060078b8b611609565b505050600895909555505050600955505050565b60606004805461038d90611d07565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610515565b6107333385858403610e87565b5060019392505050565b600061041d338484610fac565b6001600160a01b0381166000908152600d6020908152604080832054600e9092529091205460609182911461077e57600080fd5b6001600160a01b0383166000908152600e60209081526040808320600d83528184208154835181860281018601909452808452919490938592919084015b828210156108685783829060005260206000200180546107db90611d07565b80601f016020809104026020016040519081016040528092919081815260200182805461080790611d07565b80156108545780601f1061082957610100808354040283529160200191610854565b820191906000526020600020905b81548152906001019060200180831161083757829003601f168201915b5050505050815260200190600101906107bc565b505050509150808054806020026020016040519081016040528092919081815260200182805480156108b957602002820191906000526020600020905b8154815260200190600101908083116108a5575b5050505050905091509150915091565b6001600160a01b0382166000908152600d6020908152604080832054600e90925282205460609291146108fb57600080fd5b6001600160a01b0384166000908152600e6020526040902080548490811061093357634e487b7160e01b600052603260045260246000fd5b90600052602060002001600d6000866001600160a01b03166001600160a01b03168152602001908152602001600020848154811061098157634e487b7160e01b600052603260045260246000fd5b906000526020600020015481805461099890611d07565b80601f01602080910402602001604051908101604052809291908181526020018280546109c490611d07565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b50505050509150915091505b9250929050565b606080848314610a3357600080fd5b60008567ffffffffffffffff811115610a5c57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a8f57816020015b6060815260200190600190039081610a7a5790505b50905060008667ffffffffffffffff811115610abb57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610ae4578160200160208202803683370190505b50905060005b87811015610d3457600e60008a8a84818110610b1657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b2b9190611710565b6001600160a01b03166001600160a01b03168152602001908152602001600020878783818110610b6b57634e487b7160e01b600052603260045260246000fd5b9050602002013581548110610b9057634e487b7160e01b600052603260045260246000fd5b906000526020600020018054610ba590611d07565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd190611d07565b8015610c1e5780601f10610bf357610100808354040283529160200191610c1e565b820191906000526020600020905b815481529060010190602001808311610c0157829003601f168201915b5050505050838281518110610c4357634e487b7160e01b600052603260045260246000fd5b6020026020010181905250600d60008a8a84818110610c7257634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c879190611710565b6001600160a01b03166001600160a01b03168152602001908152602001600020878783818110610cc757634e487b7160e01b600052603260045260246000fd5b9050602002013581548110610cec57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154828281518110610d1757634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610d2c81611d42565b915050610aea565b509097909650945050505050565b6007548514610d5057600080fd5b6007548314610d5e57600080fd5b6007548114610d6c57600080fd5b610da2600654610d793390565b336000908152600c602090815260409182902054915161063e949392918f918f918f9101611bec565b610dac33886114a6565b336000908152600c60205260408120805491610dc783611d42565b919050555086600b6000610dd83390565b6001600160a01b03166001600160a01b031681526020019081526020016000208a8a604051610e08929190611ac1565b90815260200160405180910390206000828254610e259190611cac565b9091555050505050505050505050565b6001600160a01b0383166000908152600c6020908152604080832054600b909252808320905183929190610e6c9087908790611ac1565b90815260200160405180910390205491509150935093915050565b6001600160a01b038316610ee95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610f4a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b0382166110725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b6001600160a01b038316600090815260208190526040902054818110156110ea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610515565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611121908490611cac565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116d91815260200190565b60405180910390a36105d0565b6001600160a01b0382166111da5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610515565b6001600160a01b0382166000908152602081905260409020548181101561124e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610515565b6001600160a01b038316600090815260208190526040812083830390556002805484929061127d908490611cc4565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610f9f565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152508860405160200161130a929190611a9f565b6040516020818303038152906040528051906020012090506000805b60075481101561148b576007818154811061135157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03166001848b8b8581811061138957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061139e9190611a52565b8a8a868181106113be57634e487b7160e01b600052603260045260246000fd5b905060200201358989878181106113e557634e487b7160e01b600052603260045260246000fd5b9050602002013560405160008152602001604052604051611422949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611444573d6000803e3d6000fd5b505050602060405103516001600160a01b0316141561146b578161146781611d42565b9250505b60085482106114795761148b565b8061148381611d42565b915050611326565b5060085481101561149b57600080fd5b505050505050505050565b6001600160a01b0382166114fc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610515565b806002600082825461150e9190611cac565b90915550506001600160a01b0382166000908152602081905260408120805483929061153b908490611cac565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805461159190611d07565b90600052602060002090601f0160209004810192826115b357600085556115f9565b82601f106115cc5782800160ff198235161785556115f9565b828001600101855582156115f9579182015b828111156115f95782358255916020019190600101906115de565b5061160592915061165c565b5090565b8280548282559060005260206000209081019282156115f9579160200282015b828111156115f95781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190611629565b5b80821115611605576000815560010161165d565b80356001600160a01b038116811461168857600080fd5b919050565b60008083601f84011261169e578182fd5b50813567ffffffffffffffff8111156116b5578182fd5b6020830191508360208260051b8501011115610a1d57600080fd5b60008083601f8401126116e1578182fd5b50813567ffffffffffffffff8111156116f8578182fd5b602083019150836020828501011115610a1d57600080fd5b600060208284031215611721578081fd5b61172a82611671565b9392505050565b60008060408385031215611743578081fd5b61174c83611671565b915061175a60208401611671565b90509250929050565b600080600060608486031215611777578081fd5b61178084611671565b925061178e60208501611671565b9150604084013590509250925092565b6000806000604084860312156117b2578283fd5b6117bb84611671565b9250602084013567ffffffffffffffff8111156117d6578283fd5b6117e2868287016116d0565b9497909650939450505050565b60008060408385031215611801578182fd5b61180a83611671565b946020939093013593505050565b6000806000806040858703121561182d578081fd5b843567ffffffffffffffff80821115611844578283fd5b6118508883890161168d565b90965094506020870135915080821115611868578283fd5b506118758782880161168d565b95989497509550505050565b60008060008060008060008060008060c08b8d03121561189f578586fd5b8a3567ffffffffffffffff808211156118b6578788fd5b6118c28e838f0161168d565b909c509a5060208d0135995060408d0135985060608d01359150808211156118e8578788fd5b6118f48e838f0161168d565b909850965060808d013591508082111561190c578586fd5b6119188e838f0161168d565b909650945060a08d0135915080821115611930578384fd5b5061193d8d828e0161168d565b915080935050809150509295989b9194979a5092959850565b600080600080600080600080600060a08a8c031215611973578485fd5b893567ffffffffffffffff8082111561198a578687fd5b6119968d838e016116d0565b909b50995060208c0135985060408c01359150808211156119b5578687fd5b6119c18d838e0161168d565b909850965060608c01359150808211156119d9578586fd5b6119e58d838e0161168d565b909650945060808c01359150808211156119fd578384fd5b50611a0a8c828d0161168d565b915080935050809150509295985092959850929598565b600080600060408486031215611a35578283fd5b83359250602084013567ffffffffffffffff8111156117d6578283fd5b600060208284031215611a63578081fd5b813560ff8116811461172a578182fd5b60008151808452611a8b816020860160208601611cdb565b601f01601f19169290920160200192915050565b60008351611ab1818460208801611cdb565b9190910191825250602001919050565b8183823760009101908152919050565b6020808252825182820181905260009190848201906040850190845b81811015611b125783516001600160a01b031683529284019291840191600101611aed565b50909695505050505050565b6000604082016040835280855180835260608501915060608160051b86010192506020808801855b83811015611b7457605f19888703018552611b62868351611a73565b95509382019390820190600101611b46565b505085840381870152865180855287820194820193509150845b82811015611baa57845184529381019392810192600101611b8e565b5091979650505050505050565b60208152600061172a6020830184611a73565b604081526000611bdd6040830185611a73565b90508260208301529392505050565b8681526001600160a01b03861660208201526040810185905260a0606082018190528101839052828460c083013760008060c0858401015260c0601f19601f8601168301019050826080830152979650505050505050565b868152602080820187905260a0604083018190528201859052600090869060c08401835b88811015611c94576001600160a01b03611c8185611671565b1682529282019290820190600101611c68565b50606085019690965250505060800152949350505050565b60008219821115611cbf57611cbf611d5d565b500190565b600082821015611cd657611cd6611d5d565b500390565b60005b83811015611cf6578181015183820152602001611cde565b838111156105d05750506000910152565b600181811c90821680611d1b57607f821691505b60208210811415611d3c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611d5657611d56611d5d565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212204371f3d134ccf9190414fd8b958172ab76721f409505128cb725f8022083146a64736f6c63430008040033

Deployed Bytecode Sourcemap

5816:5156:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2350:159;;;;;;:::i;:::-;;:::i;:::-;;;10364:14:1;;10357:22;10339:41;;10327:2;10312:18;2350:159:0;10294:92:1;7502:110:0;;;:::i;:::-;;;;;;;:::i;1793:102::-;1877:12;;1793:102;;;15466:25:1;;;15454:2;15439:18;1793:102:0;15421:76:1;2515:456:0;;;;;;:::i;:::-;;:::i;6807:86::-;6878:9;;6807:86;;6878:9;;;;17543:36:1;;17531:2;17516:18;6807:86:0;17498:87:1;8771:101:0;;;;;;:::i;:::-;-1:-1:-1;;;;;8850:16:0;8827:7;8850:16;;;:10;:16;;;;;;;8771:101;2977:205;;;;;;:::i;:::-;;:::i;1901:121::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1998:18:0;1975:7;1998:18;;;;;;;;;;;;1901:121;10721:248;;;;;;:::i;:::-;;:::i;:::-;;7929:836;;;;;;:::i;:::-;;:::i;7725:91::-;7796:14;;7725:91;;1596:98;;;:::i;3188:385::-;;;;;;:::i;:::-;;:::i;2028:165::-;;;;;;:::i;:::-;;:::i;9696:229::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;7822:101::-;7898:19;;7822:101;;9931:247;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;10184:531::-;;;;;;:::i;:::-;;:::i;2199:145::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2311:18:0;;;2288:7;2311:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2199:145;7618:101;7694:19;;7618:101;;9066:624;;;;;;:::i;:::-;;:::i;8878:182::-;;;;;;:::i;:::-;;:::i;:::-;;;;16390:25:1;;;16446:2;16431:18;;16424:34;;;;16363:18;8878:182:0;16345:119:1;1496:94:0;1550:13;1579:5;1572:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:94;:::o;2350:159::-;2433:4;2446:39;1005:10;2469:7;2478:6;2446:8;:39::i;:::-;-1:-1:-1;2499:4:0;2350:159;;;;:::o;7502:110::-;7555:16;7587:19;7580:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7580:26:0;;;;;;;;;;;;;;;;;;;;;;7502:110;:::o;2515:456::-;2651:4;2664:36;2674:6;2682:9;2693:6;2664:9;:36::i;:::-;-1:-1:-1;;;;;2736:19:0;;2709:24;2736:19;;;:11;:19;;;;;;;;1005:10;2736:33;;;;;;;;2784:26;;;;2776:79;;;;-1:-1:-1;;;2776:79:0;;13134:2:1;2776:79:0;;;13116:21:1;13173:2;13153:18;;;13146:30;13212:34;13192:18;;;13185:62;-1:-1:-1;;;13263:18:1;;;13256:38;13311:19;;2776:79:0;;;;;;;;;2881:57;2890:6;1005:10;2931:6;2912:16;:25;2881:8;:57::i;:::-;-1:-1:-1;2961:4:0;;2515:456;-1:-1:-1;;;;2515:456:0:o;2977:205::-;1005:10;3065:4;3110:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3110:34:0;;;;;;;;;;3065:4;;3078:80;;3101:7;;3110:47;;3147:10;;3110:47;:::i;:::-;3078:8;:80::i;10721:248::-;10814:14;;10804:6;:24;;10796:33;;;;;;10836:27;1005:10;10856:6;10836:5;:27::i;:::-;1005:10;10870:25;;;;:11;:25;;;;;;;;:38;;;;;;;;;;;;;;;;;;10915:30;;;:16;:30;;;;:48;;;;;;;;;;;;;;10951:11;;10915:48;:::i;:::-;;10721:248;;;:::o;7929:836::-;8188:1;8156:33;;;8148:42;;;;;;8230:1;8205:21;:26;;8197:35;;;;;;8263:19;:26;8247:42;;8239:51;;;;;;8321:19;:26;8305:42;;8297:51;;;;;;8379:19;:26;8363:42;;8355:51;;;;;;8415:174;8463:8;;8473:19;;8494:21;;8517;8540:16;8452:105;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8442:116;;;;;;8569:5;;8576;;8583;;8415:16;:174::i;:::-;8598:19;:21;;;:19;:21;;;:::i;:::-;;;;-1:-1:-1;8626:43:0;;-1:-1:-1;8626:19:0;8648:21;;8626:43;:::i;:::-;-1:-1:-1;;;8676:19:0;:43;;;;-1:-1:-1;;;8726:14:0;:33;-1:-1:-1;;;7929:836:0:o;1596:98::-;1652:13;1681:7;1674:14;;;;;:::i;3188:385::-;1005:10;3281:4;3321:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3321:34:0;;;;;;;;;;3370:35;;;;3362:85;;;;-1:-1:-1;;;3362:85:0;;14756:2:1;3362:85:0;;;14738:21:1;14795:2;14775:18;;;14768:30;14834:34;14814:18;;;14807:62;-1:-1:-1;;;14885:18:1;;;14878:35;14930:19;;3362:85:0;14728:227:1;3362:85:0;3473:67;1005:10;3496:7;3524:15;3505:16;:34;3473:8;:67::i;:::-;-1:-1:-1;3563:4:0;;3188:385;-1:-1:-1;;;3188:385:0:o;2028:165::-;2114:4;2127:42;1005:10;2151:9;2162:6;2127:9;:42::i;9696:229::-;-1:-1:-1;;;;;9837:17:0;;;;;;:11;:17;;;;;;;;:24;9804:16;:22;;;;;;:29;9754:15;;;;9804:57;9796:66;;;;;;-1:-1:-1;;;;;9877:22:0;;;;;;:16;:22;;;;;;;;9901:11;:17;;;;;9869:50;;;;;;;;;;;;;;;;;9877:22;;9901:17;;9877:22;;9869:50;9877:22;9869:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9696:229;;;:::o;9931:247::-;-1:-1:-1;;;;;10076:17:0;;10019:7;10076:17;;;:11;:17;;;;;;;;:24;10043:16;:22;;;;;:29;10004:13;;10019:7;10043:57;10035:66;;;;;;-1:-1:-1;;;;;10116:22:0;;;;;;:16;:22;;;;;:29;;10139:5;;10116:29;;;;-1:-1:-1;;;10116:29:0;;;;;;;;;;;;;;;;10147:11;:17;10159:4;-1:-1:-1;;;;;10147:17:0;-1:-1:-1;;;;;10147:17:0;;;;;;;;;;;;10165:5;10147:24;;;;;;-1:-1:-1;;;10147:24:0;;;;;;;;;;;;;;;;;10108:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9931:247;;;;;;:::o;10184:531::-;10290:15;;10340:30;;;10332:39;;;;;;10378:28;10422:5;10409:26;;;;;;-1:-1:-1;;;10409:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10378:57:0;-1:-1:-1;10442:24:0;10482:5;10468:27;;;;;;-1:-1:-1;;;10468:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10468:27:0;;10442:53;;10507:9;10502:171;10522:16;;;10502:171;;;10572:16;:26;10589:5;;10595:1;10589:8;;;;;-1:-1:-1;;;10589:8:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10572:26:0;-1:-1:-1;;;;;10572:26:0;;;;;;;;;;;;10599:7;;10607:1;10599:10;;;;;-1:-1:-1;;;10599:10:0;;;;;;;;;;;;;;;10572:38;;;;;;-1:-1:-1;;;10572:38:0;;;;;;;;;;;;;;;;10554:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;10567:1;10554:15;;;;;;-1:-1:-1;;;10554:15:0;;;;;;;;;;;;;;:56;;;;10632:11;:21;10644:5;;10650:1;10644:8;;;;;-1:-1:-1;;;10644:8:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10632:21:0;-1:-1:-1;;;;;10632:21:0;;;;;;;;;;;;10654:7;;10662:1;10654:10;;;;;-1:-1:-1;;;10654:10:0;;;;;;;;;;;;;;;10632:33;;;;;;-1:-1:-1;;;10632:33:0;;;;;;;;;;;;;;;;;10619:7;10627:1;10619:10;;;;;;-1:-1:-1;;;10619:10:0;;;;;;;;;;;;;;;;;;:46;10540:3;;;;:::i;:::-;;;;10502:171;;;-1:-1:-1;10687:12:0;;;;-1:-1:-1;10184:531:0;-1:-1:-1;;;;;10184:531:0:o;9066:624::-;9251:19;:26;9235:42;;9227:51;;;;;;9309:19;:26;9293:42;;9285:51;;;;;;9367:19;:26;9351:42;;9343:51;;;;;;9403:153;9451:8;;9461:12;1005:10;;934:84;9461:12;1005:10;9475:24;;;;:10;:24;;;;;;;;;;9440:84;;;;;;9475:24;9501:14;;;;9517:6;;9440:84;;:::i;9403:153::-;9565:27;1005:10;9585:6;9565:5;:27::i;:::-;1005:10;9599:24;;;;:10;:24;;;;;:26;;;;;;:::i;:::-;;;;;;9678:6;9632:12;:26;9645:12;1005:10;;934:84;9645:12;-1:-1:-1;;;;;9632:26:0;-1:-1:-1;;;;;9632:26:0;;;;;;;;;;;;9659:14;;9632:42;;;;;;;:::i;:::-;;;;;;;;;;;;;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;;;;9066:624:0:o;8878:182::-;-1:-1:-1;;;;;9001:16:0;;8968:7;9001:16;;;:10;:16;;;;;;;;;9019:12;:18;;;;;;:34;;8968:7;;9001:16;9019:18;:34;;9038:14;;;;9019:34;:::i;:::-;;;;;;;;;;;;;;8993:61;;;;8878:182;;;;;;:::o;5198:358::-;-1:-1:-1;;;;;5326:19:0;;5318:68;;;;-1:-1:-1;;;5318:68:0;;14351:2:1;5318:68:0;;;14333:21:1;14390:2;14370:18;;;14363:30;14429:34;14409:18;;;14402:62;-1:-1:-1;;;14480:18:1;;;14473:34;14524:19;;5318:68:0;14323:226:1;5318:68:0;-1:-1:-1;;;;;5401:21:0;;5393:68;;;;-1:-1:-1;;;5393:68:0;;12324:2:1;5393:68:0;;;12306:21:1;12363:2;12343:18;;;12336:30;12402:34;12382:18;;;12375:62;-1:-1:-1;;;12453:18:1;;;12446:32;12495:19;;5393:68:0;12296:224:1;5393:68:0;-1:-1:-1;;;;;5470:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5518:32;;15466:25:1;;;5518:32:0;;15439:18:1;5518:32:0;;;;;;;;5198:358;;;:::o;3579:681::-;-1:-1:-1;;;;;3711:20:0;;3703:70;;;;-1:-1:-1;;;3703:70:0;;13945:2:1;3703:70:0;;;13927:21:1;13984:2;13964:18;;;13957:30;14023:34;14003:18;;;13996:62;-1:-1:-1;;;14074:18:1;;;14067:35;14119:19;;3703:70:0;13917:227:1;3703:70:0;-1:-1:-1;;;;;3788:23:0;;3780:71;;;;-1:-1:-1;;;3780:71:0;;11517:2:1;3780:71:0;;;11499:21:1;11556:2;11536:18;;;11529:30;11595:34;11575:18;;;11568:62;-1:-1:-1;;;11646:18:1;;;11639:33;11689:19;;3780:71:0;11489:225:1;3780:71:0;-1:-1:-1;;;;;3940:17:0;;3916:21;3940:17;;;;;;;;;;;3972:23;;;;3964:74;;;;-1:-1:-1;;;3964:74:0;;12727:2:1;3964:74:0;;;12709:21:1;12766:2;12746:18;;;12739:30;12805:34;12785:18;;;12778:62;-1:-1:-1;;;12856:18:1;;;12849:36;12902:19;;3964:74:0;12699:228:1;3964:74:0;-1:-1:-1;;;;;4064:17:0;;;:9;:17;;;;;;;;;;;4084:22;;;4064:42;;4120:20;;;;;;;;:30;;4100:6;;4064:9;4120:30;;4100:6;;4120:30;:::i;:::-;;;;;;;;4181:9;-1:-1:-1;;;;;4164:35:0;4173:6;-1:-1:-1;;;;;4164:35:0;;4192:6;4164:35;;;;15466:25:1;;15454:2;15439:18;;15421:76;4164:35:0;;;;;;;;4208:46;4645:547;;-1:-1:-1;;;;;4725:21:0;;4717:67;;;;-1:-1:-1;;;4717:67:0;;13543:2:1;4717:67:0;;;13525:21:1;13582:2;13562:18;;;13555:30;13621:34;13601:18;;;13594:62;-1:-1:-1;;;13672:18:1;;;13665:31;13713:19;;4717:67:0;13515:223:1;4717:67:0;-1:-1:-1;;;;;4876:18:0;;4851:22;4876:18;;;;;;;;;;;4909:24;;;;4901:71;;;;-1:-1:-1;;;4901:71:0;;11921:2:1;4901:71:0;;;11903:21:1;11960:2;11940:18;;;11933:30;11999:34;11979:18;;;11972:62;-1:-1:-1;;;12050:18:1;;;12043:32;12092:19;;4901:71:0;11893:224:1;4901:71:0;-1:-1:-1;;;;;4998:18:0;;:9;:18;;;;;;;;;;5019:23;;;4998:44;;5056:12;:22;;5036:6;;4998:9;5056:22;;5036:6;;5056:22;:::i;:::-;;;;-1:-1:-1;;5092:37:0;;15466:25:1;;;5118:1:0;;-1:-1:-1;;;;;5092:37:0;;;;;15454:2:1;15439:18;5092:37:0;15421:76:1;6899:597:0;7039:20;7089:41;;;;;;;;;;;;;;;;;7132:8;7072:69;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7062:80;;;;;;7039:103;;7149:18;7183:9;7178:264;7202:19;:26;7198:30;;7178:264;;;7305:19;7325:1;7305:22;;;;;;-1:-1:-1;;;7305:22:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7305:22:0;;7258:12;7272:5;;7278:1;7272:8;;;;;-1:-1:-1;;;7272:8:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7282:5;;7288:1;7282:8;;;;;-1:-1:-1;;;7282:8:0;;;;;;;;;;;;;;;7292:5;;7298:1;7292:8;;;;;-1:-1:-1;;;7292:8:0;;;;;;;;;;;;;;;7248:53;;;;;;;;;;;;;;;;;10618:25:1;;;10691:4;10679:17;;;;10674:2;10659:18;;10652:45;10728:2;10713:18;;10706:34;10771:2;10756:18;;10749:34;10605:3;10590:19;;10572:217;7248:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7248:79:0;;7244:118;;;7340:12;;;;:::i;:::-;;;;7244:118;7388:19;;7374:10;:33;7370:65;;7420:5;;7370:65;7230:3;;;;:::i;:::-;;;;7178:264;;;;7470:19;;7456:10;:33;;7448:42;;;;;;6899:597;;;;;;;;;:::o;4266:373::-;-1:-1:-1;;;;;4346:21:0;;4338:65;;;;-1:-1:-1;;;4338:65:0;;15162:2:1;4338:65:0;;;15144:21:1;15201:2;15181:18;;;15174:30;15240:33;15220:18;;;15213:61;15291:18;;4338:65:0;15134:181:1;4338:65:0;4486:6;4470:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;4499:18:0;;:9;:18;;;;;;;;;;:28;;4521:6;;4499:9;:28;;4521:6;;4499:28;:::i;:::-;;;;-1:-1:-1;;4539:37:0;;15466:25:1;;;-1:-1:-1;;;;;4539:37:0;;;4556:1;;4539:37;;15454:2:1;15439:18;4539:37:0;;;;;;;4266:373;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:395::-;255:8;265:6;319:3;312:4;304:6;300:17;296:27;286:2;;344:8;334;327:26;286:2;-1:-1:-1;374:20:1;;417:18;406:30;;403:2;;;456:8;446;439:26;403:2;500:4;492:6;488:17;476:29;;560:3;553:4;543:6;540:1;536:14;528:6;524:27;520:38;517:47;514:2;;;577:1;574;567:12;592:376;644:8;654:6;708:3;701:4;693:6;689:17;685:27;675:2;;733:8;723;716:26;675:2;-1:-1:-1;763:20:1;;806:18;795:30;;792:2;;;845:8;835;828:26;792:2;889:4;881:6;877:17;865:29;;941:3;934:4;925:6;917;913:19;909:30;906:39;903:2;;;958:1;955;948:12;973:196;1032:6;1085:2;1073:9;1064:7;1060:23;1056:32;1053:2;;;1106:6;1098;1091:22;1053:2;1134:29;1153:9;1134:29;:::i;:::-;1124:39;1043:126;-1:-1:-1;;;1043:126:1:o;1174:270::-;1242:6;1250;1303:2;1291:9;1282:7;1278:23;1274:32;1271:2;;;1324:6;1316;1309:22;1271:2;1352:29;1371:9;1352:29;:::i;:::-;1342:39;;1400:38;1434:2;1423:9;1419:18;1400:38;:::i;:::-;1390:48;;1261:183;;;;;:::o;1449:338::-;1526:6;1534;1542;1595:2;1583:9;1574:7;1570:23;1566:32;1563:2;;;1616:6;1608;1601:22;1563:2;1644:29;1663:9;1644:29;:::i;:::-;1634:39;;1692:38;1726:2;1715:9;1711:18;1692:38;:::i;:::-;1682:48;;1777:2;1766:9;1762:18;1749:32;1739:42;;1553:234;;;;;:::o;1792:505::-;1872:6;1880;1888;1941:2;1929:9;1920:7;1916:23;1912:32;1909:2;;;1962:6;1954;1947:22;1909:2;1990:29;2009:9;1990:29;:::i;:::-;1980:39;;2070:2;2059:9;2055:18;2042:32;2097:18;2089:6;2086:30;2083:2;;;2134:6;2126;2119:22;2083:2;2178:59;2229:7;2220:6;2209:9;2205:22;2178:59;:::i;:::-;1899:398;;2256:8;;-1:-1:-1;2152:85:1;;-1:-1:-1;;;;1899:398:1:o;2302:264::-;2370:6;2378;2431:2;2419:9;2410:7;2406:23;2402:32;2399:2;;;2452:6;2444;2437:22;2399:2;2480:29;2499:9;2480:29;:::i;:::-;2470:39;2556:2;2541:18;;;;2528:32;;-1:-1:-1;;;2389:177:1:o;2571:803::-;2693:6;2701;2709;2717;2770:2;2758:9;2749:7;2745:23;2741:32;2738:2;;;2791:6;2783;2776:22;2738:2;2836:9;2823:23;2865:18;2906:2;2898:6;2895:14;2892:2;;;2927:6;2919;2912:22;2892:2;2971:70;3033:7;3024:6;3013:9;3009:22;2971:70;:::i;:::-;3060:8;;-1:-1:-1;2945:96:1;-1:-1:-1;3148:2:1;3133:18;;3120:32;;-1:-1:-1;3164:16:1;;;3161:2;;;3198:6;3190;3183:22;3161:2;;3242:72;3306:7;3295:8;3284:9;3280:24;3242:72;:::i;:::-;2728:646;;;;-1:-1:-1;3333:8:1;-1:-1:-1;;;;2728:646:1:o;3379:1590::-;3589:6;3597;3605;3613;3621;3629;3637;3645;3653;3661;3714:3;3702:9;3693:7;3689:23;3685:33;3682:2;;;3736:6;3728;3721:22;3682:2;3781:9;3768:23;3810:18;3851:2;3843:6;3840:14;3837:2;;;3872:6;3864;3857:22;3837:2;3916:70;3978:7;3969:6;3958:9;3954:22;3916:70;:::i;:::-;4005:8;;-1:-1:-1;3890:96:1;-1:-1:-1;4087:2:1;4072:18;;4059:32;;-1:-1:-1;4138:2:1;4123:18;;4110:32;;-1:-1:-1;4195:2:1;4180:18;;4167:32;;-1:-1:-1;4211:16:1;;;4208:2;;;4245:6;4237;4230:22;4208:2;4289:72;4353:7;4342:8;4331:9;4327:24;4289:72;:::i;:::-;4380:8;;-1:-1:-1;4263:98:1;-1:-1:-1;4468:3:1;4453:19;;4440:33;;-1:-1:-1;4485:16:1;;;4482:2;;;4519:6;4511;4504:22;4482:2;4563:72;4627:7;4616:8;4605:9;4601:24;4563:72;:::i;:::-;4654:8;;-1:-1:-1;4537:98:1;-1:-1:-1;4742:3:1;4727:19;;4714:33;;-1:-1:-1;4759:16:1;;;4756:2;;;4793:6;4785;4778:22;4756:2;;4837:72;4901:7;4890:8;4879:9;4875:24;4837:72;:::i;:::-;4811:98;;4928:8;4918:18;;;4955:8;4945:18;;;3672:1297;;;;;;;;;;;;;:::o;4974:1495::-;5160:6;5168;5176;5184;5192;5200;5208;5216;5224;5277:3;5265:9;5256:7;5252:23;5248:33;5245:2;;;5299:6;5291;5284:22;5245:2;5344:9;5331:23;5373:18;5414:2;5406:6;5403:14;5400:2;;;5435:6;5427;5420:22;5400:2;5479:59;5530:7;5521:6;5510:9;5506:22;5479:59;:::i;:::-;5557:8;;-1:-1:-1;5453:85:1;-1:-1:-1;5639:2:1;5624:18;;5611:32;;-1:-1:-1;5696:2:1;5681:18;;5668:32;;-1:-1:-1;5712:16:1;;;5709:2;;;5746:6;5738;5731:22;5709:2;5790:72;5854:7;5843:8;5832:9;5828:24;5790:72;:::i;:::-;5881:8;;-1:-1:-1;5764:98:1;-1:-1:-1;5969:2:1;5954:18;;5941:32;;-1:-1:-1;5985:16:1;;;5982:2;;;6019:6;6011;6004:22;5982:2;6063:72;6127:7;6116:8;6105:9;6101:24;6063:72;:::i;:::-;6154:8;;-1:-1:-1;6037:98:1;-1:-1:-1;6242:3:1;6227:19;;6214:33;;-1:-1:-1;6259:16:1;;;6256:2;;;6293:6;6285;6278:22;6256:2;;6337:72;6401:7;6390:8;6379:9;6375:24;6337:72;:::i;:::-;6311:98;;6428:8;6418:18;;;6455:8;6445:18;;;5235:1234;;;;;;;;;;;:::o;6474:499::-;6554:6;6562;6570;6623:2;6611:9;6602:7;6598:23;6594:32;6591:2;;;6644:6;6636;6629:22;6591:2;6685:9;6672:23;6662:33;;6746:2;6735:9;6731:18;6718:32;6773:18;6765:6;6762:30;6759:2;;;6810:6;6802;6795:22;6978:289;7035:6;7088:2;7076:9;7067:7;7063:23;7059:32;7056:2;;;7109:6;7101;7094:22;7056:2;7153:9;7140:23;7203:4;7196:5;7192:16;7185:5;7182:27;7172:2;;7228:6;7220;7213:22;7272:258;7314:3;7352:5;7346:12;7379:6;7374:3;7367:19;7395:63;7451:6;7444:4;7439:3;7435:14;7428:4;7421:5;7417:16;7395:63;:::i;:::-;7512:2;7491:15;-1:-1:-1;;7487:29:1;7478:39;;;;7519:4;7474:50;;7322:208;-1:-1:-1;;7322:208:1:o;7535:370::-;7692:3;7730:6;7724:13;7746:53;7792:6;7787:3;7780:4;7772:6;7768:17;7746:53;:::i;:::-;7821:16;;;;7846:21;;;-1:-1:-1;7894:4:1;7883:16;;7700:205;-1:-1:-1;7700:205:1:o;7910:275::-;8095:6;8087;8082:3;8069:33;8051:3;8121:16;;8146:15;;;8121:16;8059:126;-1:-1:-1;8059:126:1:o;8190:661::-;8361:2;8413:21;;;8483:13;;8386:18;;;8505:22;;;8332:4;;8361:2;8584:15;;;;8558:2;8543:18;;;8332:4;8630:195;8644:6;8641:1;8638:13;8630:195;;;8709:13;;-1:-1:-1;;;;;8705:39:1;8693:52;;8800:15;;;;8765:12;;;;8741:1;8659:9;8630:195;;;-1:-1:-1;8842:3:1;;8341:510;-1:-1:-1;;;;;;8341:510:1:o;8856:1338::-;9096:4;9144:2;9133:9;9129:18;9174:2;9163:9;9156:21;9197:6;9232;9226:13;9263:6;9255;9248:22;9301:2;9290:9;9286:18;9279:25;;9363:2;9353:6;9350:1;9346:14;9335:9;9331:30;9327:39;9313:53;;9385:4;9424:2;9416:6;9412:15;9445:4;9458:255;9472:6;9469:1;9466:13;9458:255;;;9565:2;9561:7;9549:9;9541:6;9537:22;9533:36;9528:3;9521:49;9593:40;9626:6;9617;9611:13;9593:40;:::i;:::-;9583:50;-1:-1:-1;9691:12:1;;;;9656:15;;;;9494:1;9487:9;9458:255;;;-1:-1:-1;;9749:22:1;;;9729:18;;;9722:50;9825:13;;9847:24;;;9929:15;;;;9889;;;-1:-1:-1;9825:13:1;-1:-1:-1;9964:4:1;9977:189;9993:8;9988:3;9985:17;9977:189;;;10062:15;;10048:30;;10139:17;;;;10100:14;;;;10021:1;10012:11;9977:189;;;-1:-1:-1;10183:5:1;;9105:1089;-1:-1:-1;;;;;;;9105:1089:1:o;10794:220::-;10943:2;10932:9;10925:21;10906:4;10963:45;11004:2;10993:9;10989:18;10981:6;10963:45;:::i;11019:291::-;11196:2;11185:9;11178:21;11159:4;11216:45;11257:2;11246:9;11242:18;11234:6;11216:45;:::i;:::-;11208:53;;11297:6;11292:2;11281:9;11277:18;11270:34;11168:142;;;;;:::o;15502:709::-;15755:25;;;-1:-1:-1;;;;;15816:32:1;;15811:2;15796:18;;15789:60;15880:2;15865:18;;15858:34;;;15836:3;15923:2;15908:18;;15901:31;;;15948:19;;15941:35;;;15969:6;16019;16013:3;15998:19;;15985:49;15736:4;16084;16078:3;16069:6;16058:9;16054:22;16050:32;16043:46;16157:3;16150:2;16146:7;16141:2;16133:6;16129:15;16125:29;16114:9;16110:45;16106:55;16098:63;;16198:6;16192:3;16181:9;16177:19;16170:35;15745:466;;;;;;;;;:::o;16469:927::-;16794:25;;;16838:2;16856:18;;;16849:34;;;16781:3;16914:2;16899:18;;16892:31;;;16766:19;;16958:22;;;16733:4;;17038:6;;17011:3;16996:19;;16733:4;17075:208;17089:6;17086:1;17083:13;17075:208;;;-1:-1:-1;;;;;17154:26:1;17173:6;17154:26;:::i;:::-;17150:52;17138:65;;17258:15;;;;17223:12;;;;17111:1;17104:9;17075:208;;;-1:-1:-1;17334:2:1;17319:18;;17312:34;;;;-1:-1:-1;;;17377:3:1;17362:19;17355:35;17300:3;16742:654;-1:-1:-1;;;;16742:654:1:o;17590:128::-;17630:3;17661:1;17657:6;17654:1;17651:13;17648:2;;;17667:18;;:::i;:::-;-1:-1:-1;17703:9:1;;17638:80::o;17723:125::-;17763:4;17791:1;17788;17785:8;17782:2;;;17796:18;;:::i;:::-;-1:-1:-1;17833:9:1;;17772:76::o;17853:258::-;17925:1;17935:113;17949:6;17946:1;17943:13;17935:113;;;18025:11;;;18019:18;18006:11;;;17999:39;17971:2;17964:10;17935:113;;;18066:6;18063:1;18060:13;18057:2;;;-1:-1:-1;;18101:1:1;18083:16;;18076:27;17906:205::o;18116:380::-;18195:1;18191:12;;;;18238;;;18259:2;;18313:4;18305:6;18301:17;18291:27;;18259:2;18366;18358:6;18355:14;18335:18;18332:38;18329:2;;;18412:10;18407:3;18403:20;18400:1;18393:31;18447:4;18444:1;18437:15;18475:4;18472:1;18465:15;18329:2;;18171:325;;;:::o;18501:135::-;18540:3;-1:-1:-1;;18561:17:1;;18558:2;;;18581:18;;:::i;:::-;-1:-1:-1;18628:1:1;18617:13;;18548:88::o;18641:127::-;18702:10;18697:3;18693:20;18690:1;18683:31;18733:4;18730:1;18723:15;18757:4;18754:1;18747:15

Swarm Source

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