ETH Price: $3,109.28 (+1.20%)
Gas: 4 Gwei

Token

Static Power (STAT)
 

Overview

Max Total Supply

105,504.492506655844742021 STAT

Holders

547

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,707.886280648830283576 STAT

Value
$0.00
0xF5AA937c2f2EDfc93e40129412BB0eaC7a8B00Ce
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:
StaticPower

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-07
*/

pragma solidity ^ 0.4.26;

library SafeMath {

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

 function div(uint256 a, uint256 b) internal pure returns(uint256) {
  return a / b;
 }

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

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

}

contract TOKEN {
 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);
}

contract Ownable {
 address public owner;
 event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 constructor() public {
  owner = msg.sender;
 }
 modifier onlyOwner() {
  require(msg.sender == owner);
  _;
 }
 function transferOwnership(address newOwner) public onlyOwner {
  require(newOwner != address(0));
  emit OwnershipTransferred(owner, newOwner);
  owner = newOwner;
 }
}

contract StaticPower is Ownable {

 mapping(address => bool) internal ambassadors_;
 uint256 constant internal ambassadorMaxPurchase_ = 1000000e18;
 mapping(address => uint256) internal ambassadorAccumulatedQuota_;
 bool public onlyAmbassadors = true;
 uint256 ACTIVATION_TIME = 1591567200;

 modifier antiEarlyWhale(uint256 _amountOfSTAT, address _customerAddress) {
  if (now >= ACTIVATION_TIME) {
   onlyAmbassadors = false;
  }

  if (onlyAmbassadors) {
   require((ambassadors_[_customerAddress] == true && (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfSTAT) <= ambassadorMaxPurchase_));
   ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfSTAT);
   _;
  } else {
   if (now < (ACTIVATION_TIME + 60 seconds)) {
    require(tx.gasprice <= 0.1 szabo);
   }

   onlyAmbassadors = false;
   _;
  }
 }

 modifier onlyTokenHolders {
  require(myTokens() > 0);
  _;
 }

 modifier onlyDivis {
  require(myDividends(true) > 0);
  _;
 }

 event onDistribute(
  address indexed customerAddress,
  uint256 price
 );

 event onTokenPurchase(
  address indexed customerAddress,
  uint256 incomingSTAT,
  uint256 tokensMinted,
  address indexed referredBy,
  uint timestamp
 );

 event onTokenSell(
  address indexed customerAddress,
  uint256 tokensBurned,
  uint256 statEarned,
  uint timestamp
 );

 event onReinvestment(
  address indexed customerAddress,
  uint256 statReinvested,
  uint256 tokensMinted
 );

 event onWithdraw(
  address indexed customerAddress,
  uint256 statWithdrawn
 );

 event Transfer(
  address indexed from,
  address indexed to,
  uint256 tokens
 );

 string public name = "Static Power";
 string public symbol = "STAT";
 uint8 constant public decimals = 18;
 uint256 internal entryFee_ = 10; // 10%
 uint256 internal transferFee_ = 1;
 uint256 internal exitFee_ = 10; // 10%
 uint256 internal referralFee_ = 20; // 2% of the 10% fee 
 uint256 constant internal magnitude = 2 ** 64;
 mapping(address => uint256) internal tokenBalanceLedger_;
 mapping(address => uint256) internal referralBalance_;
 mapping(address => int256) internal payoutsTo_;
 mapping(address => uint256) internal invested_;
 uint256 internal tokenSupply_;
 uint256 internal profitPerShare_;
 uint256 public stakingRequirement = 1e18; // 1 POWER 
 uint256 public totalHolder = 0;
 uint256 public totalDonation = 0;
 TOKEN erc20;

 constructor() public {
  ambassadors_[0x807b9f48d81eca89f00B6CBee0568090ccd629d3] = true;
  ambassadors_[0x90D20d17Cc9e07020bB490c5e34f486286d3Eeb2] = true;
  erc20 = TOKEN(address(0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509));
 }

 function checkAndTransferSTAT(uint256 _amount) private {
  require(erc20.transferFrom(msg.sender, address(this), _amount) == true, "transfer must succeed");
 }

 function distribute(uint256 _amount) public returns(uint256) {
  require(_amount > 0, "must be a positive value");
  checkAndTransferSTAT(_amount);
  totalDonation += _amount;
  profitPerShare_ = SafeMath.add(profitPerShare_, (_amount * magnitude) / tokenSupply_);
  emit onDistribute(msg.sender, _amount);
 }

 function buy(uint256 _amount, address _referredBy) public returns(uint256) {
  checkAndTransferSTAT(_amount);
  return purchaseTokens(_referredBy, msg.sender, _amount);
 }

 function buyFor(uint256 _amount, address _customerAddress, address _referredBy) public returns(uint256) {
  checkAndTransferSTAT(_amount);
  return purchaseTokens(_referredBy, _customerAddress, _amount);
 }

 function() payable public {
  revert();
 }

 function reinvest() onlyDivis public {
  address _customerAddress = msg.sender;
  uint256 _dividends = myDividends(false);
  payoutsTo_[_customerAddress] += (int256)(_dividends * magnitude);
  _dividends += referralBalance_[_customerAddress];
  referralBalance_[_customerAddress] = 0;
  uint256 _tokens = purchaseTokens(0x0, _customerAddress, _dividends);
  emit onReinvestment(_customerAddress, _dividends, _tokens);
 }

 function exit() external {
  address _customerAddress = msg.sender;
  uint256 _tokens = tokenBalanceLedger_[_customerAddress];
  if (_tokens > 0) sell(_tokens);
  withdraw();
 }

 function withdraw() onlyDivis public {
  address _customerAddress = msg.sender;
  uint256 _dividends = myDividends(false);
  payoutsTo_[_customerAddress] += (int256)(_dividends * magnitude);
  _dividends += referralBalance_[_customerAddress];
  referralBalance_[_customerAddress] = 0;
  erc20.transfer(_customerAddress, _dividends);
  emit onWithdraw(_customerAddress, _dividends);
 }

 function sell(uint256 _amountOfTokens) onlyTokenHolders public {
  address _customerAddress = msg.sender;
  require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

  uint256 _dividends = SafeMath.div(SafeMath.mul(_amountOfTokens, exitFee_), 100);
  uint256 _taxedSTAT = SafeMath.sub(_amountOfTokens, _dividends);

  tokenSupply_ = SafeMath.sub(tokenSupply_, _amountOfTokens);
  tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

  int256 _updatedPayouts = (int256)(profitPerShare_ * _amountOfTokens + (_taxedSTAT * magnitude));
  payoutsTo_[_customerAddress] -= _updatedPayouts;

  if (tokenSupply_ > 0) {
   profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
  }

  emit Transfer(_customerAddress, address(0), _amountOfTokens);
  emit onTokenSell(_customerAddress, _amountOfTokens, _taxedSTAT, now);
 }

 function transfer(address _toAddress, uint256 _amountOfTokens) onlyTokenHolders external returns(bool) {
  address _customerAddress = msg.sender;
  require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

  if (myDividends(true) > 0) {
   withdraw();
  }

  uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
  uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
  uint256 _dividends = _tokenFee;

  tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

  tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
  tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);

  payoutsTo_[_customerAddress] -= (int256)(profitPerShare_ * _amountOfTokens);
  payoutsTo_[_toAddress] += (int256)(profitPerShare_ * _taxedTokens);

  profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);

  emit Transfer(_customerAddress, _toAddress, _taxedTokens);

  return true;
 }

 function setName(string _name) onlyOwner public {
  name = _name;
 }

 function setSymbol(string _symbol) onlyOwner public {
  symbol = _symbol;
 }

 function totalPowerBalance() public view returns(uint256) {
  return erc20.balanceOf(address(this));
 }

 function totalSupply() public view returns(uint256) {
  return tokenSupply_;
 }

 function myTokens() public view returns(uint256) {
  address _customerAddress = msg.sender;
  return balanceOf(_customerAddress);
 }

 function myDividends(bool _includeReferralBonus) public view returns(uint256) {
  address _customerAddress = msg.sender;
  return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress);
 }

 function balanceOf(address _customerAddress) public view returns(uint256) {
  return tokenBalanceLedger_[_customerAddress];
 }

 function dividendsOf(address _customerAddress) public view returns(uint256) {
  return (uint256)((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
 }

 function sellPrice() public view returns(uint256) {
  uint256 _stat = 1e18;
  uint256 _dividends = SafeMath.div(SafeMath.mul(_stat, exitFee_), 100);
  uint256 _taxedSTAT = SafeMath.sub(_stat, _dividends);

  return _taxedSTAT;
 }

 function buyPrice() public view returns(uint256) {
  uint256 _stat = 1e18;
  uint256 _dividends = SafeMath.div(SafeMath.mul(_stat, entryFee_), 100);
  uint256 _taxedSTAT = SafeMath.add(_stat, _dividends);

  return _taxedSTAT;
 }

 function calculateTokensReceived(uint256 _powerToSpend) public view returns(uint256) {
  uint256 _dividends = SafeMath.div(SafeMath.mul(_powerToSpend, entryFee_), 100);
  uint256 _amountOfTokens = SafeMath.sub(_powerToSpend, _dividends);

  return _amountOfTokens;
 }

 function calculatePowerReceived(uint256 _tokensToSell) public view returns(uint256) {
  require(_tokensToSell <= tokenSupply_);
  uint256 _dividends = SafeMath.div(SafeMath.mul(_tokensToSell, exitFee_), 100);
  uint256 _taxedSTAT = SafeMath.sub(_tokensToSell, _dividends);

  return _taxedSTAT;
 }

 function getInvested() public view returns(uint256) {
  return invested_[msg.sender];
 }

 function purchaseTokens(address _referredBy, address _customerAddress, uint256 _incomingSTAT) internal antiEarlyWhale(_incomingSTAT, _customerAddress) returns(uint256) {
  if (getInvested() == 0) {
   totalHolder++;
  }

  invested_[msg.sender] += _incomingSTAT;

  uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingSTAT, entryFee_), 100);

  uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, referralFee_), 100);

  uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
  uint256 _amountOfTokens = SafeMath.sub(_incomingSTAT, _undividedDividends);
  uint256 _fee = _dividends * magnitude;

  require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

  if (_referredBy != address(0) && _referredBy != _customerAddress && tokenBalanceLedger_[_referredBy] >= stakingRequirement) {
   referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
  } else {
   _dividends = SafeMath.add(_dividends, _referralBonus);
   _fee = _dividends * magnitude;
  }

  if (tokenSupply_ > 0) {
   tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
   profitPerShare_ += (_dividends * magnitude / tokenSupply_);
   _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
  } else {
   tokenSupply_ = _amountOfTokens;
  }

  tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

  int256 _updatedPayouts = (int256)(profitPerShare_ * _amountOfTokens - _fee);
  payoutsTo_[_customerAddress] += _updatedPayouts;

  emit Transfer(address(0), msg.sender, _amountOfTokens);
  emit onTokenPurchase(_customerAddress, _incomingSTAT, _amountOfTokens, _referredBy, now);

  return _amountOfTokens;
 }

 function multiData()
 public
 view
 returns(uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
  return (

   // [0] Total POWER in contract 
   totalPowerBalance(),

   // [1] Total STAT supply
   totalSupply(),

   // [2] User STAT balance 
   balanceOf(msg.sender),

   // [3] User POWER balance
   erc20.balanceOf(msg.sender),

   // [4] User divs 
   dividendsOf(msg.sender),

   // [5] Buy price 
   buyPrice(),

   // [6] Sell price 
   sellPrice()

  );
 }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_powerToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_customerAddress","type":"address"},{"name":"_referredBy","type":"address"}],"name":"buyFor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalPowerBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getInvested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculatePowerReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDonation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalHolder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiData","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingSTAT","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"statEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"statReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"statWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526001600360006101000a81548160ff021916908315150217905550635edd63606004556040805190810160405280600c81526020017f53746174696320506f776572000000000000000000000000000000000000000081525060059080519060200190620000749291906200026c565b506040805190810160405280600481526020017f535441540000000000000000000000000000000000000000000000000000000081525060069080519060200190620000c29291906200026c565b50600a6007556001600855600a6009556014600a55670de0b6b3a764000060115560006012556000601355348015620000fa57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180600073807b9f48d81eca89f00b6cbee0568090ccd629d373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060007390d20d17cc9e07020bb490c5e34f486286d3eeb273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073f2f9a7e93f845b3ce154efbeb64fb9346fcce509601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200031b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002af57805160ff1916838001178555620002e0565b82800160010185558215620002e0579182015b82811115620002df578251825591602001919060010190620002c2565b5b509050620002ef9190620002f3565b5090565b6200031891905b8082111562000314576000816000905550600101620002fa565b5090565b90565b612ba6806200032b6000396000f30060806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461018f57806306fdde03146101e657806310d0ffdd1461027657806318160ddd146102b757806327defa1f146102e2578063313ce5671461031157806332b74ec7146103425780633ccfd60b146103c35780634b750334146103da57806356d399e814610405578063688abbf7146104305780636b4096351461047357806370a082311461049e5780637deb6025146104f55780638620410b146105565780638da5cb5b1461058157806391c05b0b146105d8578063949e8acd1461061957806395d89b4114610644578063a9059cbb146106d4578063b84c824614610739578063befc3e2b146107a2578063c47f0027146107cd578063d7d7928914610836578063e4849b3214610877578063e9fad8ee146108a4578063ee2ac05f146108bb578063f11745df146108e6578063f2b79df914610911578063f2fde38b14610966578063fdb5a03e146109a9575b600080fd5b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c0565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a62565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102a160048036038101908080359060200190929190505050610b00565b6040518082815260200191505060405180910390f35b3480156102c357600080fd5b506102cc610b33565b6040518082815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610b3d565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610b50565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034e57600080fd5b506103ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b55565b6040518082815260200191505060405180910390f35b3480156103cf57600080fd5b506103d8610b74565b005b3480156103e657600080fd5b506103ef610dd2565b6040518082815260200191505060405180910390f35b34801561041157600080fd5b5061041a610e10565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b5061045d600480360381019080803515159060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561047f57600080fd5b50610488610e82565b6040518082815260200191505060405180910390f35b3480156104aa57600080fd5b506104df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f81565b6040518082815260200191505060405180910390f35b34801561050157600080fd5b5061054060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fca565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b5061056b610fe8565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b50610596611026565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e457600080fd5b506106036004803603810190808035906020019092919050505061104b565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e61115a565b6040518082815260200191505060405180910390f35b34801561065057600080fd5b5061065961116f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561069957808201518184015260208101905061067e565b50505050905090810190601f1680156106c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106e057600080fd5b5061071f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061120d565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b506107a0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611526565b005b3480156107ae57600080fd5b506107b761159b565b6040518082815260200191505060405180910390f35b3480156107d957600080fd5b50610834600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506115e2565b005b34801561084257600080fd5b5061086160048036038101908080359060200190929190505050611657565b6040518082815260200191505060405180910390f35b34801561088357600080fd5b506108a26004803603810190808035906020019092919050505061169b565b005b3480156108b057600080fd5b506108b961192c565b005b3480156108c757600080fd5b506108d0611993565b6040518082815260200191505060405180910390f35b3480156108f257600080fd5b506108fb611999565b6040518082815260200191505060405180910390f35b34801561091d57600080fd5b5061092661199f565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561097257600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aeb565b005b3480156109b557600080fd5b506109be611c40565b005b600068010000000000000000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010540203811515610a5a57fe5b049050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b505050505081565b6000806000610b1b610b1485600754611db5565b6064611ded565b9150610b278483611e03565b90508092505050919050565b6000600f54905090565b600360009054906101000a900460ff1681565b601281565b6000610b6084611e1c565b610b6b828486611fce565b90509392505050565b6000806000610b836001610e16565b111515610b8f57600080fd5b339150610b9c6000610e16565b9050680100000000000000008102600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b505050506040513d6020811015610d6e57600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600080600080670de0b6b3a76400009250610df9610df284600954611db5565b6064611ded565b9150610e058383611e03565b905080935050505090565b60115481565b60008033905082610e2f57610e2a816109c0565b610e7a565b600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e78826109c0565b015b915050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610fd583611e1c565b610fe0823385611fce565b905092915050565b600080600080670de0b6b3a7640000925061100f61100884600754611db5565b6064611ded565b915061101b8383612ab9565b905080935050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080821115156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6d757374206265206120706f7369746976652076616c7565000000000000000081525060200191505060405180910390fd5b6110cd82611e1c565b81601360008282540192505081905550611101601054600f546801000000000000000085028115156110fb57fe5b04612ab9565b6010819055503373ffffffffffffffffffffffffffffffffffffffff167fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064836040518082815260200191505060405180910390a2919050565b60008033905061116981610f81565b91505090565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112055780601f106111da57610100808354040283529160200191611205565b820191906000526020600020905b8154815290600101906020018083116111e857829003601f168201915b505050505081565b60008060008060008061121e61115a565b11151561122a57600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561127b57600080fd5b60006112876001610e16565b111561129657611295610b74565b5b6112ac6112a587600854611db5565b6064611ded565b92506112b88684611e03565b91508290506112c9600f5484611e03565b600f81905550611318600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113a4600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ab9565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560105402600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160105402600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506114ad601054600f546801000000000000000084028115156114a757fe5b04612ab9565b6010819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158157600080fd5b8060069080519060200190611597929190612ad5565b5050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163d57600080fd5b8060059080519060200190611653929190612ad5565b5050565b6000806000600f54841115151561166d57600080fd5b61168361167c85600954611db5565b6064611ded565b915061168f8483611e03565b90508092505050919050565b60008060008060006116ab61115a565b1115156116b757600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561170857600080fd5b61171e61171786600954611db5565b6064611ded565b925061172a8584611e03565b9150611738600f5486611e03565b600f81905550611787600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856010540201905080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600f5411156118615761185a601054600f5468010000000000000000860281151561185457fe5b04612ab9565b6010819055505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e586844260405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600080339150600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611987576119868161169b565b5b61198f610b74565b5050565b60135481565b60125481565b60008060008060008060006119b2610e82565b6119ba610b33565b6119c333610f81565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b8101908080519060200190929190505050611ac4336109c0565b611acc610fe8565b611ad4610dd2565b965096509650965096509650965090919293949596565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080611c506001610e16565b111515611c5c57600080fd5b339250611c696000610e16565b9150680100000000000000008202600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d5860008484611fce565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b600080831415611dc85760009050611de7565b8183029050818382811515611dd957fe5b04141515611de357fe5b8090505b92915050565b60008183811515611dfa57fe5b04905092915050565b6000828211151515611e1157fe5b818303905092915050565b60011515601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d6020811015611f4357600080fd5b81019080805190602001909291905050501515141515611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000806000806000806000878960045442101515612002576000600360006101000a81548160ff0219169083151502179055505b600360009054906101000a900460ff16156125e55760011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156120c2575069d3c21bcecceda100000082600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b15156120cd57600080fd5b612116600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ab9565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061216361159b565b141561217c576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121df6121d88b600754611db5565b6064611ded565b97506121f76121f089600a54611db5565b6064611ded565b96506122038888611e03565b955061220f8a89611e03565b9450680100000000000000008602935060008511801561223b5750600f5461223986600f54612ab9565b115b151561224657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156122af57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156122fc5750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156123925761234a600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612ab9565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123ad565b61239c8688612ab9565b955068010000000000000000860293505b6000600f541115612418576123c4600f5486612ab9565b600f81905550600f546801000000000000000087028115156123e257fe5b04601060008282540192505081905550600f5468010000000000000000870281151561240a57fe5b048502840384039350612420565b84600f819055505b612469600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ab9565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a3849850612aaa565b603c600454014210156126075764174876e8003a1115151561260657600080fd5b5b6000600360006101000a81548160ff021916908315150217905550600061262c61159b565b1415612645576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506126a86126a18b600754611db5565b6064611ded565b97506126c06126b989600a54611db5565b6064611ded565b96506126cc8888611e03565b95506126d88a89611e03565b945068010000000000000000860293506000851180156127045750600f5461270286600f54612ab9565b115b151561270f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561277857508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156127c55750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561285b57612813600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612ab9565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612876565b6128658688612ab9565b955068010000000000000000860293505b6000600f5411156128e15761288d600f5486612ab9565b600f81905550600f546801000000000000000087028115156128ab57fe5b04601060008282540192505081905550600f546801000000000000000087028115156128d357fe5b0485028403840393506128e9565b84600f819055505b612932600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ab9565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a38498505b50505050505050509392505050565b60008183019050828110151515612acc57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612b1657805160ff1916838001178555612b44565b82800160010185558215612b44579182015b82811115612b43578251825591602001919060010190612b28565b5b509050612b519190612b55565b5090565b612b7791905b80821115612b73576000816000905550600101612b5b565b5090565b905600a165627a7a7230582017dc9136b636897714ea991d5d98f08359c75adbc74f18d31255939a29a00f650029

