ETH Price: $3,281.30 (+0.81%)
Gas: 8 Gwei

Token

runes (runes)
 

Overview

Max Total Supply

100,000,000 runes

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
70,000,000 runes

Value
$0.00
0x6af9b8d37f96449a477f6fe565f48e0a939d06b2
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:
Runes

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-15
*/

pragma solidity 0.5.16;

interface IBEP20 {
  function totalSupply() external view returns (uint256);
  function decimals() external view returns (uint8);
  function symbol() external view returns (string memory);
  function name() external view returns (string memory);
  function getOwner() external view returns (address);
  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);
}

contract Context {
  constructor () internal {}

  function _msgSender() internal view returns (address payable) {
    return msg.sender;
  }

  function _msgData() internal view returns (bytes memory) {
    this;
    return msg.data;
  }
}

library SafeMath {
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");

    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;

    return c;
  }

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b, "SafeMath: multiplication overflow");

    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return div(a, b, "SafeMath: division by zero");
  }

  function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b > 0, errorMessage);
    uint256 c = a / b;

    return c;
  }

  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    return mod(a, b, "SafeMath: modulo by zero");
  }

  function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b != 0, errorMessage);
    return a % b;
  }
}

contract Ownable is Context {
  address private _owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  constructor () internal {
    address msgSender = _msgSender();
    _owner = msgSender;
    emit OwnershipTransferred(address(0), msgSender);
  }

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

  modifier onlyOwner() {
    require(_owner == _msgSender(), "Ownable: caller is not the owner");
    _;
  }

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

  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0), "Ownable: new owner is the zero address");
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

contract Blacklistable is Ownable {
  mapping (address => bool) public isBlacklisted;

  event AddedBlacklist(address _user);
  event RemovedBlacklist(address _user);

  modifier onlyNotBlacklisted() {
    require(isBlacklisted[_msgSender()] == false, "Blacklistable: caller is blacklisted");
    _;
  }

  function getBlacklistStatus(address account) external view returns (bool) {
    return isBlacklisted[account];
  }

  function addBlacklist (address account) public onlyOwner {
    isBlacklisted[account] = true;
    emit AddedBlacklist(account);
  }

  function removeBlacklist (address account) public onlyOwner {
    isBlacklisted[account] = false;
    emit RemovedBlacklist(account);
  }
}

