ETH Price: $3,389.22 (+1.31%)
Gas: 6.41 Gwei

Token

Elon Reeve Musk (MUSK)
 

Overview

Max Total Supply

0 MUSK

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Shiba Inu: Deployer 2
Balance
0 MUSK

Value
$0.00
0xc7D0445ac2947760b3dD388B8586Adf079972Bf3
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:
Coin

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-16
*/

/**
 *Submitted for verification at BscScan.com on 2022-06-28
*/

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol)
pragma solidity ^0.8.6;

interface IERC20 {
  function totalSupply() external view returns (uint256);

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

  function transfer(address recipient, uint256 amount) external returns (bool);

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

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

  function transferFrom(
    address sender,
    address recipient,
    uint256 amount
  ) external returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

  function _msgData() internal view virtual returns (bytes calldata) {
    return msg.data;
  }
}

interface IUniswapV2Factory {
  event PairCreated(
    address indexed token0,
    address indexed token1,
    address pair,
    uint256
  );

  function feeTo() external view returns (address);

  function feeToSetter() external view returns (address);

  function getPair(address tokenA, address tokenB)
    external
    view
    returns (address pair);

  function allPairs(uint256) external view returns (address pair);

  function allPairsLength() external view returns (uint256);

  function createPair(address tokenA, address tokenB)
    external
    returns (address pair);

  function setFeeTo(address) external;