Deployed Bytecode

0x60806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461018f57806306fdde03146101e657806310d0ffdd1461027657806318160ddd146102b757806327defa1f146102e2578063313ce5671461031157806332b74ec7146103425780633ccfd60b146103c35780634b750334146103da57806356d399e814610405578063688abbf7146104305780636b4096351461047357806370a082311461049e5780637deb6025146104f55780638620410b146105565780638da5cb5b1461058157806391c05b0b146105d8578063949e8acd1461061957806395d89b4114610644578063a9059cbb146106d4578063b84c824614610739578063befc3e2b146107a2578063c47f0027146107cd578063d7d7928914610836578063e4849b3214610877578063e9fad8ee146108a4578063ee2ac05f146108bb578063f11745df146108e6578063f2b79df914610911578063f2fde38b14610966578063fdb5a03e146109a9575b600080fd5b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c0565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a62565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102a160048036038101908080359060200190929190505050610b00565b6040518082815260200191505060405180910390f35b3480156102c357600080fd5b506102cc610b33565b6040518082815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610b3d565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610b50565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034e57600080fd5b506103ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b55565b6040518082815260200191505060405180910390f35b3480156103cf57600080fd5b506103d8610b74565b005b3480156103e657600080fd5b506103ef610dd2565b6040518082815260200191505060405180910390f35b34801561041157600080fd5b5061041a610e10565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b5061045d600480360381019080803515159060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561047f57600080fd5b50610488610e82565b6040518082815260200191505060405180910390f35b3480156104aa57600080fd5b506104df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f81565b6040518082815260200191505060405180910390f35b34801561050157600080fd5b5061054060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fca565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b5061056b610fe8565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b50610596611026565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e457600080fd5b506106036004803603810190808035906020019092919050505061104b565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e61115a565b6040518082815260200191505060405180910390f35b34801561065057600080fd5b5061065961116f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561069957808201518184015260208101905061067e565b50505050905090810190601f1680156106c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106e057600080fd5b5061071f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061120d565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b506107a0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611526565b005b3480156107ae57600080fd5b506107b761159b565b6040518082815260200191505060405180910390f35b3480156107d957600080fd5b50610834600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506115e2565b005b34801561084257600080fd5b5061086160048036038101908080359060200190929190505050611657565b6040518082815260200191505060405180910390f35b34801561088357600080fd5b506108a26004803603810190808035906020019092919050505061169b565b005b3480156108b057600080fd5b506108b961192c565b005b3480156108c757600080fd5b506108d0611993565b6040518082815260200191505060405180910390f35b3480156108f257600080fd5b506108fb611999565b6040518082815260200191505060405180910390f35b34801561091d57600080fd5b5061092661199f565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561097257600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aeb565b005b3480156109b557600080fd5b506109be611c40565b005b600068010000000000000000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010540203811515610a5a57fe5b049050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b505050505081565b6000806000610b1b610b1485600754611db5565b6064611ded565b9150610b278483611e03565b90508092505050919050565b6000600f54905090565b600360009054906101000a900460ff1681565b601281565b6000610b6084611e1c565b610b6b828486611fce565b90509392505050565b6000806000610b836001610e16565b111515610b8f57600080fd5b339150610b9c6000610e16565b9050680100000000000000008102600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b505050506040513d6020811015610d6e57600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600080600080670de0b6b3a76400009250610df9610df284600954611db5565b6064611ded565b9150610e058383611e03565b905080935050505090565b60115481565b60008033905082610e2f57610e2a816109c0565b610e7a565b600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e78826109c0565b015b915050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610fd583611e1c565b610fe0823385611fce565b905092915050565b600080600080670de0b6b3a7640000925061100f61100884600754611db5565b6064611ded565b915061101b8383612ab9565b905080935050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080821115156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6d757374206265206120706f7369746976652076616c7565000000000000000081525060200191505060405180910390fd5b6110cd82611e1c565b81601360008282540192505081905550611101601054600f546801000000000000000085028115156110fb57fe5b04612ab9565b6010819055503373ffffffffffffffffffffffffffffffffffffffff167fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064836040518082815260200191505060405180910390a2919050565b60008033905061116981610f81565b91505090565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112055780601f106111da57610100808354040283529160200191611205565b820191906000526020600020905b8154815290600101906020018083116111e857829003601f168201915b505050505081565b60008060008060008061121e61115a565b11151561122a57600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561127b57600080fd5b60006112876001610e16565b111561129657611295610b74565b5b6112ac6112a587600854611db5565b6064611ded565b92506112b88684611e03565b91508290506112c9600f5484611e03565b600f81905550611318600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113a4600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ab9565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560105402600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160105402600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506114ad601054600f546801000000000000000084028115156114a757fe5b04612ab9565b6010819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158157600080fd5b8060069080519060200190611597929190612ad5565b5050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163d57600080fd5b8060059080519060200190611653929190612ad5565b5050565b6000806000600f54841115151561166d57600080fd5b61168361167c85600954611db5565b6064611ded565b915061168f8483611e03565b90508092505050919050565b60008060008060006116ab61115a565b1115156116b757600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561170857600080fd5b61171e61171786600954611db5565b6064611ded565b925061172a8584611e03565b9150611738600f5486611e03565b600f81905550611787600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856010540201905080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600f5411156118615761185a601054600f5468010000000000000000860281151561185457fe5b04612ab9565b6010819055505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e586844260405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600080339150600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611987576119868161169b565b5b61198f610b74565b5050565b60135481565b60125481565b60008060008060008060006119b2610e82565b6119ba610b33565b6119c333610f81565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b8101908080519060200190929190505050611ac4336109c0565b611acc610fe8565b611ad4610dd2565b965096509650965096509650965090919293949596565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080611c506001610e16565b111515611c5c57600080fd5b339250611c696000610e16565b9150680100000000000000008202600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d5860008484611fce565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b600080831415611dc85760009050611de7565b8183029050818382811515611dd957fe5b04141515611de357fe5b8090505b92915050565b60008183811515611dfa57fe5b04905092915050565b6000828211151515611e1157fe5b818303905092915050565b60011515601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d6020811015611f4357600080fd5b81019080805190602001909291905050501515141515611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000806000806000806000878960045442101515612002576000600360006101000a81548160ff0219169083151502179055505b600360009054906101000a900460ff16156125e55760011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156120c2575069d3c21bcecceda100000082600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b15156120cd57600080fd5b612116600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ab9565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061216361159b565b141561217c576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121df6121d88b600754611db5565b6064611ded565b97506121f76121f089600a54611db5565b6064611ded565b96506122038888611e03565b955061220f8a89611e03565b9450680100000000000000008602935060008511801561223b5750600f5461223986600f54612ab9565b115b151561224657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156122af57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156122fc5750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156123925761234a600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612ab9565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123ad565b61239c8688612ab9565b955068010000000000000000860293505b6000600f541115612418576123c4600f5486612ab9565b600f81905550600f546801000000000000000087028115156123e257fe5b04601060008282540192505081905550600f5468010000000000000000870281151561240a57fe5b048502840384039350612420565b84600f819055505b612469600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ab9565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a3849850612aaa565b603c600454014210156126075764174876e8003a1115151561260657600080fd5b5b6000600360006101000a81548160ff021916908315150217905550600061262c61159b565b1415612645576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506126a86126a18b600754611db5565b6064611ded565b97506126c06126b989600a54611db5565b6064611ded565b96506126cc8888611e03565b95506126d88a89611e03565b945068010000000000000000860293506000851180156127045750600f5461270286600f54612ab9565b115b151561270f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561277857508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156127c55750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561285b57612813600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612ab9565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612876565b6128658688612ab9565b955068010000000000000000860293505b6000600f5411156128e15761288d600f5486612ab9565b600f81905550600f546801000000000000000087028115156128ab57fe5b04601060008282540192505081905550600f546801000000000000000087028115156128d357fe5b0485028403840393506128e9565b84600f819055505b612932600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ab9565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a38498505b50505050505050509392505050565b60008183019050828110151515612acc57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612b1657805160ff1916838001178555612b44565b82800160010185558215612b44579182015b82811115612b43578251825591602001919060010190612b28565b5b509050612b519190612b55565b5090565b612b7791905b80821115612b73576000816000905550600101612b5b565b5090565b905600a165627a7a7230582017dc9136b636897714ea991d5d98f08359c75adbc74f18d31255939a29a00f650029