contract Runes is Context, IBEP20, Ownable, Blacklistable {
  using SafeMath for uint256;

  mapping (address => uint256) private _balances;

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

  uint256 private _totalSupply;
  uint8 private _decimals;
  string private _symbol;
  string private _name;

  constructor() public {
    _name = "runes";
    _symbol = "runes";
    _decimals = 18;
    _totalSupply = 100000000000000000000000000; //44 Million
    _balances[msg.sender] = _totalSupply;

    emit Transfer(address(0), msg.sender, _totalSupply);
  }

  function getOwner() external view returns (address) {
    return owner();
  }

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

  function symbol() external view returns (string memory) {
    return _symbol;
  }

  function name() external view returns (string memory) {
    return _name;
  }

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

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

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

  function transferFrom(address sender, address recipient, uint256 amount) public onlyNotBlacklisted returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));
    return true;
  }

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

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

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

  function decreaseAllowance(address spender, uint256 subtractedValue) public onlyNotBlacklisted returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero"));
    return true;
  }

  function burn(uint256 amount) public onlyOwner returns (bool) {
    _burn(_msgSender(), amount);
    return true;
  }

  function batchTransfer(address[] memory recipients, uint256[] memory amounts) public onlyNotBlacklisted returns (bool) {
    require(recipients.length == amounts.length);
    for (uint256 i = 0; i < recipients.length; i++) {
      require(transfer(recipients[i], amounts[i]));
    }
    return true;
  }

  function batchTransferFrom(address sender, address[] memory recipients, uint256[] memory amounts) public onlyNotBlacklisted returns (bool) {
    require(recipients.length == amounts.length);
    for (uint256 i = 0; i < amounts.length; i++) {
      require(transferFrom(sender, recipients[i], amounts[i]));
    }
    return true;
  }

  function batchTransferFromMany(address[] memory senders, address recipient, uint256[] memory amounts) public onlyNotBlacklisted returns (bool) {
    require(senders.length == amounts.length);
    for (uint256 i = 0; i < amounts.length; i++) {
      require(transferFrom(senders[i], recipient, amounts[i]));
    }
    return true;
  }

  function batchTransferFromManyToMany(address[] memory senders, address[] memory recipients, uint256[] memory amounts) public onlyNotBlacklisted returns (bool) {
    require(senders.length == recipients.length);
    require(senders.length == amounts.length);
    for (uint i = 0; i < amounts.length; i++) {
      require(transferFrom(senders[i], recipients[i], amounts[i]));
    }
    return true;
  }

  function batchApprove(address[] memory spenders, uint256[] memory amounts) public onlyNotBlacklisted returns (bool) {
    require(spenders.length == amounts.length);
    for (uint256 i = 0; i < amounts.length; i++) {
      require(approve(spenders[i], amounts[i]));
    }
    return true;
  }

  function batchIncreaseAllowance(address[] memory spenders, uint256[] memory addedValues) public onlyNotBlacklisted returns (bool) {
    require(spenders.length == addedValues.length);
    for (uint256 i = 0; i < addedValues.length; i++) {
      require(increaseAllowance(spenders[i], addedValues[i]));
    }
    return true;
  }

  function batchDecreaseAllowance(address[] memory spenders, uint256[] memory subtractedValues) public onlyNotBlacklisted returns (bool) {
    require(spenders.length == subtractedValues.length);
    for (uint256 i = 0; i < subtractedValues.length; i++) {
      require(decreaseAllowance(spenders[i], subtractedValues[i]));
    }
    return true;
  }

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

    _balances[sender] = _balances[sender].sub(amount, "BEP20: transfer amount exceeds balance");
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
  }

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

    _balances[account] = _balances[account].sub(amount, "BEP20: burn amount exceeds balance");
    _totalSupply = _totalSupply.sub(amount);
    emit Transfer(account, address(0), amount);
  }

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"RemovedBlacklist","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"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"spenders","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchApprove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"spenders","type":"address[]"},{"internalType":"uint256[]","name":"subtractedValues","type":"uint256[]"}],"name":"batchDecreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"spenders","type":"address[]"},{"internalType":"uint256[]","name":"addedValues","type":"uint256[]"}],"name":"batchIncreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"senders","type":"address[]"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransferFromMany","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"senders","type":"address[]"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransferFromManyToMany","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getBlacklistStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506000620000246200024060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600581526020017f72756e6573000000000000000000000000000000000000000000000000000000815250600790805190602001906200010f92919062000248565b506040518060400160405280600581526020017f72756e6573000000000000000000000000000000000000000000000000000000815250600690805190602001906200015d92919062000248565b506012600560006101000a81548160ff021916908360ff1602179055506a52b7d2dcc80cd2e4000000600481905550600454600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a3620002f7565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028b57805160ff1916838001178555620002bc565b82800160010185558215620002bc579182015b82811115620002bb5782518255916020019190600101906200029e565b5b509050620002cb9190620002cf565b5090565b620002f491905b80821115620002f0576000816000905550600101620002d6565b5090565b90565b61351a80620003076000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14611180578063eb91e651146111f8578063f2fde38b1461123c578063fe575a8714611280576101a9565b8063a457c2d714610f50578063a9059cbb14610fb6578063d8bc22631461101c576101a9565b8063893d20e8116100d3578063893d20e814610df55780638da5cb5b14610e3f57806395d89b4114610e895780639cfe42da14610f0c576101a9565b806370a0823114610c2f578063715018a614610c8757806388d695b214610c91576101a9565b8063395093511161016657806342966c681161014057806342966c68146108a55780634885b254146108eb57806358d2b4a514610a6f57806364d7cabc14610acb576101a9565b806339509351146104e35780633e11b7651461054957806341e18398146106ad576101a9565b806306fdde03146101ae578063095ea7b31461023157806318160ddd1461029757806323b872dd146102b5578063313ce5671461033b578063380e809e1461035f575b600080fd5b6101b66112dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b61029f61144b565b6040518082815260200191505060405180910390f35b610321600480360360608110156102cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611455565b604051808215151515815260200191505060405180910390f35b6103436115dd565b604051808260ff1660ff16815260200191505060405180910390f35b6104c96004803603606081101561037557600080fd5b810190808035906020019064010000000081111561039257600080fd5b8201836020820111156103a457600080fd5b803590602001918460208302840111640100000000831117156103c657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561044657600080fd5b82018360208201111561045857600080fd5b8035906020019184602083028401116401000000008311171561047a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506115f4565b604051808215151515815260200191505060405180910390f35b61052f600480360360408110156104f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611715565b604051808215151515815260200191505060405180910390f35b6106936004803603604081101561055f57600080fd5b810190808035906020019064010000000081111561057c57600080fd5b82018360208201111561058e57600080fd5b803590602001918460208302840111640100000000831117156105b057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561061057600080fd5b82018360208201111561062257600080fd5b8035906020019184602083028401116401000000008311171561064457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611877565b604051808215151515815260200191505060405180910390f35b61088b600480360360608110156106c357600080fd5b81019080803590602001906401000000008111156106e057600080fd5b8201836020820111156106f257600080fd5b8035906020019184602083028401116401000000008311171561071457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561077457600080fd5b82018360208201111561078657600080fd5b803590602001918460208302840111640100000000831117156107a857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561080857600080fd5b82018360208201111561081a57600080fd5b8035906020019184602083028401116401000000008311171561083c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611996565b604051808215151515815260200191505060405180910390f35b6108d1600480360360208110156108bb57600080fd5b8101908080359060200190929190505050611ad8565b604051808215151515815260200191505060405180910390f35b610a556004803603606081101561090157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184602083028401116401000000008311171561097257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156109d257600080fd5b8201836020820111156109e457600080fd5b80359060200191846020830284011164010000000083111715610a0657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611bbd565b604051808215151515815260200191505060405180910390f35b610ab160048036036020811015610a8557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cde565b604051808215151515815260200191505060405180910390f35b610c1560048036036040811015610ae157600080fd5b8101908080359060200190640100000000811115610afe57600080fd5b820183602082011115610b1057600080fd5b80359060200191846020830284011164010000000083111715610b3257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b9257600080fd5b820183602082011115610ba457600080fd5b80359060200191846020830284011164010000000083111715610bc657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611d34565b604051808215151515815260200191505060405180910390f35b610c7160048036036020811015610c4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e53565b6040518082815260200191505060405180910390f35b610c8f611e9c565b005b610ddb60048036036040811015610ca757600080fd5b8101908080359060200190640100000000811115610cc457600080fd5b820183602082011115610cd657600080fd5b80359060200191846020830284011164010000000083111715610cf857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610d5857600080fd5b820183602082011115610d6a57600080fd5b80359060200191846020830284011164010000000083111715610d8c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612024565b604051808215151515815260200191505060405180910390f35b610dfd612143565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e47612152565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e9161217b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ed1578082015181840152602081019050610eb6565b50505050905090810190601f168015610efe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f4e60048036036020811015610f2257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061221d565b005b610f9c60048036036040811015610f6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a3565b604051808215151515815260200191505060405180910390f35b61100260048036036040811015610fcc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061251f565b604051808215151515815260200191505060405180910390f35b6111666004803603604081101561103257600080fd5b810190808035906020019064010000000081111561104f57600080fd5b82018360208201111561106157600080fd5b8035906020019184602083028401116401000000008311171561108357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156110e357600080fd5b8201836020820111156110f557600080fd5b8035906020019184602083028401116401000000008311171561111757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506125ec565b604051808215151515815260200191505060405180910390f35b6111e26004803603604081101561119657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061270b565b6040518082815260200191505060405180910390f35b61123a6004803603602081101561120e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612792565b005b61127e6004803603602081101561125257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612919565b005b6112c26004803603602081101561129657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129ee565b604051808215151515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113745780601f1061134957610100808354040283529160200191611374565b820191906000526020600020905b81548152906001019060200180831161135757829003601f168201915b5050505050905090565b60008015156001600061138f612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61144161143a612a0e565b8484612a16565b6001905092915050565b6000600454905090565b600080151560016000611466612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611506576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b611511848484612c0d565b6115d28461151d612a0e565b6115cd856040518060600160405280602881526020016133eb60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611583612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b612a16565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600080151560016000611605612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518451146116b357600080fd5b60008090505b8251811015611709576116f38582815181106116d157fe5b6020026020010151858584815181106116e657fe5b6020026020010151611455565b6116fc57600080fd5b80806001019150506116b9565b50600190509392505050565b600080151560016000611726612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146117c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61186d6117d1612a0e565b8461186885600360006117e2612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8790919063ffffffff16565b612a16565b6001905092915050565b600080151560016000611888612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b815183511461193657600080fd5b60008090505b825181101561198b5761197584828151811061195457fe5b602002602001015184838151811061196857fe5b602002602001015161137e565b61197e57600080fd5b808060010191505061193c565b506001905092915050565b6000801515600160006119a7612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611a47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8251845114611a5557600080fd5b8151845114611a6357600080fd5b60008090505b8251811015611acc57611ab6858281518110611a8157fe5b6020026020010151858381518110611a9557fe5b6020026020010151858481518110611aa957fe5b6020026020010151611455565b611abf57600080fd5b8080600101915050611a69565b50600190509392505050565b6000611ae2612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611bb4611bae612a0e565b8361300f565b60019050919050565b600080151560016000611bce612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8151835114611c7c57600080fd5b60008090505b8251811015611cd257611cbc85858381518110611c9b57fe5b6020026020010151858481518110611caf57fe5b6020026020010151611455565b611cc557600080fd5b8080600101915050611c82565b50600190509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080151560016000611d45612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8151835114611df357600080fd5b60008090505b8251811015611e4857611e32848281518110611e1157fe5b6020026020010151848381518110611e2557fe5b6020026020010151611715565b611e3b57600080fd5b8080600101915050611df9565b506001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611ea4612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080151560016000612035612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146120d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518351146120e357600080fd5b60008090505b83518110156121385761212284828151811061210157fe5b602002602001015184838151811061211557fe5b602002602001015161251f565b61212b57600080fd5b80806001019150506120e9565b506001905092915050565b600061214d612152565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122135780601f106121e857610100808354040283529160200191612213565b820191906000526020600020905b8154815290600101906020018083116121f657829003601f168201915b5050505050905090565b612225612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f86c048150dfc5def3c35f7bc81582956dd964e56d8c028c9f4f5e978bb203c3181604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000801515600160006123b4612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61251561245f612a0e565b846125108560405180606001604052806025815260200161345c6025913960036000612489612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b612a16565b6001905092915050565b600080151560016000612530612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146125d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b6125e26125db612a0e565b8484612c0d565b6001905092915050565b6000801515600160006125fd612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461269d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518351146126ab57600080fd5b60008090505b8251811015612700576126ea8482815181106126c957fe5b60200260200101518483815181106126dd57fe5b60200260200101516123a3565b6126f357600080fd5b80806001019150506126b1565b506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61279a612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461285b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f90792cb7177eb70be35a14e39400d4143370da97f528237fd2b069e408ca68fb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612921612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6129eb816131c9565b50565b60016020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133a16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134c46022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612c93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806133586025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806134396023913960400191505060405180910390fd5b612d858160405180606001604052806026815260200161341360269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e1a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f39578082015181840152602081019050612f1e565b50505050905090810190601f168015612f665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015613005576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613095576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134816021913960400191505060405180910390fd5b613101816040518060600160405280602281526020016134a260229139600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131598160045461330d90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561324f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133c56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061334f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ec7565b90509291505056fe42455032303a207472616e736665722066726f6d20746865207a65726f2061646472657373426c61636b6c69737461626c653a2063616c6c657220697320626c61636b6c697374656442455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e2066726f6d20746865207a65726f206164647265737342455032303a206275726e20616d6f756e7420657863656564732062616c616e636542455032303a20617070726f766520746f20746865207a65726f2061646472657373a265627a7a723158202908b70552d8a2fade869237232c8009e6c06ad463013d7d138d0f7e0c57804164736f6c63430005100032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14611180578063eb91e651146111f8578063f2fde38b1461123c578063fe575a8714611280576101a9565b8063a457c2d714610f50578063a9059cbb14610fb6578063d8bc22631461101c576101a9565b8063893d20e8116100d3578063893d20e814610df55780638da5cb5b14610e3f57806395d89b4114610e895780639cfe42da14610f0c576101a9565b806370a0823114610c2f578063715018a614610c8757806388d695b214610c91576101a9565b8063395093511161016657806342966c681161014057806342966c68146108a55780634885b254146108eb57806358d2b4a514610a6f57806364d7cabc14610acb576101a9565b806339509351146104e35780633e11b7651461054957806341e18398146106ad576101a9565b806306fdde03146101ae578063095ea7b31461023157806318160ddd1461029757806323b872dd146102b5578063313ce5671461033b578063380e809e1461035f575b600080fd5b6101b66112dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b61029f61144b565b6040518082815260200191505060405180910390f35b610321600480360360608110156102cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611455565b604051808215151515815260200191505060405180910390f35b6103436115dd565b604051808260ff1660ff16815260200191505060405180910390f35b6104c96004803603606081101561037557600080fd5b810190808035906020019064010000000081111561039257600080fd5b8201836020820111156103a457600080fd5b803590602001918460208302840111640100000000831117156103c657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561044657600080fd5b82018360208201111561045857600080fd5b8035906020019184602083028401116401000000008311171561047a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506115f4565b604051808215151515815260200191505060405180910390f35b61052f600480360360408110156104f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611715565b604051808215151515815260200191505060405180910390f35b6106936004803603604081101561055f57600080fd5b810190808035906020019064010000000081111561057c57600080fd5b82018360208201111561058e57600080fd5b803590602001918460208302840111640100000000831117156105b057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561061057600080fd5b82018360208201111561062257600080fd5b8035906020019184602083028401116401000000008311171561064457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611877565b604051808215151515815260200191505060405180910390f35b61088b600480360360608110156106c357600080fd5b81019080803590602001906401000000008111156106e057600080fd5b8201836020820111156106f257600080fd5b8035906020019184602083028401116401000000008311171561071457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561077457600080fd5b82018360208201111561078657600080fd5b803590602001918460208302840111640100000000831117156107a857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561080857600080fd5b82018360208201111561081a57600080fd5b8035906020019184602083028401116401000000008311171561083c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611996565b604051808215151515815260200191505060405180910390f35b6108d1600480360360208110156108bb57600080fd5b8101908080359060200190929190505050611ad8565b604051808215151515815260200191505060405180910390f35b610a556004803603606081101561090157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184602083028401116401000000008311171561097257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156109d257600080fd5b8201836020820111156109e457600080fd5b80359060200191846020830284011164010000000083111715610a0657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611bbd565b604051808215151515815260200191505060405180910390f35b610ab160048036036020811015610a8557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cde565b604051808215151515815260200191505060405180910390f35b610c1560048036036040811015610ae157600080fd5b8101908080359060200190640100000000811115610afe57600080fd5b820183602082011115610b1057600080fd5b80359060200191846020830284011164010000000083111715610b3257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b9257600080fd5b820183602082011115610ba457600080fd5b80359060200191846020830284011164010000000083111715610bc657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611d34565b604051808215151515815260200191505060405180910390f35b610c7160048036036020811015610c4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e53565b6040518082815260200191505060405180910390f35b610c8f611e9c565b005b610ddb60048036036040811015610ca757600080fd5b8101908080359060200190640100000000811115610cc457600080fd5b820183602082011115610cd657600080fd5b80359060200191846020830284011164010000000083111715610cf857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610d5857600080fd5b820183602082011115610d6a57600080fd5b80359060200191846020830284011164010000000083111715610d8c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612024565b604051808215151515815260200191505060405180910390f35b610dfd612143565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e47612152565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e9161217b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ed1578082015181840152602081019050610eb6565b50505050905090810190601f168015610efe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f4e60048036036020811015610f2257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061221d565b005b610f9c60048036036040811015610f6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a3565b604051808215151515815260200191505060405180910390f35b61100260048036036040811015610fcc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061251f565b604051808215151515815260200191505060405180910390f35b6111666004803603604081101561103257600080fd5b810190808035906020019064010000000081111561104f57600080fd5b82018360208201111561106157600080fd5b8035906020019184602083028401116401000000008311171561108357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156110e357600080fd5b8201836020820111156110f557600080fd5b8035906020019184602083028401116401000000008311171561111757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506125ec565b604051808215151515815260200191505060405180910390f35b6111e26004803603604081101561119657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061270b565b6040518082815260200191505060405180910390f35b61123a6004803603602081101561120e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612792565b005b61127e6004803603602081101561125257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612919565b005b6112c26004803603602081101561129657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129ee565b604051808215151515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113745780601f1061134957610100808354040283529160200191611374565b820191906000526020600020905b81548152906001019060200180831161135757829003601f168201915b5050505050905090565b60008015156001600061138f612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61144161143a612a0e565b8484612a16565b6001905092915050565b6000600454905090565b600080151560016000611466612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611506576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b611511848484612c0d565b6115d28461151d612a0e565b6115cd856040518060600160405280602881526020016133eb60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611583612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b612a16565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600080151560016000611605612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518451146116b357600080fd5b60008090505b8251811015611709576116f38582815181106116d157fe5b6020026020010151858584815181106116e657fe5b6020026020010151611455565b6116fc57600080fd5b80806001019150506116b9565b50600190509392505050565b600080151560016000611726612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146117c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61186d6117d1612a0e565b8461186885600360006117e2612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8790919063ffffffff16565b612a16565b6001905092915050565b600080151560016000611888612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b815183511461193657600080fd5b60008090505b825181101561198b5761197584828151811061195457fe5b602002602001015184838151811061196857fe5b602002602001015161137e565b61197e57600080fd5b808060010191505061193c565b506001905092915050565b6000801515600160006119a7612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611a47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8251845114611a5557600080fd5b8151845114611a6357600080fd5b60008090505b8251811015611acc57611ab6858281518110611a8157fe5b6020026020010151858381518110611a9557fe5b6020026020010151858481518110611aa957fe5b6020026020010151611455565b611abf57600080fd5b8080600101915050611a69565b50600190509392505050565b6000611ae2612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611bb4611bae612a0e565b8361300f565b60019050919050565b600080151560016000611bce612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8151835114611c7c57600080fd5b60008090505b8251811015611cd257611cbc85858381518110611c9b57fe5b6020026020010151858481518110611caf57fe5b6020026020010151611455565b611cc557600080fd5b8080600101915050611c82565b50600190509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080151560016000611d45612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b8151835114611df357600080fd5b60008090505b8251811015611e4857611e32848281518110611e1157fe5b6020026020010151848381518110611e2557fe5b6020026020010151611715565b611e3b57600080fd5b8080600101915050611df9565b506001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611ea4612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080151560016000612035612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146120d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518351146120e357600080fd5b60008090505b83518110156121385761212284828151811061210157fe5b602002602001015184838151811061211557fe5b602002602001015161251f565b61212b57600080fd5b80806001019150506120e9565b506001905092915050565b600061214d612152565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122135780601f106121e857610100808354040283529160200191612213565b820191906000526020600020905b8154815290600101906020018083116121f657829003601f168201915b5050505050905090565b612225612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f86c048150dfc5def3c35f7bc81582956dd964e56d8c028c9f4f5e978bb203c3181604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000801515600160006123b4612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b61251561245f612a0e565b846125108560405180606001604052806025815260200161345c6025913960036000612489612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b612a16565b6001905092915050565b600080151560016000612530612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146125d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b6125e26125db612a0e565b8484612c0d565b6001905092915050565b6000801515600160006125fd612a0e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461269d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061337d6024913960400191505060405180910390fd5b81518351146126ab57600080fd5b60008090505b8251811015612700576126ea8482815181106126c957fe5b60200260200101518483815181106126dd57fe5b60200260200101516123a3565b6126f357600080fd5b80806001019150506126b1565b506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61279a612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461285b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f90792cb7177eb70be35a14e39400d4143370da97f528237fd2b069e408ca68fb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612921612a0e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6129eb816131c9565b50565b60016020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133a16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134c46022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612c93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806133586025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806134396023913960400191505060405180910390fd5b612d858160405180606001604052806026815260200161341360269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e1a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f8790919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f39578082015181840152602081019050612f1e565b50505050905090810190601f168015612f665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015613005576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613095576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134816021913960400191505060405180910390fd5b613101816040518060600160405280602281526020016134a260229139600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ec79092919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131598160045461330d90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561324f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133c56026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061334f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ec7565b90509291505056fe42455032303a207472616e736665722066726f6d20746865207a65726f2061646472657373426c61636b6c69737461626c653a2063616c6c657220697320626c61636b6c697374656442455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e2066726f6d20746865207a65726f206164647265737342455032303a206275726e20616d6f756e7420657863656564732062616c616e636542455032303a20617070726f766520746f20746865207a65726f2061646472657373a265627a7a723158202908b70552d8a2fade869237232c8009e6c06ad463013d7d138d0f7e0c57804164736f6c63430005100032