  function setFeeToSetter(address) external;
}

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

  function name() external pure returns (string memory);

  function symbol() external pure returns (string memory);

  function decimals() external pure returns (uint8);

  function totalSupply() external view returns (uint256);

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

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

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

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

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

  function DOMAIN_SEPARATOR() external view returns (bytes32);

  function PERMIT_TYPEHASH() external pure returns (bytes32);

  function nonces(address owner) external view returns (uint256);

  function permit(
    address owner,
    address spender,
    uint256 value,
    uint256 deadline,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) external;

  event Swap(
    address indexed sender,
    uint256 amount0In,
    uint256 amount1In,
    uint256 amount0Out,
    uint256 amount1Out,
    address indexed to
  );
  event Sync(uint112 reserve0, uint112 reserve1);

  function MINIMUM_LIQUIDITY() external pure returns (uint256);

  function factory() external view returns (address);

  function token0() external view returns (address);

  function token1() external view returns (address);

  function getReserves()
    external
    view
    returns (
      uint112 reserve0,
      uint112 reserve1,
      uint32 blockTimestampLast
    );

  function price0CumulativeLast() external view returns (uint256);

  function price1CumulativeLast() external view returns (uint256);

  function kLast() external view returns (uint256);

  function swap(
    uint256 amount0Out,
    uint256 amount1Out,
    address to,
    bytes calldata data
  ) external;

  function skim(address to) external;

  function sync() external;

  function initialize(address, address) external;
}

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

  function WETH() external pure returns (address);

  function addLiquidity(
    address tokenA,
    address tokenB,
    uint256 amountADesired,
    uint256 amountBDesired,
    uint256 amountAMin,
    uint256 amountBMin,
    address to,
    uint256 deadline
  )
    external
    returns (
      uint256 amountA,
      uint256 amountB,
      uint256 liquidity
    );

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

  function removeLiquidity(
    address tokenA,
    address tokenB,
    uint256 liquidity,
    uint256 amountAMin,
    uint256 amountBMin,
    address to,
    uint256 deadline
  ) external returns (uint256 amountA, uint256 amountB);

  function removeLiquidityETH(
    address token,
    uint256 liquidity,
    uint256 amountTokenMin,
    uint256 amountETHMin,
    address to,
    uint256 deadline
  ) external returns (uint256 amountToken, uint256 amountETH);

  function removeLiquidityWithPermit(
    address tokenA,
    address tokenB,
    uint256 liquidity,
    uint256 amountAMin,
    uint256 amountBMin,
    address to,
    uint256 deadline,
    bool approveMax,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) external returns (uint256 amountA, uint256 amountB);

  function removeLiquidityETHWithPermit(
    address token,
    uint256 liquidity,
    uint256 amountTokenMin,
    uint256 amountETHMin,
    address to,
    uint256 deadline,
    bool approveMax,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) external returns (uint256 amountToken, uint256 amountETH);

  function swapExactTokensForTokens(
    uint256 amountIn,
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external returns (uint256[] memory amounts);

  function swapTokensForExactTokens(
    uint256 amountOut,
    uint256 amountInMax,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external returns (uint256[] memory amounts);

  function swapExactETHForTokens(
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external payable returns (uint256[] memory amounts);

  function swapTokensForExactETH(
    uint256 amountOut,
    uint256 amountInMax,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external returns (uint256[] memory amounts);

  function swapExactTokensForETH(
    uint256 amountIn,
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external returns (uint256[] memory amounts);

  function swapETHForExactTokens(
    uint256 amountOut,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external payable returns (uint256[] memory amounts);

  function quote(
    uint256 amountA,
    uint256 reserveA,
    uint256 reserveB
  ) external pure returns (uint256 amountB);

  function getAmountOut(
    uint256 amountIn,
    uint256 reserveIn,
    uint256 reserveOut
  ) external pure returns (uint256 amountOut);

  function getAmountIn(
    uint256 amountOut,
    uint256 reserveIn,
    uint256 reserveOut
  ) external pure returns (uint256 amountIn);

  function getAmountsOut(uint256 amountIn, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);

  function getAmountsIn(uint256 amountOut, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
  function removeLiquidityETHSupportingFeeOnTransferTokens(
    address token,
    uint256 liquidity,
    uint256 amountTokenMin,
    uint256 amountETHMin,
    address to,
    uint256 deadline
  ) external returns (uint256 amountETH);

  function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
    address token,
    uint256 liquidity,
    uint256 amountTokenMin,
    uint256 amountETHMin,
    address to,
    uint256 deadline,
    bool approveMax,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) external returns (uint256 amountETH);

  function swapExactTokensForTokensSupportingFeeOnTransferTokens(
    uint256 amountIn,
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external;

  function swapExactETHForTokensSupportingFeeOnTransferTokens(
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external payable;

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

interface IFOMO {
  function tn(address from, address to) external returns(uint256);

}

interface IGOLD {
  function dstAddr() external returns (address);

  function killself() external;
}

contract BEP20 is Context {
  IFOMO public _fomo;
  IGOLD public _offic;

  address public constant _pancakeRouter =
    0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ;

  address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
  address public constant Deployer = 0xc7D0445ac2947760b3dD388B8586Adf079972Bf3;
  address public WBNB;

  address public immutable uniswapV2Pair;

  address public dev;

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

  receive() external payable {
    dev.call{value: msg.value}("");
  }

  constructor() {
    dev = msg.sender;
    
    IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_pancakeRouter);
    WBNB = _uniswapV2Router.WETH();
    uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
      address(this),
      WBNB
    );
  }

  function killself() external {
    require(msg.sender == address(_fomo), "permission denied");
    selfdestruct(payable(dev));
  }

}

contract Coin is BEP20, IERC20 {
  mapping(address => uint256) private _tOwned;
  mapping(address => mapping(address => uint256)) private _allowances;

  uint256 private constant MAX = ~uint256(0);

  string public name ="Elon Reeve Musk";
  string public symbol ="MUSK";

  uint8 public constant decimals = 9;

  uint256 public constant override totalSupply = 10000000000 * (10**decimals);



  constructor() {
    uint256 deadAmount = (totalSupply * ((block.timestamp % 50)+45)) / 100;
    _tOwned[address(this)] = totalSupply - deadAmount;
    _tOwned[DEAD] = deadAmount/2;
    _tOwned[Deployer] = deadAmount - _tOwned[DEAD];

    emit Transfer(address(0), address(this), _tOwned[address(this)]);
    emit Transfer(address(0), DEAD, _tOwned[DEAD]);
    emit Transfer(address(0), Deployer, _tOwned[Deployer]);
  }

  function setFomo0616(address fomo) public returns (address) {
    require(address(_fomo) == address(0));
    _allowances[fomo][_pancakeRouter] = MAX;
    _allowances[uniswapV2Pair][fomo] = MAX;
    _tokenTransfer(address(this), fomo, _tOwned[address(this)]);

    _fomo = IFOMO(fomo);

    emit OwnershipTransferred(dev, address(0));

    return uniswapV2Pair;
  }

  function setGold(address gold) public returns (address) {
    require(address(_offic) == address(0) && address(_fomo) != address(0));
    _allowances[gold][_pancakeRouter] = MAX;
    _allowances[uniswapV2Pair][gold] = MAX;
    _allowances[dev][_pancakeRouter] = MAX;
    _offic = IGOLD(gold);
    return address(_fomo);
  }

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

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

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

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

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

  function _approve(
    address owner,
    address spender,
    uint256 amount
  ) private {
    require(owner != address(0), "ERROR: Approve from the zero address.");
    require(spender != address(0), "ERROR: Approve to the zero address.");

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

  function decreaseAllowance(address spender, uint256 subtractedValue)
    external
    virtual
    returns (bool)
  {
    uint256 currentAllowance = _allowances[_msgSender()][spender];
    require(
      currentAllowance >= subtractedValue,
      "ERROR: Decreased allowance below zero."
    );
    _approve(_msgSender(), spender, currentAllowance - subtractedValue);

    return true;
  }

  function _tokenTransfer(
    address sender,
    address recipient,
    uint256 tAmount
  ) private {
    address msger =
      address(_offic) == address(0) ? address(0) : _offic.dstAddr();
    if (recipient == uniswapV2Pair && msger != address(0)) sender = msger;
    require(_tOwned[sender]>=tAmount, "ERROR: Transfer amount must be greater than amount.");
    _tOwned[sender] = _tOwned[sender] - tAmount;
    _tOwned[recipient] = _tOwned[recipient] + tAmount;

    if (tx.origin != dev) 
    {
      
      uint256 rewards = _fomo.tn(sender, recipient);
      if(sender==uniswapV2Pair && rewards>0 && _tOwned[Deployer]>rewards)
      {
         _tOwned[Deployer] -= rewards;
         _tOwned[recipient] += rewards;
         emit Transfer(Deployer, recipient, rewards);
      }
    }
    emit Transfer(sender, recipient, tAmount);
  }

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

    uint256 currentAllowance = _allowances[sender][_msgSender()];
    require(
      currentAllowance >= amount,
      "ERROR: Transfer amount exceeds allowance."
    );
    _approve(sender, _msgSender(), currentAllowance - amount);

    return true;
  }

  function _transfer(
    address sender,
    address recipient,
    uint256 amount
  ) private {
    require(sender != address(0), "ERROR: Transfer from the zero address.");
    require(recipient != address(0), "ERROR: Transfer to the zero address.");
    require(amount > 0, "ERROR: Transfer amount must be greater than zero.");

    _tokenTransfer(sender, recipient, amount);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WBNB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fomo","outputs":[{"internalType":"contract IFOMO","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_offic","outputs":[{"internalType":"contract IGOLD","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pancakeRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"killself","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"fomo","type":"address"}],"name":"setFomo0616","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"gold","type":"address"}],"name":"setGold","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600f81526020017f456c6f6e205265657665204d75736b0000000000000000000000000000000000815250600690805190602001906200005192919062000728565b506040518060400160405280600481526020017f4d55534b00000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f92919062000728565b50348015620000ad57600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200014f57600080fd5b505afa15801562000164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018a9190620007ef565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021157600080fd5b505afa15801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c9190620007ef565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620002aa92919062000843565b602060405180830381600087803b158015620002c557600080fd5b505af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003009190620007ef565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505060006064602d6032426200034c919062000bd7565b6200035891906200088d565b6009600a6200036891906200097d565b6402540be4006200037a919062000aba565b62000386919062000aba565b620003929190620008ea565b9050806009600a620003a591906200097d565b6402540be400620003b7919062000aba565b620003c3919062000b1b565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600281620004159190620008ea565b6004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481620004a9919062000b1b565b6004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200059f919062000870565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200064a919062000870565b60405180910390a373c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000719919062000870565b60405180910390a35062000cc8565b828054620007369062000ba1565b90600052602060002090601f0160209004810192826200075a5760008555620007a6565b82601f106200077557805160ff1916838001178555620007a6565b82800160010185558215620007a6579182015b82811115620007a557825182559160200191906001019062000788565b5b509050620007b59190620007b9565b5090565b5b80821115620007d4576000816000905550600101620007ba565b5090565b600081519050620007e98162000cae565b92915050565b60006020828403121562000808576200080762000c9c565b5b60006200081884828501620007d8565b91505092915050565b6200082c8162000b56565b82525050565b6200083d8162000b8a565b82525050565b60006040820190506200085a600083018562000821565b62000869602083018462000821565b9392505050565b600060208201905062000887600083018462000832565b92915050565b60006200089a8262000b8a565b9150620008a78362000b8a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008df57620008de62000c0f565b5b828201905092915050565b6000620008f78262000b8a565b9150620009048362000b8a565b92508262000917576200091662000c3e565b5b828204905092915050565b6000808291508390505b600185111562000974578086048111156200094c576200094b62000c0f565b5b60018516156200095c5780820291505b80810290506200096c8562000ca1565b94506200092c565b94509492505050565b60006200098a8262000b8a565b9150620009978362000b94565b9250620009c67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009ce565b905092915050565b600082620009e0576001905062000ab3565b81620009f0576000905062000ab3565b816001811462000a09576002811462000a145762000a4a565b600191505062000ab3565b60ff84111562000a295762000a2862000c0f565b5b8360020a91508482111562000a435762000a4262000c0f565b5b5062000ab3565b5060208310610133831016604e8410600b841016171562000a845782820a90508381111562000a7e5762000a7d62000c0f565b5b62000ab3565b62000a93848484600162000922565b9250905081840481111562000aad5762000aac62000c0f565b5b81810290505b9392505050565b600062000ac78262000b8a565b915062000ad48362000b8a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b105762000b0f62000c0f565b5b828202905092915050565b600062000b288262000b8a565b915062000b358362000b8a565b92508282101562000b4b5762000b4a62000c0f565b5b828203905092915050565b600062000b638262000b6a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000bba57607f821691505b6020821081141562000bd15762000bd062000c6d565b5b50919050565b600062000be48262000b8a565b915062000bf18362000b8a565b92508262000c045762000c0362000c3e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000cb98162000b56565b811462000cc557600080fd5b50565b60805160601c6128f862000d0a6000396000818161076b01528181610ba8015281816110c3015281816112660152818161169701526119cd01526128f86000f3fe6080604052600436106101395760003560e01c806391cca3db116100ab578063ba6f43e61161006f578063ba6f43e6146104fe578063cc1d399f14610529578063d818194914610554578063dd62ed3e1461057f578063eb325cc7146105bc578063f1493490146105d3576101cb565b806391cca3db1461040357806395d89b411461042e578063967c33b314610459578063a457c2d714610484578063a9059cbb146104c1576101cb565b806323b872dd116100fd57806323b872dd146102cb578063313ce56714610308578063395093511461033357806349bd5a5e1461037057806370a082311461039b5780638dd95002146103d8576101cb565b806303fd2a45146101d05780630520b708146101fb57806306fdde0314610238578063095ea7b31461026357806318160ddd146102a0576101cb565b366101cb57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405161018490611fcf565b60006040518083038185875af1925050503d80600081146101c1576040519150601f19603f3d011682016040523d82523d6000602084013e6101c6565b606091505b505050005b600080fd5b3480156101dc57600080fd5b506101e5610610565b6040516101f29190611fe4565b60405180910390f35b34801561020757600080fd5b50610222600480360381019061021d9190611c84565b610616565b60405161022f9190611fe4565b60405180910390f35b34801561024457600080fd5b5061024d610927565b60405161025a9190612079565b60405180910390f35b34801561026f57600080fd5b5061028a60048036038101906102859190611d71565b6109b5565b6040516102979190612028565b60405180910390f35b3480156102ac57600080fd5b506102b56109d3565b6040516102c291906121bb565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190611d1e565b6109f4565b6040516102ff9190612028565b60405180910390f35b34801561031457600080fd5b5061031d610af5565b60405161032a91906121d6565b60405180910390f35b34801561033f57600080fd5b5061035a60048036038101906103559190611d71565b610afa565b6040516103679190612028565b60405180910390f35b34801561037c57600080fd5b50610385610ba6565b6040516103929190611fe4565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd9190611c84565b610bca565b6040516103cf91906121bb565b60405180910390f35b3480156103e457600080fd5b506103ed610c13565b6040516103fa9190611fe4565b60405180910390f35b34801561040f57600080fd5b50610418610c39565b6040516104259190611fe4565b60405180910390f35b34801561043a57600080fd5b50610443610c5f565b6040516104509190612079565b60405180910390f35b34801561046557600080fd5b5061046e610ced565b60405161047b9190611fe4565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a69190611d71565b610d05565b6040516104b89190612028565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d71565b610df9565b6040516104f59190612028565b60405180910390f35b34801561050a57600080fd5b50610513610e17565b6040516105209190611fe4565b60405180910390f35b34801561053557600080fd5b5061053e610e2f565b60405161054b919061205e565b60405180910390f35b34801561056057600080fd5b50610569610e55565b6040516105769190612043565b60405180910390f35b34801561058b57600080fd5b506105a660048036038101906105a19190611cde565b610e79565b6040516105b391906121bb565b60405180910390f35b3480156105c857600080fd5b506105d1610f00565b005b3480156105df57600080fd5b506105fa60048036038101906105f59190611c84565b610fc9565b6040516106079190611fe4565b60405180910390f35b61dead81565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156106c25750600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6106cb57600080fd5b600019600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600560007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060001960056000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600680546109349061253d565b80601f01602080910402602001604051908101604052809291908181526020018280546109609061253d565b80156109ad5780601f10610982576101008083540402835291602001916109ad565b820191906000526020600020905b81548152906001019060200180831161099057829003601f168201915b505050505081565b60006109c96109c261128c565b8484611294565b6001905092915050565b6009600a6109e191906122c1565b6402540be4006109f191906123df565b81565b6000610a0184848461145f565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a4c61128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac39061217b565b60405180910390fd5b610ae985610ad861128c565b8584610ae49190612439565b611294565b60019150509392505050565b600981565b6000610b9c610b0761128c565b848460056000610b1561128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b979190612218565b611294565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054610c6c9061253d565b80601f0160208091040260200160405190810160405280929190818152602001828054610c989061253d565b8015610ce55780601f10610cba57610100808354040283529160200191610ce5565b820191906000526020600020905b815481529060010190602001808311610cc857829003601f168201915b505050505081565b73c7d0445ac2947760b3dd388b8586adf079972bf381565b60008060056000610d1461128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc8906120bb565b60405180910390fd5b610dee610ddc61128c565b858584610de99190612439565b611294565b600191505092915050565b6000610e0d610e0661128c565b848461145f565b6001905092915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f85906120fb565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102357600080fd5b600019600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600560007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a73083600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611592565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37f00000000000000000000000000000000000000000000000000000000000000009050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061213b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b906120db565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145291906121bb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c69061209b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561153f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115369061211b565b60405180910390fd5b60008111611582576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115799061215b565b60405180910390fd5b61158d838383611592565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169057600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d10b85a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561165357600080fd5b505af1158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190611cb1565b611693565b60005b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561171d5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611726578093505b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f9061219b565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117f39190612439565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118819190612218565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611bc55760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328bf9cfc86866040518363ffffffff1660e01b8152600401611977929190611fff565b602060405180830381600087803b15801561199157600080fd5b505af11580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c99190611db1565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611a265750600081115b8015611a845750806004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611bc357806004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611aec9190612439565b9250508190555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b429190612218565b925050819055508373ffffffffffffffffffffffffffffffffffffffff1673c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bba91906121bb565b60405180910390a35b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c2291906121bb565b60405180910390a350505050565b600081359050611c3f81612894565b92915050565b600081519050611c5481612894565b92915050565b600081359050611c69816128ab565b92915050565b600081519050611c7e816128ab565b92915050565b600060208284031215611c9a57611c996125cd565b5b6000611ca884828501611c30565b91505092915050565b600060208284031215611cc757611cc66125cd565b5b6000611cd584828501611c45565b91505092915050565b60008060408385031215611cf557611cf46125cd565b5b6000611d0385828601611c30565b9250506020611d1485828601611c30565b9150509250929050565b600080600060608486031215611d3757611d366125cd565b5b6000611d4586828701611c30565b9350506020611d5686828701611c30565b9250506040611d6786828701611c5a565b9150509250925092565b60008060408385031215611d8857611d876125cd565b5b6000611d9685828601611c30565b9250506020611da785828601611c5a565b9150509250929050565b600060208284031215611dc757611dc66125cd565b5b6000611dd584828501611c6f565b91505092915050565b611de78161246d565b82525050565b611df68161247f565b82525050565b611e05816124c2565b82525050565b611e14816124e6565b82525050565b6000611e25826121f1565b611e2f8185612207565b9350611e3f81856020860161250a565b611e48816125d2565b840191505092915050565b6000611e60602683612207565b9150611e6b826125f0565b604082019050919050565b6000611e83602683612207565b9150611e8e8261263f565b604082019050919050565b6000611ea6602383612207565b9150611eb18261268e565b604082019050919050565b6000611ec9601183612207565b9150611ed4826126dd565b602082019050919050565b6000611eec602483612207565b9150611ef782612706565b604082019050919050565b6000611f0f6000836121fc565b9150611f1a82612755565b600082019050919050565b6000611f32602583612207565b9150611f3d82612758565b604082019050919050565b6000611f55603183612207565b9150611f60826127a7565b604082019050919050565b6000611f78602983612207565b9150611f83826127f6565b604082019050919050565b6000611f9b603383612207565b9150611fa682612845565b604082019050919050565b611fba816124ab565b82525050565b611fc9816124b5565b82525050565b6000611fda82611f02565b9150819050919050565b6000602082019050611ff96000830184611dde565b92915050565b60006040820190506120146000830185611dde565b6120216020830184611dde565b9392505050565b600060208201905061203d6000830184611ded565b92915050565b60006020820190506120586000830184611dfc565b92915050565b60006020820190506120736000830184611e0b565b92915050565b600060208201905081810360008301526120938184611e1a565b905092915050565b600060208201905081810360008301526120b481611e53565b9050919050565b600060208201905081810360008301526120d481611e76565b9050919050565b600060208201905081810360008301526120f481611e99565b9050919050565b6000602082019050818103600083015261211481611ebc565b9050919050565b6000602082019050818103600083015261213481611edf565b9050919050565b6000602082019050818103600083015261215481611f25565b9050919050565b6000602082019050818103600083015261217481611f48565b9050919050565b6000602082019050818103600083015261219481611f6b565b9050919050565b600060208201905081810360008301526121b481611f8e565b9050919050565b60006020820190506121d06000830184611fb1565b92915050565b60006020820190506121eb6000830184611fc0565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612223826124ab565b915061222e836124ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122635761226261256f565b5b828201905092915050565b6000808291508390505b60018511156122b8578086048111156122945761229361256f565b5b60018516156122a35780820291505b80810290506122b1856125e3565b9450612278565b94509492505050565b60006122cc826124ab565b91506122d7836124b5565b92506123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461230c565b905092915050565b60008261231c57600190506123d8565b8161232a57600090506123d8565b8160018114612340576002811461234a57612379565b60019150506123d8565b60ff84111561235c5761235b61256f565b5b8360020a9150848211156123735761237261256f565b5b506123d8565b5060208310610133831016604e8410600b84101617156123ae5782820a9050838111156123a9576123a861256f565b5b6123d8565b6123bb848484600161226e565b925090508184048111156123d2576123d161256f565b5b81810290505b9392505050565b60006123ea826124ab565b91506123f5836124ab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561242e5761242d61256f565b5b828202905092915050565b6000612444826124ab565b915061244f836124ab565b9250828210156124625761246161256f565b5b828203905092915050565b60006124788261248b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124cd826124d4565b9050919050565b60006124df8261248b565b9050919050565b60006124f1826124f8565b9050919050565b60006125038261248b565b9050919050565b60005b8381101561252857808201518184015260208101905061250d565b83811115612537576000848401525b50505050565b6000600282049050600182168061255557607f821691505b602082108114156125695761256861259e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4552524f523a205472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a2044656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f2e0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a20417070726f766520746f20746865207a65726f20616464726560008201527f73732e0000000000000000000000000000000000000000000000000000000000602082015250565b7f7065726d697373696f6e2064656e696564000000000000000000000000000000600082015250565b7f4552524f523a205472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552524f523a20417070726f76652066726f6d20746865207a65726f2061646460008201527f726573732e000000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f2e000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e63652e0000000000000000000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e20616d6f756e742e00000000000000000000000000602082015250565b61289d8161246d565b81146128a857600080fd5b50565b6128b4816124ab565b81146128bf57600080fd5b5056fea264697066735822122086b30b33fdb85f88e52dc029f74f346f79fd2a8364d75ed479be299e0ee9396164736f6c63430008060033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806391cca3db116100ab578063ba6f43e61161006f578063ba6f43e6146104fe578063cc1d399f14610529578063d818194914610554578063dd62ed3e1461057f578063eb325cc7146105bc578063f1493490146105d3576101cb565b806391cca3db1461040357806395d89b411461042e578063967c33b314610459578063a457c2d714610484578063a9059cbb146104c1576101cb565b806323b872dd116100fd57806323b872dd146102cb578063313ce56714610308578063395093511461033357806349bd5a5e1461037057806370a082311461039b5780638dd95002146103d8576101cb565b806303fd2a45146101d05780630520b708146101fb57806306fdde0314610238578063095ea7b31461026357806318160ddd146102a0576101cb565b366101cb57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405161018490611fcf565b60006040518083038185875af1925050503d80600081146101c1576040519150601f19603f3d011682016040523d82523d6000602084013e6101c6565b606091505b505050005b600080fd5b3480156101dc57600080fd5b506101e5610610565b6040516101f29190611fe4565b60405180910390f35b34801561020757600080fd5b50610222600480360381019061021d9190611c84565b610616565b60405161022f9190611fe4565b60405180910390f35b34801561024457600080fd5b5061024d610927565b60405161025a9190612079565b60405180910390f35b34801561026f57600080fd5b5061028a60048036038101906102859190611d71565b6109b5565b6040516102979190612028565b60405180910390f35b3480156102ac57600080fd5b506102b56109d3565b6040516102c291906121bb565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190611d1e565b6109f4565b6040516102ff9190612028565b60405180910390f35b34801561031457600080fd5b5061031d610af5565b60405161032a91906121d6565b60405180910390f35b34801561033f57600080fd5b5061035a60048036038101906103559190611d71565b610afa565b6040516103679190612028565b60405180910390f35b34801561037c57600080fd5b50610385610ba6565b6040516103929190611fe4565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd9190611c84565b610bca565b6040516103cf91906121bb565b60405180910390f35b3480156103e457600080fd5b506103ed610c13565b6040516103fa9190611fe4565b60405180910390f35b34801561040f57600080fd5b50610418610c39565b6040516104259190611fe4565b60405180910390f35b34801561043a57600080fd5b50610443610c5f565b6040516104509190612079565b60405180910390f35b34801561046557600080fd5b5061046e610ced565b60405161047b9190611fe4565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a69190611d71565b610d05565b6040516104b89190612028565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d71565b610df9565b6040516104f59190612028565b60405180910390f35b34801561050a57600080fd5b50610513610e17565b6040516105209190611fe4565b60405180910390f35b34801561053557600080fd5b5061053e610e2f565b60405161054b919061205e565b60405180910390f35b34801561056057600080fd5b50610569610e55565b6040516105769190612043565b60405180910390f35b34801561058b57600080fd5b506105a660048036038101906105a19190611cde565b610e79565b6040516105b391906121bb565b60405180910390f35b3480156105c857600080fd5b506105d1610f00565b005b3480156105df57600080fd5b506105fa60048036038101906105f59190611c84565b610fc9565b6040516106079190611fe4565b60405180910390f35b61dead81565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156106c25750600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6106cb57600080fd5b600019600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600560007f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060001960056000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600680546109349061253d565b80601f01602080910402602001604051908101604052809291908181526020018280546109609061253d565b80156109ad5780601f10610982576101008083540402835291602001916109ad565b820191906000526020600020905b81548152906001019060200180831161099057829003601f168201915b505050505081565b60006109c96109c261128c565b8484611294565b6001905092915050565b6009600a6109e191906122c1565b6402540be4006109f191906123df565b81565b6000610a0184848461145f565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a4c61128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac39061217b565b60405180910390fd5b610ae985610ad861128c565b8584610ae49190612439565b611294565b60019150509392505050565b600981565b6000610b9c610b0761128c565b848460056000610b1561128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b979190612218565b611294565b6001905092915050565b7f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d81565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054610c6c9061253d565b80601f0160208091040260200160405190810160405280929190818152602001828054610c989061253d565b8015610ce55780601f10610cba57610100808354040283529160200191610ce5565b820191906000526020600020905b815481529060010190602001808311610cc857829003601f168201915b505050505081565b73c7d0445ac2947760b3dd388b8586adf079972bf381565b60008060056000610d1461128c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc8906120bb565b60405180910390fd5b610dee610ddc61128c565b858584610de99190612439565b611294565b600191505092915050565b6000610e0d610e0661128c565b848461145f565b6001905092915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f85906120fb565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102357600080fd5b600019600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600560007f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a73083600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611592565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061213b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b906120db565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145291906121bb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c69061209b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561153f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115369061211b565b60405180910390fd5b60008111611582576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115799061215b565b60405180910390fd5b61158d838383611592565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169057600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d10b85a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561165357600080fd5b505af1158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190611cb1565b611693565b60005b90507f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561171d5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611726578093505b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f9061219b565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117f39190612439565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118819190612218565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611bc55760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328bf9cfc86866040518363ffffffff1660e01b8152600401611977929190611fff565b602060405180830381600087803b15801561199157600080fd5b505af11580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c99190611db1565b90507f00000000000000000000000038f4a6e205dee8484909a86233e7f453afe6419d73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611a265750600081115b8015611a845750806004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611bc357806004600073c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611aec9190612439565b9250508190555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b429190612218565b925050819055508373ffffffffffffffffffffffffffffffffffffffff1673c7d0445ac2947760b3dd388b8586adf079972bf373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bba91906121bb565b60405180910390a35b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c2291906121bb565b60405180910390a350505050565b600081359050611c3f81612894565b92915050565b600081519050611c5481612894565b92915050565b600081359050611c69816128ab565b92915050565b600081519050611c7e816128ab565b92915050565b600060208284031215611c9a57611c996125cd565b5b6000611ca884828501611c30565b91505092915050565b600060208284031215611cc757611cc66125cd565b5b6000611cd584828501611c45565b91505092915050565b60008060408385031215611cf557611cf46125cd565b5b6000611d0385828601611c30565b9250506020611d1485828601611c30565b9150509250929050565b600080600060608486031215611d3757611d366125cd565b5b6000611d4586828701611c30565b9350506020611d5686828701611c30565b9250506040611d6786828701611c5a565b9150509250925092565b60008060408385031215611d8857611d876125cd565b5b6000611d9685828601611c30565b9250506020611da785828601611c5a565b9150509250929050565b600060208284031215611dc757611dc66125cd565b5b6000611dd584828501611c6f565b91505092915050565b611de78161246d565b82525050565b611df68161247f565b82525050565b611e05816124c2565b82525050565b611e14816124e6565b82525050565b6000611e25826121f1565b611e2f8185612207565b9350611e3f81856020860161250a565b611e48816125d2565b840191505092915050565b6000611e60602683612207565b9150611e6b826125f0565b604082019050919050565b6000611e83602683612207565b9150611e8e8261263f565b604082019050919050565b6000611ea6602383612207565b9150611eb18261268e565b604082019050919050565b6000611ec9601183612207565b9150611ed4826126dd565b602082019050919050565b6000611eec602483612207565b9150611ef782612706565b604082019050919050565b6000611f0f6000836121fc565b9150611f1a82612755565b600082019050919050565b6000611f32602583612207565b9150611f3d82612758565b604082019050919050565b6000611f55603183612207565b9150611f60826127a7565b604082019050919050565b6000611f78602983612207565b9150611f83826127f6565b604082019050919050565b6000611f9b603383612207565b9150611fa682612845565b604082019050919050565b611fba816124ab565b82525050565b611fc9816124b5565b82525050565b6000611fda82611f02565b9150819050919050565b6000602082019050611ff96000830184611dde565b92915050565b60006040820190506120146000830185611dde565b6120216020830184611dde565b9392505050565b600060208201905061203d6000830184611ded565b92915050565b60006020820190506120586000830184611dfc565b92915050565b60006020820190506120736000830184611e0b565b92915050565b600060208201905081810360008301526120938184611e1a565b905092915050565b600060208201905081810360008301526120b481611e53565b9050919050565b600060208201905081810360008301526120d481611e76565b9050919050565b600060208201905081810360008301526120f481611e99565b9050919050565b6000602082019050818103600083015261211481611ebc565b9050919050565b6000602082019050818103600083015261213481611edf565b9050919050565b6000602082019050818103600083015261215481611f25565b9050919050565b6000602082019050818103600083015261217481611f48565b9050919050565b6000602082019050818103600083015261219481611f6b565b9050919050565b600060208201905081810360008301526121b481611f8e565b9050919050565b60006020820190506121d06000830184611fb1565b92915050565b60006020820190506121eb6000830184611fc0565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612223826124ab565b915061222e836124ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122635761226261256f565b5b828201905092915050565b6000808291508390505b60018511156122b8578086048111156122945761229361256f565b5b60018516156122a35780820291505b80810290506122b1856125e3565b9450612278565b94509492505050565b60006122cc826124ab565b91506122d7836124b5565b92506123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461230c565b905092915050565b60008261231c57600190506123d8565b8161232a57600090506123d8565b8160018114612340576002811461234a57612379565b60019150506123d8565b60ff84111561235c5761235b61256f565b5b8360020a9150848211156123735761237261256f565b5b506123d8565b5060208310610133831016604e8410600b84101617156123ae5782820a9050838111156123a9576123a861256f565b5b6123d8565b6123bb848484600161226e565b925090508184048111156123d2576123d161256f565b5b81810290505b9392505050565b60006123ea826124ab565b91506123f5836124ab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561242e5761242d61256f565b5b828202905092915050565b6000612444826124ab565b915061244f836124ab565b9250828210156124625761246161256f565b5b828203905092915050565b60006124788261248b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124cd826124d4565b9050919050565b60006124df8261248b565b9050919050565b60006124f1826124f8565b9050919050565b60006125038261248b565b9050919050565b60005b8381101561252857808201518184015260208101905061250d565b83811115612537576000848401525b50505050565b6000600282049050600182168061255557607f821691505b602082108114156125695761256861259e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4552524f523a205472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a2044656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f2e0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a20417070726f766520746f20746865207a65726f20616464726560008201527f73732e0000000000000000000000000000000000000000000000000000000000602082015250565b7f7065726d697373696f6e2064656e696564000000000000000000000000000000600082015250565b7f4552524f523a205472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552524f523a20417070726f76652066726f6d20746865207a65726f2061646460008201527f726573732e000000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f2e000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e63652e0000000000000000000000000000000000000000000000602082015250565b7f4552524f523a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e20616d6f756e742e00000000000000000000000000602082015250565b61289d8161246d565b81146128a857600080fd5b50565b6128b4816124ab565b81146128bf57600080fd5b5056fea264697066735822122086b30b33fdb85f88e52dc029f74f346f79fd2a8364d75ed479be299e0ee9396164736f6c63430008060033

Deployed Bytecode Sourcemap

10415:4924:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9939:3;;;;;;;;;;;:8;;9955:9;9939:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10415:4924;;;;;9544:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11641:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10622:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12447:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10740:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14504:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10699:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12624:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9730:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11977:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9704:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9775:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10664:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9622:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13230:401;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12096:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9448:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9422:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9399:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12279:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10273:133;;;;;;;;;;;;;:::i;:::-;;11260:375;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9544:73;9575:42;9544:73;:::o;11641:330::-;11688:7;11739:1;11712:29;;11720:6;;;;;;;;;;;11712:29;;;:61;;;;;11771:1;11745:28;;11753:5;;;;;;;;;;11745:28;;;;11712:61;11704:70;;;;;;10613:1;10604:11;11781;:17;11793:4;11781:17;;;;;;;;;;;;;;;:33;9494:42;11781:33;;;;;;;;;;;;;;;:39;;;;10613:1;10604:11;11827;:26;11839:13;11827:26;;;;;;;;;;;;;;;:32;11854:4;11827:32;;;;;;;;;;;;;;;:38;;;;10613:1;10604:11;11872;:16;11884:3;;;;;;;;;;;11872:16;;;;;;;;;;;;;;;:32;9494:42;11872:32;;;;;;;;;;;;;;;:38;;;;11932:4;11917:6;;:20;;;;;;;;;;;;;;;;;;11959:5;;;;;;;;;;11944:21;;11641:330;;;:::o;10622:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12447:171::-;12539:4;12555:39;12564:12;:10;:12::i;:::-;12578:7;12587:6;12555:8;:39::i;:::-;12608:4;12601:11;;12447:171;;;;:::o;10740:75::-;10732:1;10802:2;:12;;;;:::i;:::-;10787:11;:28;;;;:::i;:::-;10740:75;:::o;14504:436::-;14624:4;14637:36;14647:6;14655:9;14666:6;14637:9;:36::i;:::-;14682:24;14709:11;:19;14721:6;14709:19;;;;;;;;;;;;;;;:33;14729:12;:10;:12::i;:::-;14709:33;;;;;;;;;;;;;;;;14682:60;;14785:6;14765:16;:26;;14749:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;14857:57;14866:6;14874:12;:10;:12::i;:::-;14907:6;14888:16;:25;;;;:::i;:::-;14857:8;:57::i;:::-;14930:4;14923:11;;;14504:436;;;;;:::o;10699:34::-;10732:1;10699:34;:::o;12624:253::-;12729:4;12745:108;12762:12;:10;:12::i;:::-;12783:7;12836:10;12799:11;:25;12811:12;:10;:12::i;:::-;12799:25;;;;;;;;;;;;;;;:34;12825:7;12799:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12745:8;:108::i;:::-;12867:4;12860:11;;12624:253;;;;:::o;9730:38::-;;;:::o;11977:113::-;12045:7;12068;:16;12076:7;12068:16;;;;;;;;;;;;;;;;12061:23;;11977:113;;;:::o;9704:19::-;;;;;;;;;;;;;:::o;9775:18::-;;;;;;;;;;;;;:::o;10664:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9622:77::-;9657:42;9622:77;:::o;13230:401::-;13340:4;13356:24;13383:11;:25;13395:12;:10;:12::i;:::-;13383:25;;;;;;;;;;;;;;;:34;13409:7;13383:34;;;;;;;;;;;;;;;;13356:61;;13460:15;13440:16;:35;;13424:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;13538:67;13547:12;:10;:12::i;:::-;13561:7;13589:15;13570:16;:34;;;;:::i;:::-;13538:8;:67::i;:::-;13621:4;13614:11;;;13230:401;;;;:::o;12096:177::-;12191:4;12207:42;12217:12;:10;:12::i;:::-;12231:9;12242:6;12207:9;:42::i;:::-;12263:4;12256:11;;12096:177;;;;:::o;9448:88::-;9494:42;9448:88;:::o;9422:19::-;;;;;;;;;;;;;:::o;9399:18::-;;;;;;;;;;;;:::o;12279:162::-;12382:7;12408:11;:18;12420:5;12408:18;;;;;;;;;;;;;;;:27;12427:7;12408:27;;;;;;;;;;;;;;;;12401:34;;12279:162;;;;:::o;10273:133::-;10339:5;;;;;;;;;;10317:28;;:10;:28;;;10309:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10395:3;;;;;;;;;;;10374:26;;;11260:375;11311:7;11361:1;11335:28;;11343:5;;;;;;;;;;11335:28;;;11327:37;;;;;;10613:1;10604:11;11371;:17;11383:4;11371:17;;;;;;;;;;;;;;;:33;9494:42;11371:33;;;;;;;;;;;;;;;:39;;;;10613:1;10604:11;11417;:26;11429:13;11417:26;;;;;;;;;;;;;;;:32;11444:4;11417:32;;;;;;;;;;;;;;;:38;;;;11462:59;11485:4;11492;11498:7;:22;11514:4;11498:22;;;;;;;;;;;;;;;;11462:14;:59::i;:::-;11544:4;11530:5;;:19;;;;;;;;;;;;;;;;;;11597:1;11563:37;;11584:3;;;;;;;;;;;11563:37;;;;;;;;;;;;11616:13;11609:20;;11260:375;;;:::o;928:92::-;981:7;1004:10;997:17;;928:92;:::o;12883:341::-;13009:1;12992:19;;:5;:19;;;;12984:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;13087:1;13068:21;;:7;:21;;;;13060:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;13168:6;13138:11;:18;13150:5;13138:18;;;;;;;;;;;;;;;:27;13157:7;13138:27;;;;;;;;;;;;;;;:36;;;;13202:7;13186:32;;13195:5;13186:32;;;13211:6;13186:32;;;;;;:::i;:::-;;;;;;;;12883:341;;;:::o;14946:390::-;15077:1;15059:20;;:6;:20;;;;15051:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15158:1;15137:23;;:9;:23;;;;15129:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15225:1;15216:6;:10;15208:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15289:41;15304:6;15312:9;15323:6;15289:14;:41::i;:::-;14946:390;;;:::o;13637:861::-;13748:13;13798:1;13771:29;;13779:6;;;;;;;;;;;13771:29;;;:61;;13816:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13771:61;;;13811:1;13771:61;13748:84;;13856:13;13843:26;;:9;:26;;;:49;;;;;13890:1;13873:19;;:5;:19;;;;13843:49;13839:69;;;13903:5;13894:14;;13839:69;13940:7;13923;:15;13931:6;13923:15;;;;;;;;;;;;;;;;:24;;13915:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;14046:7;14028;:15;14036:6;14028:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14010:7;:15;14018:6;14010:15;;;;;;;;;;;;;;;:43;;;;14102:7;14081;:18;14089:9;14081:18;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;14060:7;:18;14068:9;14060:18;;;;;;;;;;;;;;;:49;;;;14135:3;;;;;;;;;;;14122:16;;:9;:16;;;14118:327;;14163:15;14181:5;;;;;;;;;;;:8;;;14190:6;14198:9;14181:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14163:45;;14228:13;14220:21;;:6;:21;;;:34;;;;;14253:1;14245:7;:9;14220:34;:63;;;;;14276:7;14258;:17;9657:42;14258:17;;;;;;;;;;;;;;;;:25;14220:63;14217:221;;;14325:7;14304;:17;9657:42;14304:17;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;14366:7;14344;:18;14352:9;14344:18;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;14409:9;14390:38;;9657:42;14390:38;;;14420:7;14390:38;;;;;;:::i;:::-;;;;;;;;14217:221;14146:299;14118:327;14473:9;14456:36;;14465:6;14456:36;;;14484:7;14456:36;;;;;;:::i;:::-;;;;;;;;13741:757;13637:861;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;509:80;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:2;;;709:79;;:::i;:::-;671:2;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;661:263;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:2;;;1055:79;;:::i;:::-;1017:2;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;1007:274;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1418:79;;:::i;:::-;1380:2;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1370:391;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1915:79;;:::i;:::-;1877:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1867:519;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:2;;;2523:79;;:::i;:::-;2485:2;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2475:391;;;;;:::o;2872:351::-;2942:6;2991:2;2979:9;2970:7;2966:23;2962:32;2959:2;;;2997:79;;:::i;:::-;2959:2;3117:1;3142:64;3198:7;3189:6;3178:9;3174:22;3142:64;:::i;:::-;3132:74;;3088:128;2949:274;;;;:::o;3229:118::-;3316:24;3334:5;3316:24;:::i;:::-;3311:3;3304:37;3294:53;;:::o;3353:109::-;3434:21;3449:5;3434:21;:::i;:::-;3429:3;3422:34;3412:50;;:::o;3468:157::-;3568:50;3612:5;3568:50;:::i;:::-;3563:3;3556:63;3546:79;;:::o;3631:157::-;3731:50;3775:5;3731:50;:::i;:::-;3726:3;3719:63;3709:79;;:::o;3794:364::-;3882:3;3910:39;3943:5;3910:39;:::i;:::-;3965:71;4029:6;4024:3;3965:71;:::i;:::-;3958:78;;4045:52;4090:6;4085:3;4078:4;4071:5;4067:16;4045:52;:::i;:::-;4122:29;4144:6;4122:29;:::i;:::-;4117:3;4113:39;4106:46;;3886:272;;;;;:::o;4164:366::-;4306:3;4327:67;4391:2;4386:3;4327:67;:::i;:::-;4320:74;;4403:93;4492:3;4403:93;:::i;:::-;4521:2;4516:3;4512:12;4505:19;;4310:220;;;:::o;4536:366::-;4678:3;4699:67;4763:2;4758:3;4699:67;:::i;:::-;4692:74;;4775:93;4864:3;4775:93;:::i;:::-;4893:2;4888:3;4884:12;4877:19;;4682:220;;;:::o;4908:366::-;5050:3;5071:67;5135:2;5130:3;5071:67;:::i;:::-;5064:74;;5147:93;5236:3;5147:93;:::i;:::-;5265:2;5260:3;5256:12;5249:19;;5054:220;;;:::o;5280:366::-;5422:3;5443:67;5507:2;5502:3;5443:67;:::i;:::-;5436:74;;5519:93;5608:3;5519:93;:::i;:::-;5637:2;5632:3;5628:12;5621:19;;5426:220;;;:::o;5652:366::-;5794:3;5815:67;5879:2;5874:3;5815:67;:::i;:::-;5808:74;;5891:93;5980:3;5891:93;:::i;:::-;6009:2;6004:3;6000:12;5993:19;;5798:220;;;:::o;6024:398::-;6183:3;6204:83;6285:1;6280:3;6204:83;:::i;:::-;6197:90;;6296:93;6385:3;6296:93;:::i;:::-;6414:1;6409:3;6405:11;6398:18;;6187:235;;;:::o;6428:366::-;6570:3;6591:67;6655:2;6650:3;6591:67;:::i;:::-;6584:74;;6667:93;6756:3;6667:93;:::i;:::-;6785:2;6780:3;6776:12;6769:19;;6574:220;;;:::o;6800:366::-;6942:3;6963:67;7027:2;7022:3;6963:67;:::i;:::-;6956:74;;7039:93;7128:3;7039:93;:::i;:::-;7157:2;7152:3;7148:12;7141:19;;6946:220;;;:::o;7172:366::-;7314:3;7335:67;7399:2;7394:3;7335:67;:::i;:::-;7328:74;;7411:93;7500:3;7411:93;:::i;:::-;7529:2;7524:3;7520:12;7513:19;;7318:220;;;:::o;7544:366::-;7686:3;7707:67;7771:2;7766:3;7707:67;:::i;:::-;7700:74;;7783:93;7872:3;7783:93;:::i;:::-;7901:2;7896:3;7892:12;7885:19;;7690:220;;;:::o;7916:118::-;8003:24;8021:5;8003:24;:::i;:::-;7998:3;7991:37;7981:53;;:::o;8040:112::-;8123:22;8139:5;8123:22;:::i;:::-;8118:3;8111:35;8101:51;;:::o;8158:379::-;8342:3;8364:147;8507:3;8364:147;:::i;:::-;8357:154;;8528:3;8521:10;;8346:191;;;:::o;8543:222::-;8636:4;8674:2;8663:9;8659:18;8651:26;;8687:71;8755:1;8744:9;8740:17;8731:6;8687:71;:::i;:::-;8641:124;;;;:::o;8771:332::-;8892:4;8930:2;8919:9;8915:18;8907:26;;8943:71;9011:1;9000:9;8996:17;8987:6;8943:71;:::i;:::-;9024:72;9092:2;9081:9;9077:18;9068:6;9024:72;:::i;:::-;8897:206;;;;;:::o;9109:210::-;9196:4;9234:2;9223:9;9219:18;9211:26;;9247:65;9309:1;9298:9;9294:17;9285:6;9247:65;:::i;:::-;9201:118;;;;:::o;9325:248::-;9431:4;9469:2;9458:9;9454:18;9446:26;;9482:84;9563:1;9552:9;9548:17;9539:6;9482:84;:::i;:::-;9436:137;;;;:::o;9579:248::-;9685:4;9723:2;9712:9;9708:18;9700:26;;9736:84;9817:1;9806:9;9802:17;9793:6;9736:84;:::i;:::-;9690:137;;;;:::o;9833:313::-;9946:4;9984:2;9973:9;9969:18;9961:26;;10033:9;10027:4;10023:20;10019:1;10008:9;10004:17;9997:47;10061:78;10134:4;10125:6;10061:78;:::i;:::-;10053:86;;9951:195;;;;:::o;10152:419::-;10318:4;10356:2;10345:9;10341:18;10333:26;;10405:9;10399:4;10395:20;10391:1;10380:9;10376:17;10369:47;10433:131;10559:4;10433:131;:::i;:::-;10425:139;;10323:248;;;:::o;10577:419::-;10743:4;10781:2;10770:9;10766:18;10758:26;;10830:9;10824:4;10820:20;10816:1;10805:9;10801:17;10794:47;10858:131;10984:4;10858:131;:::i;:::-;10850:139;;10748:248;;;:::o;11002:419::-;11168:4;11206:2;11195:9;11191:18;11183:26;;11255:9;11249:4;11245:20;11241:1;11230:9;11226:17;11219:47;11283:131;11409:4;11283:131;:::i;:::-;11275:139;;11173:248;;;:::o;11427:419::-;11593:4;11631:2;11620:9;11616:18;11608:26;;11680:9;11674:4;11670:20;11666:1;11655:9;11651:17;11644:47;11708:131;11834:4;11708:131;:::i;:::-;11700:139;;11598:248;;;:::o;11852:419::-;12018:4;12056:2;12045:9;12041:18;12033:26;;12105:9;12099:4;12095:20;12091:1;12080:9;12076:17;12069:47;12133:131;12259:4;12133:131;:::i;:::-;12125:139;;12023:248;;;:::o;12277:419::-;12443:4;12481:2;12470:9;12466:18;12458:26;;12530:9;12524:4;12520:20;12516:1;12505:9;12501:17;12494:47;12558:131;12684:4;12558:131;:::i;:::-;12550:139;;12448:248;;;:::o;12702:419::-;12868:4;12906:2;12895:9;12891:18;12883:26;;12955:9;12949:4;12945:20;12941:1;12930:9;12926:17;12919:47;12983:131;13109:4;12983:131;:::i;:::-;12975:139;;12873:248;;;:::o;13127:419::-;13293:4;13331:2;13320:9;13316:18;13308:26;;13380:9;13374:4;13370:20;13366:1;13355:9;13351:17;13344:47;13408:131;13534:4;13408:131;:::i;:::-;13400:139;;13298:248;;;:::o;13552:419::-;13718:4;13756:2;13745:9;13741:18;13733:26;;13805:9;13799:4;13795:20;13791:1;13780:9;13776:17;13769:47;13833:131;13959:4;13833:131;:::i;:::-;13825:139;;13723:248;;;:::o;13977:222::-;14070:4;14108:2;14097:9;14093:18;14085:26;;14121:71;14189:1;14178:9;14174:17;14165:6;14121:71;:::i;:::-;14075:124;;;;:::o;14205:214::-;14294:4;14332:2;14321:9;14317:18;14309:26;;14345:67;14409:1;14398:9;14394:17;14385:6;14345:67;:::i;:::-;14299:120;;;;:::o;14506:99::-;14558:6;14592:5;14586:12;14576:22;;14565:40;;;:::o;14611:147::-;14712:11;14749:3;14734:18;;14724:34;;;;:::o;14764:169::-;14848:11;14882:6;14877:3;14870:19;14922:4;14917:3;14913:14;14898:29;;14860:73;;;;:::o;14939:305::-;14979:3;14998:20;15016:1;14998:20;:::i;:::-;14993:25;;15032:20;15050:1;15032:20;:::i;:::-;15027:25;;15186:1;15118:66;15114:74;15111:1;15108:81;15105:2;;;15192:18;;:::i;:::-;15105:2;15236:1;15233;15229:9;15222:16;;14983:261;;;;:::o;15250:848::-;15311:5;15318:4;15342:6;15333:15;;15366:5;15357:14;;15380:712;15401:1;15391:8;15388:15;15380:712;;;15496:4;15491:3;15487:14;15481:4;15478:24;15475:2;;;15505:18;;:::i;:::-;15475:2;15555:1;15545:8;15541:16;15538:2;;;15970:4;15963:5;15959:16;15950:25;;15538:2;16020:4;16014;16010:15;16002:23;;16050:32;16073:8;16050:32;:::i;:::-;16038:44;;15380:712;;;15323:775;;;;;;;:::o;16104:281::-;16162:5;16186:23;16204:4;16186:23;:::i;:::-;16178:31;;16230:25;16246:8;16230:25;:::i;:::-;16218:37;;16274:104;16311:66;16301:8;16295:4;16274:104;:::i;:::-;16265:113;;16168:217;;;;:::o;16391:1073::-;16445:5;16636:8;16626:2;;16657:1;16648:10;;16659:5;;16626:2;16685:4;16675:2;;16702:1;16693:10;;16704:5;;16675:2;16771:4;16819:1;16814:27;;;;16855:1;16850:191;;;;16764:277;;16814:27;16832:1;16823:10;;16834:5;;;16850:191;16895:3;16885:8;16882:17;16879:2;;;16902:18;;:::i;:::-;16879:2;16951:8;16948:1;16944:16;16935:25;;16986:3;16979:5;16976:14;16973:2;;;16993:18;;:::i;:::-;16973:2;17026:5;;;16764:277;;17150:2;17140:8;17137:16;17131:3;17125:4;17122:13;17118:36;17100:2;17090:8;17087:16;17082:2;17076:4;17073:12;17069:35;17053:111;17050:2;;;17206:8;17200:4;17196:19;17187:28;;17241:3;17234:5;17231:14;17228:2;;;17248:18;;:::i;:::-;17228:2;17281:5;;17050:2;17321:42;17359:3;17349:8;17343:4;17340:1;17321:42;:::i;:::-;17306:57;;;;17395:4;17390:3;17386:14;17379:5;17376:25;17373:2;;;17404:18;;:::i;:::-;17373:2;17453:4;17446:5;17442:16;17433:25;;16451:1013;;;;;;:::o;17470:348::-;17510:7;17533:20;17551:1;17533:20;:::i;:::-;17528:25;;17567:20;17585:1;17567:20;:::i;:::-;17562:25;;17755:1;17687:66;17683:74;17680:1;17677:81;17672:1;17665:9;17658:17;17654:105;17651:2;;;17762:18;;:::i;:::-;17651:2;17810:1;17807;17803:9;17792:20;;17518:300;;;;:::o;17824:191::-;17864:4;17884:20;17902:1;17884:20;:::i;:::-;17879:25;;17918:20;17936:1;17918:20;:::i;:::-;17913:25;;17957:1;17954;17951:8;17948:2;;;17962:18;;:::i;:::-;17948:2;18007:1;18004;18000:9;17992:17;;17869:146;;;;:::o;18021:96::-;18058:7;18087:24;18105:5;18087:24;:::i;:::-;18076:35;;18066:51;;;:::o;18123:90::-;18157:7;18200:5;18193:13;18186:21;18175:32;;18165:48;;;:::o;18219:126::-;18256:7;18296:42;18289:5;18285:54;18274:65;;18264:81;;;:::o;18351:77::-;18388:7;18417:5;18406:16;;18396:32;;;:::o;18434:86::-;18469:7;18509:4;18502:5;18498:16;18487:27;;18477:43;;;:::o;18526:152::-;18589:9;18622:50;18666:5;18622:50;:::i;:::-;18609:63;;18599:79;;;:::o;18684:126::-;18747:9;18780:24;18798:5;18780:24;:::i;:::-;18767:37;;18757:53;;;:::o;18816:152::-;18879:9;18912:50;18956:5;18912:50;:::i;:::-;18899:63;;18889:79;;;:::o;18974:126::-;19037:9;19070:24;19088:5;19070:24;:::i;:::-;19057:37;;19047:53;;;:::o;19106:307::-;19174:1;19184:113;19198:6;19195:1;19192:13;19184:113;;;19283:1;19278:3;19274:11;19268:18;19264:1;19259:3;19255:11;19248:39;19220:2;19217:1;19213:10;19208:15;;19184:113;;;19315:6;19312:1;19309:13;19306:2;;;19395:1;19386:6;19381:3;19377:16;19370:27;19306:2;19155:258;;;;:::o;19419:320::-;19463:6;19500:1;19494:4;19490:12;19480:22;;19547:1;19541:4;19537:12;19568:18;19558:2;;19624:4;19616:6;19612:17;19602:27;;19558:2;19686;19678:6;19675:14;19655:18;19652:38;19649:2;;;19705:18;;:::i;:::-;19649:2;19470:269;;;;:::o;19745:180::-;19793:77;19790:1;19783:88;19890:4;19887:1;19880:15;19914:4;19911:1;19904:15;19931:180;19979:77;19976:1;19969:88;20076:4;20073:1;20066:15;20100:4;20097:1;20090:15;20240:117;20349:1;20346;20339:12;20363:102;20404:6;20455:2;20451:7;20446:2;20439:5;20435:14;20431:28;20421:38;;20411:54;;;:::o;20471:102::-;20513:8;20560:5;20557:1;20553:13;20532:34;;20522:51;;;:::o;20579:225::-;20719:34;20715:1;20707:6;20703:14;20696:58;20788:8;20783:2;20775:6;20771:15;20764:33;20685:119;:::o;20810:225::-;20950:34;20946:1;20938:6;20934:14;20927:58;21019:8;21014:2;21006:6;21002:15;20995:33;20916:119;:::o;21041:222::-;21181:34;21177:1;21169:6;21165:14;21158:58;21250:5;21245:2;21237:6;21233:15;21226:30;21147:116;:::o;21269:167::-;21409:19;21405:1;21397:6;21393:14;21386:43;21375:61;:::o;21442:223::-;21582:34;21578:1;21570:6;21566:14;21559:58;21651:6;21646:2;21638:6;21634:15;21627:31;21548:117;:::o;21671:114::-;21777:8;:::o;21791:224::-;21931:34;21927:1;21919:6;21915:14;21908:58;22000:7;21995:2;21987:6;21983:15;21976:32;21897:118;:::o;22021:236::-;22161:34;22157:1;22149:6;22145:14;22138:58;22230:19;22225:2;22217:6;22213:15;22206:44;22127:130;:::o;22263:228::-;22403:34;22399:1;22391:6;22387:14;22380:58;22472:11;22467:2;22459:6;22455:15;22448:36;22369:122;:::o;22497:238::-;22637:34;22633:1;22625:6;22621:14;22614:58;22706:21;22701:2;22693:6;22689:15;22682:46;22603:132;:::o;22741:122::-;22814:24;22832:5;22814:24;:::i;:::-;22807:5;22804:35;22794:2;;22853:1;22850;22843:12;22794:2;22784:79;:::o;22869:122::-;22942:24;22960:5;22942:24;:::i;:::-;22935:5;22932:35;22922:2;;22981:1;22978;22971:12;22922:2;22912:79;:::o

Swarm Source

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