Deployed Bytecode Sourcemap

1468:11300:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5112:8;;;9050:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9050:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3195:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3195:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3195:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9747:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9747:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8427:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8427:81:0;;;;;;;;;;;;;;;;;;;;;;;1689:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1689:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3267:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3267:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4867:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4867:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5750:392;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5750:392:0;;;;;;9267:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9267:235:0;;;;;;;;;;;;;;;;;;;;;;;3821:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3821:40:0;;;;;;;;;;;;;;;;;;;;;;;8653:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8653:259:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8317:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8317:105:0;;;;;;;;;;;;;;;;;;;;;;;8917:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8917:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4688:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4688:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9507:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9507:235:0;;;;;;;;;;;;;;;;;;;;;;;1059:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1059:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4368:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4368:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8513:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8513:135:0;;;;;;;;;;;;;;;;;;;;;;;3234:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3234:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3234:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7085:1069;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7085:1069:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8234:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8234:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10332:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10332:90:0;;;;;;;;;;;;;;;;;;;;;;;8159:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8159:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10024:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10024:303:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6147:933;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6147:933:0;;;;;;;;;;;;;;;;;;;;;;;;;;5563:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5563:182:0;;;;;;3911:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3911:32:0;;;;;;;;;;;;;;;;;;;;;;;3877:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3877:30:0;;;;;;;;;;;;;;;;;;;;;;;12259:506;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12259:506:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1290:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1290:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:428;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5130:428:0;;;;;;9050:212;9117:7;3524;9216:10;:28;9227:16;9216:28;;;;;;;;;;;;;;;;9175:19;:37;9195:16;9175:37;;;;;;;;;;;;;;;;9157:15;;:55;9148:96;9138:119;;;;;;;;9131:126;;9050:212;;;:::o;3195:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9747:272::-;9823:7;9837:18;9920:23;9858:57;9871:38;9884:13;9899:9;;9871:12;:38::i;:::-;9911:3;9858:12;:57::i;:::-;9837:78;;9946:39;9959:13;9974:10;9946:12;:39::i;:::-;9920:65;;9999:15;9992:22;;9747:272;;;;;:::o;8427:81::-;8470:7;8491:12;;8484:19;;8427:81;:::o;1689:34::-;;;;;;;;;;;;;:::o;3267:35::-;3300:2;3267:35;:::o;4867:209::-;4962:7;4976:29;4997:7;4976:20;:29::i;:::-;5017:54;5032:11;5045:16;5063:7;5017:14;:54::i;:::-;5010:61;;4867:209;;;;;:::o;5750:392::-;5792:24;5834:18;2501:1;2481:17;2493:4;2481:11;:17::i;:::-;:21;2473:30;;;;;;;;5819:10;5792:37;;5855:18;5867:5;5855:11;:18::i;:::-;5834:39;;3524:7;5919:10;:22;5878:10;:28;5889:16;5878:28;;;;;;;;;;;;;;;;:64;;;;;;;;;;;5961:16;:34;5978:16;5961:34;;;;;;;;;;;;;;;;5947:48;;;;6037:1;6000:16;:34;6017:16;6000:34;;;;;;;;;;;;;;;:38;;;;6043:5;;;;;;;;;;;:14;;;6058:16;6076:10;6043:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6043:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6043:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6043:44:0;;;;;;;;;;;;;;;;;6108:16;6097:40;;;6126:10;6097:40;;;;;;;;;;;;;;;;;;5750:392;;:::o;9267:235::-;9308:7;9322:13;9347:18;9421;9338:4;9322:20;;9368:48;9381:29;9394:5;9401:8;;9381:12;:29::i;:::-;9412:3;9368:12;:48::i;:::-;9347:69;;9442:31;9455:5;9462:10;9442:12;:31::i;:::-;9421:52;;9487:10;9480:17;;9267:235;;;;:::o;3821:40::-;;;;:::o;8653:259::-;8722:7;8736:24;8763:10;8736:37;;8785:21;:122;;8878:29;8890:16;8878:11;:29::i;:::-;8785:122;;;8841:16;:34;8858:16;8841:34;;;;;;;;;;;;;;;;8809:29;8821:16;8809:11;:29::i;:::-;:66;8785:122;8778:129;;8653:259;;;;:::o;8317:105::-;8366:7;8387:5;;;;;;;;;;;:15;;;8411:4;8387:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8387:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8387:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8387:30:0;;;;;;;;;;;;;;;;8380:37;;8317:105;:::o;8917:128::-;8982:7;9003:19;:37;9023:16;9003:37;;;;;;;;;;;;;;;;8996:44;;8917:128;;;:::o;4688:174::-;4754:7;4768:29;4789:7;4768:20;:29::i;:::-;4809:48;4824:11;4837:10;4849:7;4809:14;:48::i;:::-;4802:55;;4688:174;;;;:::o;9507:235::-;9547:7;9561:13;9586:18;9661;9577:4;9561:20;;9607:49;9620:30;9633:5;9640:9;;9620:12;:30::i;:::-;9652:3;9607:12;:49::i;:::-;9586:70;;9682:31;9695:5;9702:10;9682:12;:31::i;:::-;9661:52;;9727:10;9720:17;;9507:235;;;;:::o;1059:20::-;;;;;;;;;;;;;:::o;4368:315::-;4420:7;4452:1;4442:7;:11;4434:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4487:29;4508:7;4487:20;:29::i;:::-;4538:7;4521:13;;:24;;;;;;;;;;;4568:67;4581:15;;4622:12;;3524:7;4599;:19;4598:36;;;;;;;;4568:12;:67::i;:::-;4550:15;:85;;;;4658:10;4645:33;;;4670:7;4645:33;;;;;;;;;;;;;;;;;;4368:315;;;:::o;8513:135::-;8553:7;8567:24;8594:10;8567:37;;8616:27;8626:16;8616:9;:27::i;:::-;8609:34;;8513:135;;:::o;3234:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7085:1069::-;7182:4;7193:24;7362:17;7449:20;7517:18;2431:1;2418:10;:8;:10::i;:::-;:14;2410:23;;;;;;;;7220:10;7193:37;;7262:19;:37;7282:16;7262:37;;;;;;;;;;;;;;;;7243:15;:56;;7235:65;;;;;;;;7331:1;7311:17;7323:4;7311:11;:17::i;:::-;:21;7307:49;;;7340:10;:8;:10::i;:::-;7307:49;7382:62;7395:43;7408:15;7425:12;;7395;:43::i;:::-;7440:3;7382:12;:62::i;:::-;7362:82;;7472:40;7485:15;7502:9;7472:12;:40::i;:::-;7449:63;;7538:9;7517:30;;7569:37;7582:12;;7596:9;7569:12;:37::i;:::-;7554:12;:52;;;;7653:68;7666:19;:37;7686:16;7666:37;;;;;;;;;;;;;;;;7705:15;7653:12;:68::i;:::-;7613:19;:37;7633:16;7613:37;;;;;;;;;;;;;;;:108;;;;7760:59;7773:19;:31;7793:10;7773:31;;;;;;;;;;;;;;;;7806:12;7760;:59::i;:::-;7726:19;:31;7746:10;7726:31;;;;;;;;;;;;;;;:93;;;;7885:15;7867;;:33;7826:10;:28;7837:16;7826:28;;;;;;;;;;;;;;;;:75;;;;;;;;;;;7959:12;7941:15;;:30;7906:10;:22;7917:10;7906:22;;;;;;;;;;;;;;;;:66;;;;;;;;;;;7997:70;8010:15;;8054:12;;3524:7;8028:10;:22;8027:39;;;;;;;;7997:12;:70::i;:::-;7979:15;:88;;;;8106:10;8079:52;;8088:16;8079:52;;;8118:12;8079:52;;;;;;;;;;;;;;;;;;8145:4;8138:11;;7085:1069;;;;;;;;:::o;8234:78::-;1270:5;;;;;;;;;;;1256:19;;:10;:19;;;1248:28;;;;;;;;8300:7;8291:6;:16;;;;;;;;;;;;:::i;:::-;;8234:78;:::o;10332:90::-;10375:7;10396:9;:21;10406:10;10396:21;;;;;;;;;;;;;;;;10389:28;;10332:90;:::o;8159:70::-;1270:5;;;;;;;;;;;1256:19;;:10;:19;;;1248:28;;;;;;;;8219:5;8212:4;:12;;;;;;;;;;;;:::i;:::-;;8159:70;:::o;10024:303::-;10099:7;10156:18;10238;10138:12;;10121:13;:29;;10113:38;;;;;;;;10177:56;10190:37;10203:13;10218:8;;10190:12;:37::i;:::-;10229:3;10177:12;:56::i;:::-;10156:77;;10259:39;10272:13;10287:10;10259:12;:39::i;:::-;10238:60;;10312:10;10305:17;;10024:303;;;;;:::o;6147:933::-;6215:24;6329:18;6413;6660:22;2431:1;2418:10;:8;:10::i;:::-;:14;2410:23;;;;;;;;6242:10;6215:37;;6284:19;:37;6304:16;6284:37;;;;;;;;;;;;;;;;6265:15;:56;;6257:65;;;;;;;;6350:58;6363:39;6376:15;6393:8;;6363:12;:39::i;:::-;6404:3;6350:12;:58::i;:::-;6329:79;;6434:41;6447:15;6464:10;6434:12;:41::i;:::-;6413:62;;6497:43;6510:12;;6524:15;6497:12;:43::i;:::-;6482:12;:58;;;;6585:68;6598:19;:37;6618:16;6598:37;;;;;;;;;;;;;;;;6637:15;6585:12;:68::i;:::-;6545:19;:37;6565:16;6545:37;;;;;;;;;;;;;;;:108;;;;3524:7;6731:10;:22;6712:15;6694;;:33;:60;6660:95;;6792:15;6760:10;:28;6771:16;6760:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;6833:1;6818:12;;:16;6814:122;;;6860:70;6873:15;;6917:12;;3524:7;6891:10;:22;6890:39;;;;;;;;6860:12;:70::i;:::-;6842:15;:88;;;;6814:122;6982:1;6947:55;;6956:16;6947:55;;;6986:15;6947:55;;;;;;;;;;;;;;;;;;7024:16;7012:63;;;7042:15;7059:10;7071:3;7012:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6147:933;;;;;:::o;5563:182::-;5593:24;5635:15;5620:10;5593:37;;5653:19;:37;5673:16;5653:37;;;;;;;;;;;;;;;;5635:55;;5709:1;5699:7;:11;5695:30;;;5712:13;5717:7;5712:4;:13::i;:::-;5695:30;5730:10;:8;:10::i;:::-;5563:182;;:::o;3911:32::-;;;;:::o;3877:30::-;;;;:::o;12259:506::-;12306:7;12315;12324;12333;12342;12351;12360;12425:19;:17;:19::i;:::-;12481:13;:11;:13::i;:::-;12532:21;12542:10;12532:9;:21::i;:::-;12591:5;;;;;;;;;;;:15;;;12607:10;12591:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12591:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12591:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12591:27:0;;;;;;;;;;;;;;;;12648:23;12660:10;12648:11;:23::i;:::-;12701:10;:8;:10::i;:::-;12742:11;:9;:11::i;:::-;12374:386;;;;;;;;;;;;;;12259:506;;;;;;;:::o;1290:171::-;1270:5;;;;;;;;;;;1256:19;;:10;:19;;;1248:28;;;;;;;;1385:1;1365:22;;:8;:22;;;;1357:31;;;;;;;;1426:8;1398:37;;1419:5;;;;;;;;;;;1398:37;;;;;;;;;;;;1448:8;1440:5;;:16;;;;;;;;;;;;;;;;;;1290:171;:::o;5130:428::-;5172:24;5214:18;5423:15;2501:1;2481:17;2493:4;2481:11;:17::i;:::-;:21;2473:30;;;;;;;;5199:10;5172:37;;5235:18;5247:5;5235:11;:18::i;:::-;5214:39;;3524:7;5299:10;:22;5258:10;:28;5269:16;5258:28;;;;;;;;;;;;;;;;:64;;;;;;;;;;;5341:16;:34;5358:16;5341:34;;;;;;;;;;;;;;;;5327:48;;;;5417:1;5380:16;:34;5397:16;5380:34;;;;;;;;;;;;;;;:38;;;;5441:49;5456:3;5461:16;5479:10;5441:14;:49::i;:::-;5423:67;;5515:16;5500:53;;;5533:10;5545:7;5500:53;;;;;;;;;;;;;;;;;;;;;;;;5130:428;;;:::o;52:159::-;109:9;134:1;129;:6;125:32;;;150:1;143:8;;;;125:32;169:1;165;:5;161:9;;191:1;186;182;:5;;;;;;;;:10;175:18;;;;;;205:1;198:8;;52:159;;;;;:::o;216:88::-;273:7;298:1;294;:5;;;;;;;;287:12;;216:88;;;;:::o;309:107::-;366:7;392:1;387;:6;;380:14;;;;;;410:1;406;:5;399:12;;309:107;;;;:::o;4202:161::-;4328:4;4270:62;;:5;;;;;;;;;;;:18;;;4289:10;4309:4;4316:7;4270:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4270:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4270:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4270:54:0;;;;;;;;;;;;;;;;:62;;;4262:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:161;:::o;10427:1827::-;10586:7;10700:27;10794:22;10892:18;10967:23;11046:12;11939:22;10545:13;10560:16;1858:15;;1851:3;:22;;1847:63;;;1899:5;1881:15;;:23;;;;;;;;;;;;;;;;;;1847:63;1920:15;;;;;;;;;;;1916:454;;;1986:4;1952:38;;:12;:30;1965:16;1952:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;:131;;;;;1607:10;2043:13;1995:27;:45;2023:16;1995:45;;;;;;;;;;;;;;;;:61;1994:89;;1952:131;1943:142;;;;;;;;2139:74;2152:27;:45;2180:16;2152:45;;;;;;;;;;;;;;;;2199:13;2139:12;:74::i;:::-;2091:27;:45;2119:16;2091:45;;;;;;;;;;;;;;;:122;;;;10621:1;10604:13;:11;:13::i;:::-;:18;10600:49;;;10630:11;;:13;;;;;;;;;;;;;10600:49;10680:13;10655:9;:21;10665:10;10655:21;;;;;;;;;;;;;;;;:38;;;;;;;;;;;10730:57;10743:38;10756:13;10771:9;;10743:12;:38::i;:::-;10783:3;10730:12;:57::i;:::-;10700:87;;10819:66;10832:47;10845:19;10866:12;;10832;:47::i;:::-;10881:3;10819:12;:66::i;:::-;10794:91;;10913:49;10926:19;10947:14;10913:12;:49::i;:::-;10892:70;;10993:48;11006:13;11021:19;10993:12;:48::i;:::-;10967:74;;3524:7;11061:10;:22;11046:37;;11116:1;11098:15;:19;:81;;;;;11167:12;;11121:43;11134:15;11151:12;;11121;:43::i;:::-;:58;11098:81;11090:90;;;;;;;;11214:1;11191:25;;:11;:25;;;;:60;;;;;11235:16;11220:31;;:11;:31;;;;11191:60;:118;;;;;11291:18;;11255:19;:32;11275:11;11255:32;;;;;;;;;;;;;;;;:54;;11191:118;11187:333;;;11349:59;11362:16;:29;11379:11;11362:29;;;;;;;;;;;;;;;;11393:14;11349:12;:59::i;:::-;11317:16;:29;11334:11;11317:29;;;;;;;;;;;;;;;:91;;;;11187:333;;;11439:40;11452:10;11464:14;11439:12;:40::i;:::-;11426:53;;3524:7;11492:10;:22;11485:29;;11187:333;11545:1;11530:12;;:16;11526:292;;;11569:43;11582:12;;11596:15;11569:12;:43::i;:::-;11554:12;:58;;;;11663:12;;3524:7;11638:10;:22;:37;;;;;;;;11618:15;;:58;;;;;;;;;;;11749:12;;3524:7;11724:10;:22;:37;;;;;;;;11705:15;:57;11697:4;:66;11689:4;:75;11682:82;;11526:292;;;11797:15;11782:12;:30;;;;11526:292;11864:68;11877:19;:37;11897:16;11877:37;;;;;;;;;;;;;;;;11916:15;11864:12;:68::i;:::-;11824:19;:37;11844:16;11824:37;;;;;;;;;;;;;;;:108;;;;12009:4;11991:15;11973;;:33;:40;11939:75;;12051:15;12019:10;:28;12030:16;12019:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;12099:10;12078:49;;12095:1;12078:49;;;12111:15;12078:49;;;;;;;;;;;;;;;;;;12203:11;12137:83;;12153:16;12137:83;;;12171:13;12186:15;12216:3;12137:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12234:15;12227:22;;1916:454;;;2267:10;2249:15;;:28;2242:3;:36;2238:89;;;2310:9;2295:11;:24;;2287:33;;;;;;;;2238:89;2352:5;2334:15;;:23;;;;;;;;;;;;;;;;;;10621:1;10604:13;:11;:13::i;:::-;:18;10600:49;;;10630:11;;:13;;;;;;;;;;;;;10600:49;10680:13;10655:9;:21;10665:10;10655:21;;;;;;;;;;;;;;;;:38;;;;;;;;;;;10730:57;10743:38;10756:13;10771:9;;10743:12;:38::i;:::-;10783:3;10730:12;:57::i;:::-;10700:87;;10819:66;10832:47;10845:19;10866:12;;10832;:47::i;:::-;10881:3;10819:12;:66::i;:::-;10794:91;;10913:49;10926:19;10947:14;10913:12;:49::i;:::-;10892:70;;10993:48;11006:13;11021:19;10993:12;:48::i;:::-;10967:74;;3524:7;11061:10;:22;11046:37;;11116:1;11098:15;:19;:81;;;;;11167:12;;11121:43;11134:15;11151:12;;11121;:43::i;:::-;:58;11098:81;11090:90;;;;;;;;11214:1;11191:25;;:11;:25;;;;:60;;;;;11235:16;11220:31;;:11;:31;;;;11191:60;:118;;;;;11291:18;;11255:19;:32;11275:11;11255:32;;;;;;;;;;;;;;;;:54;;11191:118;11187:333;;;11349:59;11362:16;:29;11379:11;11362:29;;;;;;;;;;;;;;;;11393:14;11349:12;:59::i;:::-;11317:16;:29;11334:11;11317:29;;;;;;;;;;;;;;;:91;;;;11187:333;;;11439:40;11452:10;11464:14;11439:12;:40::i;:::-;11426:53;;3524:7;11492:10;:22;11485:29;;11187:333;11545:1;11530:12;;:16;11526:292;;;11569:43;11582:12;;11596:15;11569:12;:43::i;:::-;11554:12;:58;;;;11663:12;;3524:7;11638:10;:22;:37;;;;;;;;11618:15;;:58;;;;;;;;;;;11749:12;;3524:7;11724:10;:22;:37;;;;;;;;11705:15;:57;11697:4;:66;11689:4;:75;11682:82;;11526:292;;;11797:15;11782:12;:30;;;;11526:292;11864:68;11877:19;:37;11897:16;11877:37;;;;;;;;;;;;;;;;11916:15;11864:12;:68::i;:::-;11824:19;:37;11844:16;11824:37;;;;;;;;;;;;;;;:108;;;;12009:4;11991:15;11973;;:33;:40;11939:75;;12051:15;12019:10;:28;12030:16;12019:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;12099:10;12078:49;;12095:1;12078:49;;;12111:15;12078:49;;;;;;;;;;;;;;;;;;12203:11;12137:83;;12153:16;12137:83;;;12171:13;12186:15;12216:3;12137:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12234:15;12227:22;;1916:454;10427:1827;;;;;;;;;;;;;:::o;421:119::-;478:9;502:1;498;:5;494:9;;520:1;515;:6;;508:14;;;;;;534:1;527:8;;421:119;;;;:::o;1468:11300::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://17dc9136b636897714ea991d5d98f08359c75adbc74f18d31255939a29a00f65
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.