Deployed Bytecode Sourcemap

4218:6107:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4218:6107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5082:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5082:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5996:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5996:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5167:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5545:309;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5545:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4908:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7449:339;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7449:339:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7449:339:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7449:339:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7449:339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7449:339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7449:339:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7449:339:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7449:339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7449:339:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6163:219;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6163:219:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8207:298;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8207:298:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8207:298:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8207:298:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8207:298:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8207:298:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8207:298:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8207:298:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8207:298:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8207:298:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7794:407;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7794:407:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7794:407:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7794:407:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7794:407:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7794:407:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7794:407:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7794:407:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7794:407:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7794:407:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7794:407:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7794:407:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7794:407:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7794:407:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6664:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6664:120:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7105:338;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7105:338:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7105:338:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7105:338:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7105:338:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7105:338:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7105:338:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7105:338:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7105:338:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7105:338:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3809:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3809:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8511:334;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8511:334:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8511:334:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8511:334:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8511:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8511:334:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8511:334:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8511:334:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8511:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8511:334:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5260:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5260:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3024:130;;;:::i;:::-;;6790:309;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6790:309:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6790:309:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6790:309:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6790:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6790:309:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6790:309:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6790:309:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6790:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6790:309:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4823:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2830:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4993:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4993:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3931:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3931:134:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6388:270;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6388:270:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5372:167;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5372:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8851:354;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8851:354:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8851:354:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8851:354:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8851:354:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8851:354:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8851:354:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8851:354:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8851:354:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8851:354:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5860:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5860:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4071:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4071:140:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3160:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3160:103:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3530:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3530:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5082:79;5121:13;5150:5;5143:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5082:79;:::o;5996:161::-;6081:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6094:39;6103:12;:10;:12::i;:::-;6117:7;6126:6;6094:8;:39::i;:::-;6147:4;6140:11;;5996:161;;;;:::o;5167:87::-;5213:7;5236:12;;5229:19;;5167:87;:::o;5545:309::-;5653:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:36;5676:6;5684:9;5695:6;5666:9;:36::i;:::-;5709:121;5718:6;5726:12;:10;:12::i;:::-;5740:89;5778:6;5740:89;;;;;;;;;;;;;;;;;:11;:19;5752:6;5740:19;;;;;;;;;;;;;;;:33;5760:12;:10;:12::i;:::-;5740:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5709:8;:121::i;:::-;5844:4;5837:11;;5545:309;;;;;:::o;4908:79::-;4951:5;4972:9;;;;;;;;;;;4965:16;;4908:79;:::o;7449:339::-;7586:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7625:7;:14;7607:7;:14;:32;7599:41;;;;;;7652:9;7664:1;7652:13;;7647:118;7671:7;:14;7667:1;:18;7647:118;;;7709:47;7722:7;7730:1;7722:10;;;;;;;;;;;;;;7734:9;7745:7;7753:1;7745:10;;;;;;;;;;;;;;7709:12;:47::i;:::-;7701:56;;;;;;7687:3;;;;;;;7647:118;;;;7778:4;7771:11;;7449:339;;;;;:::o;6163:219::-;6262:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6275:83;6284:12;:10;:12::i;:::-;6298:7;6307:50;6346:10;6307:11;:25;6319:12;:10;:12::i;:::-;6307:25;;;;;;;;;;;;;;;:34;6333:7;6307:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;6275:8;:83::i;:::-;6372:4;6365:11;;6163:219;;;;:::o;8207:298::-;8317:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8357:7;:14;8338:8;:15;:33;8330:42;;;;;;8384:9;8396:1;8384:13;;8379:103;8403:7;:14;8399:1;:18;8379:103;;;8441:32;8449:8;8458:1;8449:11;;;;;;;;;;;;;;8462:7;8470:1;8462:10;;;;;;;;;;;;;;8441:7;:32::i;:::-;8433:41;;;;;;8419:3;;;;;;;8379:103;;;;8495:4;8488:11;;8207:298;;;;:::o;7794:407::-;7947:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:10;:17;7968:7;:14;:35;7960:44;;;;;;8037:7;:14;8019:7;:14;:32;8011:41;;;;;;8064:6;8073:1;8064:10;;8059:119;8080:7;:14;8076:1;:18;8059:119;;;8118:51;8131:7;8139:1;8131:10;;;;;;;;;;;;;;8143;8154:1;8143:13;;;;;;;;;;;;;;8158:7;8166:1;8158:10;;;;;;;;;;;;;;8118:12;:51::i;:::-;8110:60;;;;;;8096:3;;;;;;;8059:119;;;;8191:4;8184:11;;7794:407;;;;;:::o;6664:120::-;6720:4;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6733:27;6739:12;:10;:12::i;:::-;6753:6;6733:5;:27::i;:::-;6774:4;6767:11;;6664:120;;;:::o;7105:338::-;7238:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7280:7;:14;7259:10;:17;:35;7251:44;;;;;;7307:9;7319:1;7307:13;;7302:118;7326:7;:14;7322:1;:18;7302:118;;;7364:47;7377:6;7385:10;7396:1;7385:13;;;;;;;;;;;;;;7400:7;7408:1;7400:10;;;;;;;;;;;;;;7364:12;:47::i;:::-;7356:56;;;;;;7342:3;;;;;;;7302:118;;;;7433:4;7426:11;;7105:338;;;;;:::o;3809:116::-;3877:4;3897:13;:22;3911:7;3897:22;;;;;;;;;;;;;;;;;;;;;;;;;3890:29;;3809:116;;;:::o;8511:334::-;8635:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:11;:18;8656:8;:15;:37;8648:46;;;;;;8706:9;8718:1;8706:13;;8701:121;8725:11;:18;8721:1;:22;8701:121;;;8767:46;8785:8;8794:1;8785:11;;;;;;;;;;;;;;8798;8810:1;8798:14;;;;;;;;;;;;;;8767:17;:46::i;:::-;8759:55;;;;;;8745:3;;;;;;;8701:121;;;;8835:4;8828:11;;8511:334;;;;:::o;5260:106::-;5319:7;5342:9;:18;5352:7;5342:18;;;;;;;;;;;;;;;;5335:25;;5260:106;;;:::o;3024:130::-;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3119:1;3082:40;;3103:6;;;;;;;;;;;3082:40;;;;;;;;;;;;3146:1;3129:6;;:19;;;;;;;;;;;;;;;;;;3024:130::o;6790:309::-;6903:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6945:7;:14;6924:10;:17;:35;6916:44;;;;;;6972:9;6984:1;6972:13;;6967:109;6991:10;:17;6987:1;:21;6967:109;;;7032:35;7041:10;7052:1;7041:13;;;;;;;;;;;;;;7056:7;7064:1;7056:10;;;;;;;;;;;;;;7032:8;:35::i;:::-;7024:44;;;;;;7010:3;;;;;;;6967:109;;;;7089:4;7082:11;;6790:309;;;;:::o;4823:79::-;4866:7;4889;:5;:7::i;:::-;4882:14;;4823:79;:::o;2830:73::-;2868:7;2891:6;;;;;;;;;;;2884:13;;2830:73;:::o;4993:83::-;5034:13;5063:7;5056:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4993:83;:::o;3931:134::-;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4020:4;3995:13;:22;4009:7;3995:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;4036:23;4051:7;4036:23;;;;;;;;;;;;;;;;;;;;;;3931:134;:::o;6388:270::-;6492:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6505:129;6514:12;:10;:12::i;:::-;6528:7;6537:96;6576:15;6537:96;;;;;;;;;;;;;;;;;:11;:25;6549:12;:10;:12::i;:::-;6537:25;;;;;;;;;;;;;;;:34;6563:7;6537:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;6505:8;:129::i;:::-;6648:4;6641:11;;6388:270;;;;:::o;5372:167::-;5460:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5473:42;5483:12;:10;:12::i;:::-;5497:9;5508:6;5473:9;:42::i;:::-;5529:4;5522:11;;5372:167;;;;:::o;8851:354::-;8980:4;3743:5;3712:36;;:13;:27;3726:12;:10;:12::i;:::-;3712:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3704:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9020:16;:23;9001:8;:15;:42;8993:51;;;;;;9056:9;9068:1;9056:13;;9051:131;9075:16;:23;9071:1;:27;9051:131;;;9122:51;9140:8;9149:1;9140:11;;;;;;;;;;;;;;9153:16;9170:1;9153:19;;;;;;;;;;;;;;9122:17;:51::i;:::-;9114:60;;;;;;9100:3;;;;;;;9051:131;;;;9195:4;9188:11;;8851:354;;;;:::o;5860:130::-;5934:7;5957:11;:18;5969:5;5957:18;;;;;;;;;;;;;;;:27;5976:7;5957:27;;;;;;;;;;;;;;;;5950:34;;5860:130;;;;:::o;4071:140::-;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4163:5;4138:13;:22;4152:7;4138:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4180:25;4197:7;4180:25;;;;;;;;;;;;;;;;;;;;;;4071:140;:::o;3160:103::-;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3229:28;3248:8;3229:18;:28::i;:::-;3160:103;:::o;3530:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;971:92::-;1016:15;1047:10;1040:17;;971:92;:::o;10002:320::-;10109:1;10092:19;;:5;:19;;;;10084:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10186:1;10167:21;;:7;:21;;;;10159:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10266:6;10236:11;:18;10248:5;10236:18;;;;;;;;;;;;;;;:27;10255:7;10236:27;;;;;;;;;;;;;;;:36;;;;10300:7;10284:32;;10293:5;10284:32;;;10309:6;10284:32;;;;;;;;;;;;;;;;;;10002:320;;;:::o;9211:449::-;9323:1;9305:20;;:6;:20;;;;9297:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9403:1;9382:23;;:9;:23;;;;9374:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9474;9496:6;9474:71;;;;;;;;;;;;;;;;;:9;:17;9484:6;9474:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;9454:9;:17;9464:6;9454:17;;;;;;;;;;;;;;;:91;;;;9575:32;9600:6;9575:9;:20;9585:9;9575:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9552:9;:20;9562:9;9552:20;;;;;;;;;;;;;;;:55;;;;9636:9;9619:35;;9628:6;9619:35;;;9647:6;9619:35;;;;;;;;;;;;;;;;;;9211:449;;;:::o;1503:178::-;1589:7;1618:1;1613;:6;;1621:12;1605:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1605:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1641:9;1657:1;1653;:5;1641:17;;1674:1;1667:8;;;1503:178;;;;;:::o;1194:167::-;1252:7;1268:9;1284:1;1280;:5;1268:17;;1305:1;1300;:6;;1292:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1354:1;1347:8;;;1194:167;;;;:::o;9666:330::-;9757:1;9738:21;;:7;:21;;;;9730:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9827:68;9850:6;9827:68;;;;;;;;;;;;;;;;;:9;:18;9837:7;9827:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;9806:9;:18;9816:7;9806:18;;;;;;;;;;;;;;;:89;;;;9917:24;9934:6;9917:12;;:16;;:24;;;;:::i;:::-;9902:12;:39;;;;9979:1;9953:37;;9962:7;9953:37;;;9983:6;9953:37;;;;;;;;;;;;;;;;;;9666:330;;:::o;3269:215::-;3359:1;3339:22;;:8;:22;;;;3331:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:8;3416:38;;3437:6;;;;;;;;;;;3416:38;;;;;;;;;;;;3470:8;3461:6;;:17;;;;;;;;;;;;;;;;;;3269:215;:::o;1367:130::-;1425:7;1448:43;1452:1;1455;1448:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1441:50;;1367:130;;;;:::o

Swarm Source

bzzr://2908b70552d8a2fade869237232c8009e6c06ad463013d7d138d0f7e0c578041
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.