BNB Price: $694.77 (-2.14%)
Gas: 1 GWei
 

Overview

Max Total Supply

8,289,238.860422GEMT9

Holders

160

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Validator : Tranchess
Balance
0.219478737997256514 GEMT9

Value
$0.00
0x1cfdbd2dff70c6e2e30df5012726f87731f38164
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
Gemt

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: Gemt.sol
pragma solidity ^0.4.24;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

import "./RootPlan.sol";

contract Base is RootPlan {
  uint public basicRate;
  uint public rewardStamp;
  uint public timerewStep;
  uint256 public blockReward;

  constructor () public {
    basicRate = 600;
    rewardStamp = now;
    timerewStep = 600;
    blockReward = 60*PPT;
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

contract Gemt is Base {
  uint public START;
  uint public STAGE;
  uint256 public MX;

  uint public randomKey;
  uint public lastProof;

  mapping (uint => uint256) public blockPayouts;
  mapping (uint => uint256) public stampRewards;

  uint constant MXPACK = 10*10**6;
  uint constant ANNSEC = 365*24*60*60;

  constructor () public {
    START = now;
    STAGE = now;
    randomKey = 16**32;
    lastProof = now+60;
    balanceOf[address(0)] = 10**9*PPT;
    author = "ASINERUM INTERNATIONAL";
    name = "ETHEREUM MINEABLE TOKEN WITH NO GOVERNANCE V9";
    symbol = "GEMT9";
  }

  function numgen (uint nonce)
  internal view returns (uint num) {
    return numgen (nonce, randomKey);
  }

  function keygen (uint nonce)
  internal view returns (uint num) {
    return keygen (nonce, randomKey);
  }

  function keymod (uint nonce)
  internal view returns (uint num) {
    num = keygen (nonce) % basicRate;
  }

  function VP2 (uint sec)
  internal view returns (uint) {
    uint tar = totalSupply**2*now;
    uint max = (2*ANNSEC*PPT)**2*START;
    return (tar>max?max:tar)/(max/sec)+60;
  }

  function rise (address to, uint256 value)
  internal {
    move (address(0), to, value);
    totalSupply += value;
  }

  function mine (uint nonce) public returns (bool success) {
    if (now-STAGE>ANNSEC/3||totalSupply-MX>MXPACK*PPT/3) {
      basicRate = basicRate*3;
      blockReward = blockReward/3;
      timerewStep = timerewStep*3;
      MX = totalSupply;
      STAGE = now;
    }
    if (rewardStamp<now && stampRewards[rewardStamp]==0) {
      stampRewards[rewardStamp] = blockReward*8/10;
      rise (block.coinbase, blockReward/2);
      rise (address(this), blockReward/5);
      rise (msg.sender, blockReward/10);
      rewardStamp = now+timerewStep;
    }
    uint256 reward;
    if (blockPayouts[block.number]==0) {
      if (keymod(nonce)==randomKey%basicRate) {
        uint tpart = VP2 (3600);
        uint timepast = now-lastProof;
        reward = blockReward*timepast/tpart;
        blockPayouts[block.number] = reward;
        randomKey = numgen (nonce);
        lastProof = now;
      }
    }
    if (reward>0) rise (msg.sender, reward);
    return true;
  }
}

File 2 of 3: Root.sol
pragma solidity ^0.4.24;

contract Root {
  string public name;
  string public symbol;
  uint8 public decimals;
  uint256 public totalSupply;
  mapping (address => uint256) public balanceOf;
  mapping (address => mapping (address => uint256)) public allowance; //V2

  string public author;
  uint256 internal PPT;

  mapping (address => mapping (bytes32 => uint[])) public refnosOf; //V9

  mapping (uint => Market) public markets;
  struct Market {
    bool buytoken;
    address maker;
    uint256 value;
    uint256 ppe;
    uint time; }

  uint constant NOS = 25; //V9

  event Transfer (address indexed fromAddress, address indexed toAddress, uint256 txPenny);
  event Approval (address indexed ownerAddress, address indexed spenderAddress, uint256 txPenny); //V2
  event Sale (uint refno, bool indexed buy, address indexed maker, uint256 indexed ppe, uint time);
  event Get (uint indexed refno, address indexed taker, uint256 value); //<Sale>

  constructor () public {
    decimals = 18;
    PPT = 10**uint256(decimals);
  }

  function ethered (uint256 value)
  internal view returns (bool) {
    require (msg.value*value==0&&msg.value+value>0, "#values");
    require (value<=totalSupply, "#value");
    return msg.value>0?true:false;
  }

  function addNo (string key, uint refno)
  internal {
    require (refno>0);
    bytes32 pid = keccak256(abi.encodePacked(key,msg.value>0?"E":"T"));
    refnosOf[msg.sender][pid].push(refno);
    refnosOf[0x0][pid].push(refno);
  } //V8&9

  function move (address from, address to, uint256 value)
  internal {
    require (value<=balanceOf[from]);
    require (balanceOf[to]+value>balanceOf[to]);
    uint256 sum = balanceOf[from]+balanceOf[to];
    balanceOf[from] -= value;
    balanceOf[to] += value;
    assert (balanceOf[from]+balanceOf[to]==sum);
    emit Transfer (from, to, value);
  }

  function transfer (address to, uint256 value) public returns (bool success) {
    move (msg.sender, to, value);
    return true;
  }

  function transferFrom (address from, address to, uint256 value) public returns (bool success) {
    require (value <= allowance[from][msg.sender]);
    allowance[from][msg.sender] -= value;
    move (from, to, value);
    return true;
  } //V2

  function approve (address spender, uint256 value) public returns (bool success) {
    allowance[msg.sender][spender] = value;
    emit Approval (msg.sender, spender, value);
    return true;
  } //V2

  function post (uint refno, uint256 value, uint256 ppe, uint time) public payable returns (bool success) {
    require (markets[refno].maker==0x0, "#refno");
    require (ppe>0&&ppe<totalSupply, "#rate");
    require (time==0||time>now, "#time");
    Market memory mi;
    mi.buytoken = ethered (value);
    mi.value = msg.value+value;
    mi.maker = msg.sender;
    mi.time = time;
    mi.ppe = ppe;
    markets[refno] = mi;
    if (!mi.buytoken) move (msg.sender, address(this), value);
    emit Sale (refno, mi.buytoken, mi.maker, mi.ppe, mi.time);
    addNo ("post", refno); //V8
    return true;
  }

  function unpost (uint refno) public returns (bool success) {
    Market storage mi = markets[refno];
    require (mi.value>0, "#data");
    require (mi.maker==msg.sender, "#user");
    require (mi.time==0||mi.time<now, "#time");
    if (mi.buytoken) mi.maker.transfer (mi.value);
    else move (address(this), mi.maker, mi.value);
    mi.value = 0;
    return true;
  }

  function acquire (uint refno, uint256 value) public payable returns (bool success) {
    bool buytoken = ethered (value);
    Market storage mi = markets[refno];
    require (mi.maker!=0x0, "#refno");
    require (mi.value>0&&mi.ppe>0, "#data");
    require (mi.time==0||mi.time>=now, "#time");
    require (mi.buytoken==!buytoken, "#request");
    uint256 pre = mi.value;
    uint256 remit;
    if (buytoken) {
      remit = msg.value*mi.ppe/PPT;
      require (remit>0&&remit<=mi.value, "#volume");
      move (address(this), msg.sender, remit);
      mi.maker.transfer (msg.value);
    } else {
      remit = value*PPT/mi.ppe;
      require (remit>0&&remit<=mi.value, "#volume");
      move (msg.sender, mi.maker, value);
      msg.sender.transfer (remit);
    }
    mi.value -= remit;
    assert (mi.value+remit==pre);
    emit Get (refno, msg.sender, remit);
    addNo ("acquire", refno); //V8
    return true;
  }

  function b2i (bytes32 bstr)
  internal pure returns (uint num) {
    for (uint index=0; index<bstr.length; index++) {
      num += uint(bstr[index])*(16**(index*2)+1);
    }
  }

  function keygen (uint nonce, uint key, uint256 uai) public pure returns (uint num) {
    num = b2i (keccak256 (abi.encodePacked (uai, key, nonce))); //V6
  }

  function keygen (uint nonce, uint key)
  internal view returns (uint num) {
    num = keygen (nonce, key, uint256(uint160 (address (msg.sender)))); //V6
  }

  function numgen (uint nonce, uint key)
  internal view returns (uint num) {
    num = b2i (keccak256 (abi.encodePacked (key, nonce, block.number, blockhash(block.number-1), block.coinbase, msg.sender, gasleft(), now)));
  }

  function refnos (address ua, string key, string form, uint skip) public view returns (uint size, uint[NOS] nos) {
    uint[] memory therefno = refnosOf[ua][keccak256(abi.encodePacked(key,form))];
    size = therefno.length;
    if (size<=skip) return;
    uint start = size-skip;
    start = start>NOS ? start-NOS : 0;
    for (uint i=0; i<NOS && start+i<size-skip; i++) {
      nos[i] = therefno[start+i];
    }
  } //V8&9
}

File 3 of 3: RootPlan.sol
pragma solidity ^0.4.24;

import "./Root.sol";

contract RootPlan is Root {
  mapping (uint => Case) public deposits;
  struct Case {
    bool eth;
    address maker;
    address taker;
    uint256 value; }

  mapping (uint => Program) public programs;
  struct Program {
    bool eth;
    address maker;
    uint256 value;
    uint petri;
    uint open; }

  mapping (uint => mapping (address => Invest)) public invests;
  struct Invest {
    uint256 amount;
    uint start; }

  event Bank (uint refno, bool indexed ETH, address indexed maker, address indexed taker, uint256 value);
  event Pay (bytes32 ref, bool indexed ETH, address indexed maker, address indexed taker, uint256 value);
  event Plan (uint refno, address indexed maker, uint indexed petri, uint indexed open);
  event Put (uint indexed refno, address indexed taker, uint256 value);

  function pay (bytes32 ref, address to, uint256 value, string note) public payable returns (bool success) {
    note = "";
    bool eth = ethered (value);
    if (eth) to.transfer (msg.value);
    else move (msg.sender, to, value);
    emit Pay (ref, eth, msg.sender, to, msg.value+value);
    return true;
  }

  function deposit (uint refno, address to, uint256 value) public payable returns (bool success) {
    require (deposits[refno].maker==0x0, "#refno");
    Case memory ci;
    ci.eth = ethered (value);
    ci.maker = msg.sender;
    ci.taker = to;
    ci.value = msg.value+value;
    deposits[refno] = ci;
    if (!ci.eth) move (msg.sender, address(this), value);
    emit Bank (refno, ci.eth, ci.maker, ci.taker, ci.value);
    addNo ("deposit", refno); //V8
    return true;
  }

  function release (uint refno, bool cancel) public returns (bool success) {
    Case storage ci = deposits[refno];
    require (ci.value>0, "#data");
    address to;
    if (!cancel && msg.sender==ci.maker) {
      to = ci.taker;
    } else if (cancel && msg.sender==ci.taker) {
      to = ci.maker;
    } else {
      revert("#user");
    }
    if (ci.eth) to.transfer (ci.value);
    else move (address(this), to, ci.value);
    ci.value = 0;
    return true;
  }

  function program (uint refno, uint petri, uint256 value) public payable returns (bool success) {
    require (programs[refno].maker==0x0, "#refno");
    require (petri>0&&petri<100000, "#rate"); //V8
    Program memory pi;
    pi.eth = ethered (value);
    pi.maker = msg.sender;
    pi.value = msg.value+value;
    pi.petri = petri;
    pi.open = now;
    programs[refno] = pi;
    if (!pi.eth) move (msg.sender, address(this), value);
    emit Plan (refno, pi.maker, pi.petri, pi.open);
    addNo ("program", refno); //V8
    return true;
  }

  function close (uint refno, bool half) public returns (bool success) {
    Program storage pi = programs[refno];
    require (pi.value>0, "#data");
    require (pi.maker==msg.sender, "#user");
    uint256 draw = half?pi.value/2:pi.value;
    if (pi.eth) pi.maker.transfer (draw);
    else move (address(this), pi.maker, draw);
    pi.value -= draw;
    return true;
  }

  function invest (uint refno, uint256 value) public payable returns (bool success) {
    require (invests[refno][msg.sender].start==0, "#invest");
    Program storage pi = programs[refno];
    Invest memory ii;
    bool eth = ethered (value);
    require (pi.value>0, "#data");
    require (pi.eth==eth, "#request");
    ii.start = now;
    ii.amount = msg.value+value;
    invests[refno][msg.sender] = ii;
    if (!pi.eth) move (msg.sender, address(this), value);
    pi.value += ii.amount;
    emit Put (refno, msg.sender, ii.amount);
    addNo ("invest", refno); //V8
    return true;
  }

  function withdraw (uint refno) public returns (bool success) {
    Program storage pi = programs[refno];
    Invest storage ii = invests[refno][msg.sender];
    uint256 cap = ii.amount+(ii.amount*pi.petri/10**9)*(now-ii.start);
    require (cap>0&&cap<pi.value, "#fund");
    if (pi.eth) msg.sender.transfer (cap);
    else move (address(this), msg.sender, cap);
    pi.value -= cap;
    ii.amount = 0;
    ii.start = 0;
    return true;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"basicRate","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":"","type":"address"},{"name":"","type":"bytes32"},{"name":"","type":"uint256"}],"name":"refnosOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blockReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ref","type":"bytes32"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"note","type":"string"}],"name":"pay","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"invests","outputs":[{"name":"amount","type":"uint256"},{"name":"start","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stampRewards","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":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"randomKey","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"}],"name":"withdraw","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"petri","type":"uint256"},{"name":"value","type":"uint256"}],"name":"program","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"nonce","type":"uint256"}],"name":"mine","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"value","type":"uint256"}],"name":"acquire","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"cancel","type":"bool"}],"name":"release","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastProof","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"}],"name":"unpost","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardStamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timerewStep","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAGE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"half","type":"bool"}],"name":"close","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"programs","outputs":[{"name":"eth","type":"bool"},{"name":"maker","type":"address"},{"name":"value","type":"uint256"},{"name":"petri","type":"uint256"},{"name":"open","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MX","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":true,"inputs":[],"name":"author","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"deposits","outputs":[{"name":"eth","type":"bool"},{"name":"maker","type":"address"},{"name":"taker","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"markets","outputs":[{"name":"buytoken","type":"bool"},{"name":"maker","type":"address"},{"name":"value","type":"uint256"},{"name":"ppe","type":"uint256"},{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"START","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"deposit","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"key","type":"uint256"},{"name":"uai","type":"uint256"}],"name":"keygen","outputs":[{"name":"num","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"blockPayouts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"value","type":"uint256"}],"name":"invest","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"refno","type":"uint256"},{"name":"value","type":"uint256"},{"name":"ppe","type":"uint256"},{"name":"time","type":"uint256"}],"name":"post","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"ua","type":"address"},{"name":"key","type":"string"},{"name":"form","type":"string"},{"name":"skip","type":"uint256"}],"name":"refnos","outputs":[{"name":"size","type":"uint256"},{"name":"nos","type":"uint256[25]"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"refno","type":"uint256"},{"indexed":true,"name":"ETH","type":"bool"},{"indexed":true,"name":"maker","type":"address"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Bank","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ref","type":"bytes32"},{"indexed":true,"name":"ETH","type":"bool"},{"indexed":true,"name":"maker","type":"address"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Pay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"refno","type":"uint256"},{"indexed":true,"name":"maker","type":"address"},{"indexed":true,"name":"petri","type":"uint256"},{"indexed":true,"name":"open","type":"uint256"}],"name":"Plan","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"refno","type":"uint256"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Put","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"},{"indexed":false,"name":"txPenny","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"ownerAddress","type":"address"},{"indexed":true,"name":"spenderAddress","type":"address"},{"indexed":false,"name":"txPenny","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"refno","type":"uint256"},{"indexed":true,"name":"buy","type":"bool"},{"indexed":true,"name":"maker","type":"address"},{"indexed":true,"name":"ppe","type":"uint256"},{"indexed":false,"name":"time","type":"uint256"}],"name":"Sale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"refno","type":"uint256"},{"indexed":true,"name":"taker","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Get","type":"event"}]

60806040523480156200001157600080fd5b506002805460ff191660129081179182905560ff91909116600a0a6007819055610258600d81905542600e819055600f91909155603c808302601055601182905592819055700100000000000000000000000000000000601455919091016015556000805260046020908152633b9aca009091027f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec556040805180820190915260168082527f4153494e4552554d20494e5445524e4154494f4e414c0000000000000000000091909201908152620000ed9160069190620001aa565b5060408051606081018252602d8082527f455448455245554d204d494e4541424c4520544f4b454e2057495448204e4f20602083019081527f474f5645524e414e43452056390000000000000000000000000000000000000092909301919091526200015c91600091620001aa565b506040805180820190915260058082527f47454d54390000000000000000000000000000000000000000000000000000006020909201918252620001a391600191620001aa565b506200024f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ed57805160ff19168380011785556200021d565b828001600101855582156200021d579182015b828111156200021d57825182559160200191906001019062000200565b506200022b9291506200022f565b5090565b6200024c91905b808211156200022b576000815560010162000236565b90565b6128cf806200025f6000396000f3006080604052600436106101e25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301623ee481146101e757806306fdde031461020e57806307bf97c514610298578063095ea7b3146102bf5780630ac168a1146102f75780630e11266f1461030c578063125dbf761461036e5780631652d1b9146103ab57806318160ddd146103c357806323b872dd146103d857806325f6b45d146104025780632e1a7d4d14610417578063313ce5671461042f5780633b8c46cf1461045a5780634d4748981461046b578063548b0de91461048357806354d30c871461049157806359d6b35b146104ae578063619006e1146104c3578063674c6ae8146104db5780636a8f2eba146104f057806370a082311461050557806370c24706146105265780637366c35e1461053b57806392db28161461055857806393d1aea0146105a557806395d89b41146105ba578063a6c3e6b9146105cf578063a9059cbb146105e4578063b02c43d014610608578063b1283e7714610654578063ba9a061a1461066c578063bc157ac114610681578063cb0665aa1461069b578063cc440704146106b9578063d87aa643146106d1578063dd62ed3e146106df578063e4e7c35214610706578063ed60eb331461071a575b600080fd5b3480156101f357600080fd5b506101fc610801565b60408051918252519081900360200190f35b34801561021a57600080fd5b50610223610807565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025d578181015183820152602001610245565b50505050905090810190601f16801561028a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a457600080fd5b506101fc600160a060020a0360043516602435604435610895565b3480156102cb57600080fd5b506102e3600160a060020a03600435166024356108d2565b604080519115158252519081900360200190f35b34801561030357600080fd5b506101fc610938565b604080516020601f6064356004818101359283018490048402850184019095528184526102e394803594600160a060020a03602480359190911695604435953695608494930191819084018382808284375094975061093e9650505050505050565b34801561037a57600080fd5b50610392600435600160a060020a0360243516610a00565b6040805192835260208301919091528051918290030190f35b3480156103b757600080fd5b506101fc600435610a24565b3480156103cf57600080fd5b506101fc610a36565b3480156103e457600080fd5b506102e3600160a060020a0360043581169060243516604435610a3c565b34801561040e57600080fd5b506101fc610aab565b34801561042357600080fd5b506102e3600435610ab1565b34801561043b57600080fd5b50610444610bc0565b6040805160ff9092168252519081900360200190f35b6102e3600435602435604435610bc9565b34801561047757600080fd5b506102e3600435610dd3565b6102e3600435602435610f46565b34801561049d57600080fd5b506102e36004356024351515611322565b3480156104ba57600080fd5b506101fc61149c565b3480156104cf57600080fd5b506102e36004356114a2565b3480156104e757600080fd5b506101fc611652565b3480156104fc57600080fd5b506101fc611658565b34801561051157600080fd5b506101fc600160a060020a036004351661165e565b34801561053257600080fd5b506101fc611670565b34801561054757600080fd5b506102e36004356024351515611676565b34801561056457600080fd5b506105706004356117cb565b604080519515158652600160a060020a0390941660208601528484019290925260608401526080830152519081900360a00190f35b3480156105b157600080fd5b506101fc611804565b3480156105c657600080fd5b5061022361180a565b3480156105db57600080fd5b50610223611864565b3480156105f057600080fd5b506102e3600160a060020a03600435166024356118bf565b34801561061457600080fd5b506106206004356118d5565b604080519415158552600160a060020a03938416602086015291909216838201526060830191909152519081900360800190f35b34801561066057600080fd5b5061057060043561190b565b34801561067857600080fd5b506101fc611944565b6102e3600435600160a060020a036024351660443561194a565b3480156106a757600080fd5b506101fc600435602435604435611b0d565b3480156106c557600080fd5b506101fc600435611bab565b6102e3600435602435611bbd565b3480156106eb57600080fd5b506101fc600160a060020a0360043581169060243516611dcf565b6102e3600435602435604435606435611dec565b34801561072657600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526107c1958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750509335945061205c9350505050565b604051828152602081018261032080838360005b838110156107ed5781810151838201526020016107d5565b505050509050019250505060405180910390f35b600d5481565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b820191906000526020600020905b81548152906001019060200180831161087057829003601f168201915b505050505081565b6008602052826000526040600020602052816000526040600020818154811015156108bc57fe5b9060005260206000200160009250925050505481565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60105481565b50604080516020810190915260008082528061095984612282565b9050801561099c57604051600160a060020a038616903480156108fc02916000818181858888f19350505050158015610996573d6000803e3d6000fd5b506109a7565b6109a733868661235e565b6040805187815234860160208201528151600160a060020a038816923392851515927fd53804b2cb4d3d52bd61a4686b84c21737031bcd662d4ee733a95a5e4e313828929181900390910190a450600195945050505050565b600c6020908152600092835260408084209091529082529020805460019091015482565b60176020526000908152604090205481565b60035481565b600160a060020a0383166000908152600560209081526040808320338452909152812054821115610a6c57600080fd5b600160a060020a0384166000908152600560209081526040808320338452909152902080548390039055610aa184848461235e565b5060019392505050565b60145481565b6000818152600b60209081526040808320600c835281842033855290925282206001810154600283015482548592420391633b9aca00910204028260000154019050600081118015610b065750826001015481105b1515610b5c576040805160e560020a62461bcd02815260206004820152600560248201527f2366756e64000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b825460ff1615610b9957604051339082156108fc029083906000818181858888f19350505050158015610b93573d6000803e3d6000fd5b50610ba4565b610ba430338361235e565b6001928301805491909103905560008082559082015592915050565b60025460ff1681565b6000610bd36127ea565b6000858152600b60205260409020546101009004600160a060020a031615610c33576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b600084118015610c455750620186a084105b1515610c9b576040805160e560020a62461bcd02815260206004820152600560248201527f2372617465000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ca483612282565b15158152336020808301918252348501604080850191825260608501888152426080870190815260008b8152600b90955291909320855181549551600160a060020a03166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990971687179190911617815591516001830155915160028201559051600390910155610d3a57610d3a33308561235e565b806080015181606001518260200151600160a060020a03167f4cf2822e3e670e16b94b08aa97041ab4acba1291cd36b5be8dbce318b9198157886040518082815260200191505060405180910390a4610dc86040805190810160405280600781526020017f70726f6772616d000000000000000000000000000000000000000000000000008152508661243b565b506001949350505050565b600080808060036301e133800460125442031180610e01575060075460039062989680020460135460035403115b15610e2e57600d8054600390810290915560105404601055600f8054600390810290915554601355426012555b42600e54108015610e4e5750600e54600090815260176020526040902054155b15610eb257601054600a90600802600e5460009081526017602052604090209190049055601054610e859041906002905b04612630565b610e97306005601054811515610e7f57fe5b610ea933600a601054811515610e7f57fe5b600f544201600e555b436000908152601660205260409020541515610f3357600d54601454811515610ed757fe5b06610ee186612648565b1415610f3357610ef2610e10612666565b915060155442039050818160105402811515610f0a57fe5b436000908152601660205260409020919004908190559250610f2b856126b6565b601455426015555b6000831115610dc857610dc83384612630565b6000806000806000610f5786612282565b6000888152600960205260409020805491955093506101009004600160a060020a03161515610fbe576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b60008360010154118015610fd6575060008360020154115b1515611017576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b6003830154158061102c575042836003015410155b1515611082576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b825460ff1615158415146110e0576040805160e560020a62461bcd02815260206004820152600860248201527f2372657175657374000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8260010154915083156111bd576007548360020154340281151561110057fe5b049050600081118015611117575082600101548111155b151561116d576040805160e560020a62461bcd02815260206004820152600760248201527f23766f6c756d6500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61117830338361235e565b8254604051600160a060020a0361010090920491909116903480156108fc02916000818181858888f193505050501580156111b7573d6000803e3d6000fd5b50611288565b826002015460075487028115156111d057fe5b0490506000811180156111e7575082600101548111155b151561123d576040805160e560020a62461bcd02815260206004820152600760248201527f23766f6c756d6500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82546112599033906101009004600160a060020a03168861235e565b604051339082156108fc029083906000818181858888f19350505050158015611286573d6000803e3d6000fd5b505b600183018054829003908190558101821461129f57fe5b604080518281529051339189917f83ee3663f2c08248d6b075a01c46a69f17c6ea3ab402d11d9be06d190c7656469181900360200190a36113156040805190810160405280600781526020017f61637175697265000000000000000000000000000000000000000000000000008152508861243b565b5060019695505050505050565b6000828152600a60205260408120600281015482908110611378576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b83158015611394575081546101009004600160a060020a031633145b156113ad57506001810154600160a060020a0316611431565b8380156113c657506001820154600160a060020a031633145b156113e1575080546101009004600160a060020a0316611431565b6040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b815460ff161561147a576002820154604051600160a060020a0383169180156108fc02916000818181858888f19350505050158015611474573d6000803e3d6000fd5b50611489565b6114893082846002015461235e565b6000600283015560019250505092915050565b60155481565b6000818152600960205260408120600181015482106114f6576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b80546101009004600160a060020a0316331461155c576040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600381015415806115705750428160030154105b15156115c6576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b805460ff16156116175780546001820154604051610100909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015611611573d6000803e3d6000fd5b5061163d565b61163d308260000160019054906101000a9004600160a060020a0316836001015461235e565b60008160010181905550600191505b50919050565b600e5481565b600f5481565b60046020526000908152604090205481565b60125481565b6000828152600b602052604081206001810154829081106116cc576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b81546101009004600160a060020a03163314611732576040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8361174157816001015461174b565b6001820154600290045b825490915060ff161561179b578154604051610100909104600160a060020a0316906108fc8315029083906000818181858888f19350505050158015611795573d6000803e3d6000fd5b506117b7565b81546117b79030906101009004600160a060020a03168361235e565b600191820180549190910390559392505050565b600b60205260009081526040902080546001820154600283015460039093015460ff831693610100909304600160a060020a0316929085565b60135481565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b60006118cc33848461235e565b50600192915050565b600a6020526000908152604090208054600182015460029092015460ff821692600160a060020a03610100909304831692169084565b600960205260009081526040902080546001820154600283015460039093015460ff831693610100909304600160a060020a0316929085565b60115481565b6000611954612825565b6000858152600a60205260409020546101009004600160a060020a0316156119b4576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b6119bd83612282565b15158152336020808301918252600160a060020a0386811660408086019182523488016060870190815260008b8152600a909552932085518154955184166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990971687179190911617815590516001820180549190931673ffffffffffffffffffffffffffffffffffffffff19909116179091559051600290910155611a6857611a6833308561235e565b8060400151600160a060020a03168160200151600160a060020a0316826000015115157f338d36ae7e3c0baeedaf190cddf00438a0f066d568d34a041eec04ed168d4eb4888560600151604051808381526020018281526020019250505060405180910390a4610dc86040805190810160405280600781526020017f6465706f736974000000000000000000000000000000000000000000000000008152508661243b565b6000611ba38284866040516020018084815260200183815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310611b715780518252601f199092019160209182019101611b52565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206126c4565b949350505050565b60166020526000908152604090205481565b600080611bc861284c565b6000858152600c6020908152604080832033845290915281206001015415611c3a576040805160e560020a62461bcd02815260206004820152600760248201527f23696e7665737400000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000868152600b602052604090209250611c5385612282565b905060008360010154111515611c9e576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b825460ff16151581151514611cfd576040805160e560020a62461bcd02815260206004820152600860248201527f2372657175657374000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b42602080840191825234870184526000888152600c8252604080822033835290925220835181559051600190910155825460ff161515611d4257611d4233308761235e565b8151600184018054820190556040805191825251339188917fdadba1803cd3df9b4f68a8515fd9047e58784f21dcfd1fa2cd2c54e9f364cb289181900360200190a3611dc36040805190810160405280600681526020017f696e7665737400000000000000000000000000000000000000000000000000008152508761243b565b50600195945050505050565b600560209081526000928352604080842090915290825290205481565b6000611df66127ea565b6000868152600960205260409020546101009004600160a060020a031615611e56576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b600084118015611e67575060035484105b1515611ebd576040805160e560020a62461bcd02815260206004820152600560248201527f2372617465000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b821580611ec957504283115b1515611f1f576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611f2885612282565b151581523485016040808301918252336020808501918252608085018781526060860189815260008c8152600990935293909120855181549351600160a060020a03166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990951685179190911617815593516001850155915160028401559051600390920191909155611fc057611fc033308761235e565b80606001518160200151600160a060020a0316826000015115157f432d70e3c61f14a0ef8ed68dd87ce0274b5c68d753435e778907414339a6e917898560800151604051808381526020018281526020019250505060405180910390a4611dc36040805190810160405280600481526020017f706f7374000000000000000000000000000000000000000000000000000000008152508761243b565b6000612066612863565b6060600080600860008a600160a060020a0316600160a060020a03168152602001908152602001600020600089896040516020018083805190602001908083835b602083106120c65780518252601f1990920191602091820191016120a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061210e5780518252601f1990920191602091820191016120ef565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106121725780518252601f199092019160209182019101612153565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805484518187028101870190955280855293949093925084019050828280156121f257602002820191906000526020600020905b8154815260200190600101908083116121de575b5050505050925082519450858511151561220b57612276565b85850391506019821161221f576000612224565b601982035b9150600090505b60198110801561223e5750858503818301105b15612276578281830181518110151561225357fe5b6020908102909101015184826019811061226957fe5b602002015260010161222b565b50505094509492505050565b600034820215801561229657506000823401115b15156122ec576040805160e560020a62461bcd02815260206004820152600760248201527f2376616c75657300000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600354821115612346576040805160e560020a62461bcd02815260206004820152600660248201527f2376616c75650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60003411612355576000612358565b60015b92915050565b600160a060020a03831660009081526004602052604081205482111561238357600080fd5b600160a060020a038316600090815260046020526040902054828101116123a957600080fd5b50600160a060020a0382811660009081526004602052604080822080549387168352912080548481038255825485019283905590549201910181146123ea57fe5b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b600080821161244957600080fd5b826000341161248b5760408051808201909152600181527f540000000000000000000000000000000000000000000000000000000000000060208201526124c0565b60408051808201909152600181527f450000000000000000000000000000000000000000000000000000000000000060208201525b6040516020018083805190602001908083835b602083106124f25780518252601f1990920191602091820191016124d3565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061253a5780518252601f19909201916020918201910161251b565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061259e5780518252601f19909201916020918201910161257f565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120336000908152600883528481208282528352848120805460018082018355918352848320018a90559181527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c783529384208054918201815584529220909101949094555050505050565b61263c6000838361235e565b60038054909101905550565b6000600d546126568361271c565b81151561265f57fe5b0692915050565b60035460115460075460009260029081900a4202926303c267009092020a02838181151561269057fe5b0481831161269e57826126a0565b815b8115156126a957fe5b04603c0192505050919050565b60006123588260145461272a565b6000805b602081101561164c5760016002820260100a018382602081106126e757fe5b7f010000000000000000000000000000000000000000000000000000000000000091901a8102040291909101906001016126c8565b6000612358826014546127dd565b60006127d6828443600143034041335a6040805160208082019990995280820197909752606087019590955260808601939093526c01000000000000000000000000600160a060020a03928316810260a087015291160260b484015260c88301524260e8808401919091528151808403909101815261010890920190819052815191929091829184019080838360208310611b715780518252601f199092019160209182019101611b52565b9392505050565b60006127d6838333611b0d565b60a0604051908101604052806000151581526020016000600160a060020a031681526020016000815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080518082019091526000808252602082015290565b6103206040519081016040528060199060208202803883395091929150505600237265666e6f0000000000000000000000000000000000000000000000000000a165627a7a72305820e0a2fd30f22aebb24dc877ddaad3ad9088bfb96bdba2790ad30c67f7eb72fd2a0029

Deployed Bytecode

0x6080604052600436106101e25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301623ee481146101e757806306fdde031461020e57806307bf97c514610298578063095ea7b3146102bf5780630ac168a1146102f75780630e11266f1461030c578063125dbf761461036e5780631652d1b9146103ab57806318160ddd146103c357806323b872dd146103d857806325f6b45d146104025780632e1a7d4d14610417578063313ce5671461042f5780633b8c46cf1461045a5780634d4748981461046b578063548b0de91461048357806354d30c871461049157806359d6b35b146104ae578063619006e1146104c3578063674c6ae8146104db5780636a8f2eba146104f057806370a082311461050557806370c24706146105265780637366c35e1461053b57806392db28161461055857806393d1aea0146105a557806395d89b41146105ba578063a6c3e6b9146105cf578063a9059cbb146105e4578063b02c43d014610608578063b1283e7714610654578063ba9a061a1461066c578063bc157ac114610681578063cb0665aa1461069b578063cc440704146106b9578063d87aa643146106d1578063dd62ed3e146106df578063e4e7c35214610706578063ed60eb331461071a575b600080fd5b3480156101f357600080fd5b506101fc610801565b60408051918252519081900360200190f35b34801561021a57600080fd5b50610223610807565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025d578181015183820152602001610245565b50505050905090810190601f16801561028a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a457600080fd5b506101fc600160a060020a0360043516602435604435610895565b3480156102cb57600080fd5b506102e3600160a060020a03600435166024356108d2565b604080519115158252519081900360200190f35b34801561030357600080fd5b506101fc610938565b604080516020601f6064356004818101359283018490048402850184019095528184526102e394803594600160a060020a03602480359190911695604435953695608494930191819084018382808284375094975061093e9650505050505050565b34801561037a57600080fd5b50610392600435600160a060020a0360243516610a00565b6040805192835260208301919091528051918290030190f35b3480156103b757600080fd5b506101fc600435610a24565b3480156103cf57600080fd5b506101fc610a36565b3480156103e457600080fd5b506102e3600160a060020a0360043581169060243516604435610a3c565b34801561040e57600080fd5b506101fc610aab565b34801561042357600080fd5b506102e3600435610ab1565b34801561043b57600080fd5b50610444610bc0565b6040805160ff9092168252519081900360200190f35b6102e3600435602435604435610bc9565b34801561047757600080fd5b506102e3600435610dd3565b6102e3600435602435610f46565b34801561049d57600080fd5b506102e36004356024351515611322565b3480156104ba57600080fd5b506101fc61149c565b3480156104cf57600080fd5b506102e36004356114a2565b3480156104e757600080fd5b506101fc611652565b3480156104fc57600080fd5b506101fc611658565b34801561051157600080fd5b506101fc600160a060020a036004351661165e565b34801561053257600080fd5b506101fc611670565b34801561054757600080fd5b506102e36004356024351515611676565b34801561056457600080fd5b506105706004356117cb565b604080519515158652600160a060020a0390941660208601528484019290925260608401526080830152519081900360a00190f35b3480156105b157600080fd5b506101fc611804565b3480156105c657600080fd5b5061022361180a565b3480156105db57600080fd5b50610223611864565b3480156105f057600080fd5b506102e3600160a060020a03600435166024356118bf565b34801561061457600080fd5b506106206004356118d5565b604080519415158552600160a060020a03938416602086015291909216838201526060830191909152519081900360800190f35b34801561066057600080fd5b5061057060043561190b565b34801561067857600080fd5b506101fc611944565b6102e3600435600160a060020a036024351660443561194a565b3480156106a757600080fd5b506101fc600435602435604435611b0d565b3480156106c557600080fd5b506101fc600435611bab565b6102e3600435602435611bbd565b3480156106eb57600080fd5b506101fc600160a060020a0360043581169060243516611dcf565b6102e3600435602435604435606435611dec565b34801561072657600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526107c1958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750509335945061205c9350505050565b604051828152602081018261032080838360005b838110156107ed5781810151838201526020016107d5565b505050509050019250505060405180910390f35b600d5481565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b820191906000526020600020905b81548152906001019060200180831161087057829003601f168201915b505050505081565b6008602052826000526040600020602052816000526040600020818154811015156108bc57fe5b9060005260206000200160009250925050505481565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60105481565b50604080516020810190915260008082528061095984612282565b9050801561099c57604051600160a060020a038616903480156108fc02916000818181858888f19350505050158015610996573d6000803e3d6000fd5b506109a7565b6109a733868661235e565b6040805187815234860160208201528151600160a060020a038816923392851515927fd53804b2cb4d3d52bd61a4686b84c21737031bcd662d4ee733a95a5e4e313828929181900390910190a450600195945050505050565b600c6020908152600092835260408084209091529082529020805460019091015482565b60176020526000908152604090205481565b60035481565b600160a060020a0383166000908152600560209081526040808320338452909152812054821115610a6c57600080fd5b600160a060020a0384166000908152600560209081526040808320338452909152902080548390039055610aa184848461235e565b5060019392505050565b60145481565b6000818152600b60209081526040808320600c835281842033855290925282206001810154600283015482548592420391633b9aca00910204028260000154019050600081118015610b065750826001015481105b1515610b5c576040805160e560020a62461bcd02815260206004820152600560248201527f2366756e64000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b825460ff1615610b9957604051339082156108fc029083906000818181858888f19350505050158015610b93573d6000803e3d6000fd5b50610ba4565b610ba430338361235e565b6001928301805491909103905560008082559082015592915050565b60025460ff1681565b6000610bd36127ea565b6000858152600b60205260409020546101009004600160a060020a031615610c33576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b600084118015610c455750620186a084105b1515610c9b576040805160e560020a62461bcd02815260206004820152600560248201527f2372617465000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ca483612282565b15158152336020808301918252348501604080850191825260608501888152426080870190815260008b8152600b90955291909320855181549551600160a060020a03166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990971687179190911617815591516001830155915160028201559051600390910155610d3a57610d3a33308561235e565b806080015181606001518260200151600160a060020a03167f4cf2822e3e670e16b94b08aa97041ab4acba1291cd36b5be8dbce318b9198157886040518082815260200191505060405180910390a4610dc86040805190810160405280600781526020017f70726f6772616d000000000000000000000000000000000000000000000000008152508661243b565b506001949350505050565b600080808060036301e133800460125442031180610e01575060075460039062989680020460135460035403115b15610e2e57600d8054600390810290915560105404601055600f8054600390810290915554601355426012555b42600e54108015610e4e5750600e54600090815260176020526040902054155b15610eb257601054600a90600802600e5460009081526017602052604090209190049055601054610e859041906002905b04612630565b610e97306005601054811515610e7f57fe5b610ea933600a601054811515610e7f57fe5b600f544201600e555b436000908152601660205260409020541515610f3357600d54601454811515610ed757fe5b06610ee186612648565b1415610f3357610ef2610e10612666565b915060155442039050818160105402811515610f0a57fe5b436000908152601660205260409020919004908190559250610f2b856126b6565b601455426015555b6000831115610dc857610dc83384612630565b6000806000806000610f5786612282565b6000888152600960205260409020805491955093506101009004600160a060020a03161515610fbe576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b60008360010154118015610fd6575060008360020154115b1515611017576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b6003830154158061102c575042836003015410155b1515611082576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b825460ff1615158415146110e0576040805160e560020a62461bcd02815260206004820152600860248201527f2372657175657374000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8260010154915083156111bd576007548360020154340281151561110057fe5b049050600081118015611117575082600101548111155b151561116d576040805160e560020a62461bcd02815260206004820152600760248201527f23766f6c756d6500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61117830338361235e565b8254604051600160a060020a0361010090920491909116903480156108fc02916000818181858888f193505050501580156111b7573d6000803e3d6000fd5b50611288565b826002015460075487028115156111d057fe5b0490506000811180156111e7575082600101548111155b151561123d576040805160e560020a62461bcd02815260206004820152600760248201527f23766f6c756d6500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82546112599033906101009004600160a060020a03168861235e565b604051339082156108fc029083906000818181858888f19350505050158015611286573d6000803e3d6000fd5b505b600183018054829003908190558101821461129f57fe5b604080518281529051339189917f83ee3663f2c08248d6b075a01c46a69f17c6ea3ab402d11d9be06d190c7656469181900360200190a36113156040805190810160405280600781526020017f61637175697265000000000000000000000000000000000000000000000000008152508861243b565b5060019695505050505050565b6000828152600a60205260408120600281015482908110611378576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b83158015611394575081546101009004600160a060020a031633145b156113ad57506001810154600160a060020a0316611431565b8380156113c657506001820154600160a060020a031633145b156113e1575080546101009004600160a060020a0316611431565b6040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b815460ff161561147a576002820154604051600160a060020a0383169180156108fc02916000818181858888f19350505050158015611474573d6000803e3d6000fd5b50611489565b6114893082846002015461235e565b6000600283015560019250505092915050565b60155481565b6000818152600960205260408120600181015482106114f6576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b80546101009004600160a060020a0316331461155c576040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600381015415806115705750428160030154105b15156115c6576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b805460ff16156116175780546001820154604051610100909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015611611573d6000803e3d6000fd5b5061163d565b61163d308260000160019054906101000a9004600160a060020a0316836001015461235e565b60008160010181905550600191505b50919050565b600e5481565b600f5481565b60046020526000908152604090205481565b60125481565b6000828152600b602052604081206001810154829081106116cc576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b81546101009004600160a060020a03163314611732576040805160e560020a62461bcd02815260206004820152600560248201527f2375736572000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8361174157816001015461174b565b6001820154600290045b825490915060ff161561179b578154604051610100909104600160a060020a0316906108fc8315029083906000818181858888f19350505050158015611795573d6000803e3d6000fd5b506117b7565b81546117b79030906101009004600160a060020a03168361235e565b600191820180549190910390559392505050565b600b60205260009081526040902080546001820154600283015460039093015460ff831693610100909304600160a060020a0316929085565b60135481565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561088d5780601f106108625761010080835404028352916020019161088d565b60006118cc33848461235e565b50600192915050565b600a6020526000908152604090208054600182015460029092015460ff821692600160a060020a03610100909304831692169084565b600960205260009081526040902080546001820154600283015460039093015460ff831693610100909304600160a060020a0316929085565b60115481565b6000611954612825565b6000858152600a60205260409020546101009004600160a060020a0316156119b4576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b6119bd83612282565b15158152336020808301918252600160a060020a0386811660408086019182523488016060870190815260008b8152600a909552932085518154955184166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990971687179190911617815590516001820180549190931673ffffffffffffffffffffffffffffffffffffffff19909116179091559051600290910155611a6857611a6833308561235e565b8060400151600160a060020a03168160200151600160a060020a0316826000015115157f338d36ae7e3c0baeedaf190cddf00438a0f066d568d34a041eec04ed168d4eb4888560600151604051808381526020018281526020019250505060405180910390a4610dc86040805190810160405280600781526020017f6465706f736974000000000000000000000000000000000000000000000000008152508661243b565b6000611ba38284866040516020018084815260200183815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310611b715780518252601f199092019160209182019101611b52565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206126c4565b949350505050565b60166020526000908152604090205481565b600080611bc861284c565b6000858152600c6020908152604080832033845290915281206001015415611c3a576040805160e560020a62461bcd02815260206004820152600760248201527f23696e7665737400000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000868152600b602052604090209250611c5385612282565b905060008360010154111515611c9e576040805160e560020a62461bcd028152602060048201526005602482015260d860020a64236461746102604482015290519081900360640190fd5b825460ff16151581151514611cfd576040805160e560020a62461bcd02815260206004820152600860248201527f2372657175657374000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b42602080840191825234870184526000888152600c8252604080822033835290925220835181559051600190910155825460ff161515611d4257611d4233308761235e565b8151600184018054820190556040805191825251339188917fdadba1803cd3df9b4f68a8515fd9047e58784f21dcfd1fa2cd2c54e9f364cb289181900360200190a3611dc36040805190810160405280600681526020017f696e7665737400000000000000000000000000000000000000000000000000008152508761243b565b50600195945050505050565b600560209081526000928352604080842090915290825290205481565b6000611df66127ea565b6000868152600960205260409020546101009004600160a060020a031615611e56576040805160e560020a62461bcd0281526020600482015260066024820152600080516020612884833981519152604482015290519081900360640190fd5b600084118015611e67575060035484105b1515611ebd576040805160e560020a62461bcd02815260206004820152600560248201527f2372617465000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b821580611ec957504283115b1515611f1f576040805160e560020a62461bcd02815260206004820152600560248201527f2374696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611f2885612282565b151581523485016040808301918252336020808501918252608085018781526060860189815260008c8152600990935293909120855181549351600160a060020a03166101000274ffffffffffffffffffffffffffffffffffffffff001991151560ff1990951685179190911617815593516001850155915160028401559051600390920191909155611fc057611fc033308761235e565b80606001518160200151600160a060020a0316826000015115157f432d70e3c61f14a0ef8ed68dd87ce0274b5c68d753435e778907414339a6e917898560800151604051808381526020018281526020019250505060405180910390a4611dc36040805190810160405280600481526020017f706f7374000000000000000000000000000000000000000000000000000000008152508761243b565b6000612066612863565b6060600080600860008a600160a060020a0316600160a060020a03168152602001908152602001600020600089896040516020018083805190602001908083835b602083106120c65780518252601f1990920191602091820191016120a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061210e5780518252601f1990920191602091820191016120ef565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106121725780518252601f199092019160209182019101612153565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805484518187028101870190955280855293949093925084019050828280156121f257602002820191906000526020600020905b8154815260200190600101908083116121de575b5050505050925082519450858511151561220b57612276565b85850391506019821161221f576000612224565b601982035b9150600090505b60198110801561223e5750858503818301105b15612276578281830181518110151561225357fe5b6020908102909101015184826019811061226957fe5b602002015260010161222b565b50505094509492505050565b600034820215801561229657506000823401115b15156122ec576040805160e560020a62461bcd02815260206004820152600760248201527f2376616c75657300000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600354821115612346576040805160e560020a62461bcd02815260206004820152600660248201527f2376616c75650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60003411612355576000612358565b60015b92915050565b600160a060020a03831660009081526004602052604081205482111561238357600080fd5b600160a060020a038316600090815260046020526040902054828101116123a957600080fd5b50600160a060020a0382811660009081526004602052604080822080549387168352912080548481038255825485019283905590549201910181146123ea57fe5b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b600080821161244957600080fd5b826000341161248b5760408051808201909152600181527f540000000000000000000000000000000000000000000000000000000000000060208201526124c0565b60408051808201909152600181527f450000000000000000000000000000000000000000000000000000000000000060208201525b6040516020018083805190602001908083835b602083106124f25780518252601f1990920191602091820191016124d3565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061253a5780518252601f19909201916020918201910161251b565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061259e5780518252601f19909201916020918201910161257f565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120336000908152600883528481208282528352848120805460018082018355918352848320018a90559181527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c783529384208054918201815584529220909101949094555050505050565b61263c6000838361235e565b60038054909101905550565b6000600d546126568361271c565b81151561265f57fe5b0692915050565b60035460115460075460009260029081900a4202926303c267009092020a02838181151561269057fe5b0481831161269e57826126a0565b815b8115156126a957fe5b04603c0192505050919050565b60006123588260145461272a565b6000805b602081101561164c5760016002820260100a018382602081106126e757fe5b7f010000000000000000000000000000000000000000000000000000000000000091901a8102040291909101906001016126c8565b6000612358826014546127dd565b60006127d6828443600143034041335a6040805160208082019990995280820197909752606087019590955260808601939093526c01000000000000000000000000600160a060020a03928316810260a087015291160260b484015260c88301524260e8808401919091528151808403909101815261010890920190819052815191929091829184019080838360208310611b715780518252601f199092019160209182019101611b52565b9392505050565b60006127d6838333611b0d565b60a0604051908101604052806000151581526020016000600160a060020a031681526020016000815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080518082019091526000808252602082015290565b6103206040519081016040528060199060208202803883395091929150505600237265666e6f0000000000000000000000000000000000000000000000000000a165627a7a72305820e0a2fd30f22aebb24dc877ddaad3ad9088bfb96bdba2790ad30c67f7eb72fd2a0029

Deployed Bytecode Sourcemap

586:2270:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;213:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;213:21:0;;;;;;;;;;;;;;;;;;;;47:18:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;47:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;332:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;332:64:1;-1:-1:-1;;;;;332:64:1;;;;;;;;;2307:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2307:198:1;-1:-1:-1;;;;;2307:198:1;;;;;;;;;;;;;;;;;;;;;;;;;295:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;295:26:0;;;;885:316:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;885:316:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;885:316:2;;-1:-1:-1;885:316:2;;-1:-1:-1;;;;;;;885:316:2;380:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;380:60:2;;;-1:-1:-1;;;;;380:60:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;785:45:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;785:45:0;;;;;121:26:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;121:26:1;;;;2053:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2053:243:1;-1:-1:-1;;;;;2053:243:1;;;;;;;;;;;;681:21:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;681:21:0;;;;3746:452:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3746:452:2;;;;;95:21:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:21:1;;;;;;;;;;;;;;;;;;;;;;;2187:558:2;;;;;;;;;;1864:989:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1864:989:0;;;;;3524:944:1;;;;;;;;1702:479:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1702:479:2;;;;;;;;;707:21:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;707:21:0;;;;3140:378:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3140:378:1;;;;;239:23:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:23:0;;;;267;;8:9:-1;5:2;;;30:1;27;20:12;5:2;267:23:0;;;;152:45:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;152:45:1;-1:-1:-1;;;;;152:45:1;;;;;635:17:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;635:17:0;;;;2751:378:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2751:378:2;;;;;;;;;222:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;222:41:2;;;;;;;;;;;;;;-1:-1:-1;;;;;222:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;657:17:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:17:0;;;;70:20:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;70:20:1;;;;280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;280:20:1;;;;1912:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1912:135:1;-1:-1:-1;;;;;1912:135:1;;;;;;;83:38:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;83:38:2;;;;;;;;;;;;;;-1:-1:-1;;;;;83:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;408:39:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;408:39:1;;;;;613:17:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;613:17:0;;;;1207:489:2;;;;-1:-1:-1;;;;;1207:489:2;;;;;;;4662:159:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4662:159:1;;;;;;;;;735:45:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;735:45:0;;;;;3135:605:2;;;;;;;;202:66:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;202:66:1;-1:-1:-1;;;;;202:66:1;;;;;;;;;;2516:618;;;;;;;;;;;;5224:425;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5224:425:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5224:425:1;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5224:425:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5224:425:1;;;;-1:-1:-1;5224:425:1;-1:-1:-1;5224:425:1;;-1:-1:-1;5224:425:1;;;;;;;;-1:-1:-1;5224:425:1;;-1:-1:-1;;5224:425:1;;;-1:-1:-1;5224:425:1;;-1:-1:-1;;;;5224:425:1;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5224:425:1;;;;;;;;;;;;;;;;;213:21:0;;;;:::o;47:18:1:-;;;;;;;;;;;;;;;-1:-1:-1;;47:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;332:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2307:198::-;2404:10;2373:12;2394:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2394:30:1;;;;;;;;;;;:38;;;2444:37;;;;;;;2373:12;;2394:30;;2404:10;;2444:37;;;;;;;;-1:-1:-1;2495:4:1;2307:198;;;;:::o;295:26:0:-;;;;:::o;885:316:2:-;-1:-1:-1;997:9:2;;;;;;;;;976:12;997:9;;;976:12;1024:15;1033:5;1024:7;:15::i;:::-;1013:26;;1050:3;1046:72;;;1055:23;;-1:-1:-1;;;;;1055:11:2;;;1068:9;1055:23;;;;;;;;;1068:9;1055:11;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1055:23:2;1046:72;;;1090:28;1096:10;1108:2;1112:5;1090:4;:28::i;:::-;1130:47;;;;;;1161:9;:15;;1130:47;;;;;;-1:-1:-1;;;;;1130:47:2;;;1145:10;;1130:47;;;;;;;;;;;;;;;-1:-1:-1;1191:4:2;;885:316;-1:-1:-1;;;;;885:316:2:o;380:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;785:45:0:-;;;;;;;;;;;;;:::o;121:26:1:-;;;;:::o;2053:243::-;-1:-1:-1;;;;;2172:15:1;;2133:12;2172:15;;;:9;:15;;;;;;;;2188:10;2172:27;;;;;;;;2163:36;;;2154:46;;;;;;-1:-1:-1;;;;;2207:15:1;;;;;;:9;:15;;;;;;;;2223:10;2207:27;;;;;;;:36;;;;;;;2250:22;2217:4;2262:2;2238:5;2250:4;:22::i;:::-;-1:-1:-1;2286:4:1;2053:243;;;;;:::o;681:21:0:-;;;;:::o;3746:452:2:-;3793:12;3835:15;;;:8;:15;;;;;;;;3877:7;:14;;;;;3892:10;3877:26;;;;;;;3966:8;;;;3945;;;;3935:9;;3793:12;;3962:3;:12;;3954:5;;3935:18;:24;3934:41;3924:2;:9;;;:51;3910:65;;3995:1;3991:3;:5;:19;;;;;4002:2;:8;;;3998:3;:12;3991:19;3982:38;;;;;;;-1:-1:-1;;;;;3982:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;4031:6;;;;4027:86;;;4039:25;;:10;;:25;;;;;4060:3;;4039:25;;;;4060:3;4039:10;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4039:25:2;4027:86;;;4076:37;4090:4;4097:10;4109:3;4076:4;:37::i;:::-;4120:8;;;;:15;;;;;;;;-1:-1:-1;4142:13:2;;;4162:8;;;:12;4120:8;3746:452;-1:-1:-1;;3746:452:2:o;95:21:1:-;;;;;;:::o;2187:558:2:-;2268:12;2394:17;;:::i;:::-;2298:15;;;;:8;:15;;;;;:21;;;;-1:-1:-1;;;;;2298:21:2;:26;2289:46;;;;;-1:-1:-1;;;;;2289:46:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2289:46:2;;;;;;;;;;;;;;;2357:1;2351:5;:7;:21;;;;;2366:6;2360:5;:12;2351:21;2342:40;;;;;;;-1:-1:-1;;;;;2342:40:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:15;2436:5;2427:7;:15::i;:::-;2418:24;;;;2460:10;2449:8;;;;:21;;;2488:9;:15;;2477:8;;;;:26;;;2510:8;;;:16;;;2543:3;2533:7;;;:13;;;2418:6;2553:15;;;:8;:15;;;;;;;:20;;;;;;-1:-1:-1;;;;;2553:20:2;;;-1:-1:-1;;2553:20:2;;;-1:-1:-1;;2553:20:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2580:52;;2593:39;2599:10;2619:4;2626:5;2593:4;:39::i;:::-;2677:2;:7;;;2667:2;:8;;;2657:2;:8;;;-1:-1:-1;;;;;2644:41:2;;2650:5;2644:41;;;;;;;;;;;;;;;;;;2692:24;;;;;;;;;;;;;;;;;;;2710:5;2692;:24::i;:::-;-1:-1:-1;2735:4:2;;2187:558;-1:-1:-1;;;;2187:558:2:o;1864:989:0:-;1907:12;;;;1949:1;896:12;1942:8;1936:5;;1932:3;:9;:18;:47;;;-1:-1:-1;1974:3:0;;1978:1;;860:8;1967:10;:12;1964:2;;1952:11;;:14;:27;1932:47;1928:210;;;2002:9;;;2012:1;2002:11;;;1990:23;;;2036:11;;:13;2022:11;:27;2072:11;;;2084:1;2072:13;;;2058:27;;;2099:11;2094:2;:16;2127:3;2119:5;:11;1928:210;2160:3;2148:11;;:15;:47;;;;-1:-1:-1;2180:11:0;;2167:25;;;;:12;:25;;;;;;:28;2148:47;2144:283;;;2234:11;;2248:2;;2246:1;2234:13;2219:11;;2206:25;;;;:12;:25;;;;;2234:16;;;2206:44;;2281:11;;2259:36;;2265:14;;2293:1;;2281:13;;2259:4;:36::i;:::-;2304:35;2318:4;2337:1;2325:11;;:13;;;;;;2304:35;2348:33;2354:10;2378:2;2366:11;;:14;;;;;;2348:33;2408:11;;2404:3;:15;2390:11;:29;2144:283;2471:12;2458:26;;;;:12;:26;;;;;;:29;2454:330;;;2527:9;;2517;;:19;;;;;;;;2502:13;2509:5;2502:6;:13::i;:::-;:34;2498:279;;;2562:10;2567:4;2562:3;:10::i;:::-;2549:23;;2603:9;;2599:3;:13;2583:29;;2653:5;2644:8;2632:11;;:20;:26;;;;;;;2682:12;2669:26;;;;:12;:26;;;;;2632;;;2669:35;;;;2632:26;-1:-1:-1;2727:14:0;2735:5;2727:6;:14::i;:::-;2715:9;:26;2764:3;2752:9;:15;2498:279;2801:1;2794:6;:8;2790:39;;;2804:25;2810:10;2822:6;2804:4;:25::i;3524:944:1:-;3593:12;3614:13;3652:17;3880:11;3909:13;3630:15;3639:5;3630:7;:15::i;:::-;3672:14;;;;:7;:14;;;;;3702:8;;3614:31;;-1:-1:-1;3672:14:1;-1:-1:-1;3702:8:1;;;-1:-1:-1;;;;;3702:8:1;:13;;3693:33;;;;;-1:-1:-1;;;;;3693:33:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3693:33:1;;;;;;;;;;;;;;;3751:1;3742:2;:8;;;:10;:20;;;;;3761:1;3754:2;:6;;;:8;3742:20;3733:39;;;;;;;-1:-1:-1;;;;;3733:39:1;;;;;;;;;;;;-1:-1:-1;;;;;3733:39:1;;;;;;;;;;;;;;;3788:7;;;;:10;;:24;;;3809:3;3800:2;:7;;;:12;;3788:24;3779:43;;;;;;;-1:-1:-1;;;;;3779:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:11;;;;:22;;3851:9;;3838:22;3829:44;;;;;-1:-1:-1;;;;;3829:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:2;:8;;;3880:22;;3933:8;3929:379;;;3977:3;;3970:2;:6;;;3960:9;:16;:20;;;;;;;;3952:28;;4004:1;3998:5;:7;:24;;;;;4014:2;:8;;;4007:5;:15;;3998:24;3989:45;;;;;;;-1:-1:-1;;;;;3989:45:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4043:39;4057:4;4064:10;4076:5;4043:4;:39::i;:::-;4091:8;;:29;;-1:-1:-1;;;;;4091:8:1;;;;;;;;;4110:9;4091:29;;;;;:8;:29;:8;:29;4110:9;4091:8;:29;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4091:29:1;3929:379;;;4161:2;:6;;;4157:3;;4151:5;:9;:16;;;;;;;;4143:24;;4191:1;4185:5;:7;:24;;;;;4201:2;:8;;;4194:5;:15;;4185:24;4176:45;;;;;;;-1:-1:-1;;;;;4176:45:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:8;;4230:34;;4236:10;;4248:8;;;-1:-1:-1;;;;;4248:8:1;4258:5;4230:4;:34::i;:::-;4273:27;;:10;;:27;;;;;4294:5;;4273:27;;;;4294:5;4273:10;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4273:27:1;3929:379;4314:8;;;:17;;;;;;;;;4346:14;;:19;;4338:28;;;;4378:30;;;;;;;;4390:10;;4383:5;;4378:30;;;;;;;;;4415:24;;;;;;;;;;;;;;;;;;;4433:5;4415;:24::i;:::-;-1:-1:-1;4458:4:1;;3524:944;-1:-1:-1;;;;;;3524:944:1:o;1702:479:2:-;1761:12;1800:15;;;:8;:15;;;;;1831:8;;;;1761:12;;1831:10;-1:-1:-1;1822:29:2;;;;;-1:-1:-1;;;;;1822:29:2;;;;;;;;;;;;-1:-1:-1;;;;;1822:29:2;;;;;;;;;;;;;;;1880:6;1879:7;:31;;;;-1:-1:-1;1902:8:2;;;;;-1:-1:-1;;;;;1902:8:2;1890:10;:20;1879:31;1875:177;;;-1:-1:-1;1926:8:2;;;;-1:-1:-1;;;;;1926:8:2;1875:177;;;1952:6;:30;;;;-1:-1:-1;1974:8:2;;;;-1:-1:-1;;;;;1974:8:2;1962:10;:20;1952:30;1948:104;;;-1:-1:-1;1998:8:2;;;;;-1:-1:-1;;;;;1998:8:2;1948:104;;;2029:15;;;-1:-1:-1;;;;;2029:15:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:104;2062:6;;;;2058:80;;;2083:8;;;;2070:22;;-1:-1:-1;;;;;2070:11:2;;;:22;;;;;;;;;2083:8;2070:11;:22;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2070:22:2;2058:80;;;2104:34;2118:4;2125:2;2129;:8;;;2104:4;:34::i;:::-;2156:1;2145:8;;;:12;2171:4;;-1:-1:-1;1702:479:2;;;;;;:::o;707:21:0:-;;;;:::o;3140:378:1:-;3185:12;3226:14;;;:7;:14;;;;;3256:8;;;;:10;-1:-1:-1;3247:29:1;;;;;-1:-1:-1;;;;;3247:29:1;;;;;;;;;;;;-1:-1:-1;;;;;3247:29:1;;;;;;;;;;;;;;;3292:8;;;;;-1:-1:-1;;;;;3292:8:1;3302:10;3292:20;3283:39;;;;;-1:-1:-1;;;;;3283:39:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3338:7;;;;:10;;:23;;;3358:3;3350:2;:7;;;:11;3338:23;3329:42;;;;;;;-1:-1:-1;;;;;3329:42:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3382:11;;;;3378:97;;;3395:8;;;3414;;;3395:28;;:8;;;;-1:-1:-1;;;;;3395:8:1;;:28;;;;;3414:8;3395;:28;:8;:28;3414:8;3395;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3395:28:1;3378:97;;;3435:40;3449:4;3456:2;:8;;;;;;;;;;-1:-1:-1;;;;;3456:8:1;3466:2;:8;;;3435:4;:40::i;:::-;3493:1;3482:2;:8;;:12;;;;3508:4;3501:11;;3140:378;;;;;:::o;239:23:0:-;;;;:::o;267:::-;;;;:::o;152:45:1:-;;;;;;;;;;;;;:::o;635:17:0:-;;;;:::o;2751:378:2:-;2806:12;2848:15;;;:8;:15;;;;;2879:8;;;;2806:12;;2879:10;-1:-1:-1;2870:29:2;;;;;-1:-1:-1;;;;;2870:29:2;;;;;;;;;;;;-1:-1:-1;;;;;2870:29:2;;;;;;;;;;;;;;;2915:8;;;;;-1:-1:-1;;;;;2915:8:2;2925:10;2915:20;2906:39;;;;;-1:-1:-1;;;;;2906:39:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:4;:24;;2983:2;:8;;;2967:24;;;2972:8;;;;2981:1;;2972:10;2967:24;3002:6;;2952:39;;-1:-1:-1;3002:6:2;;2998:84;;;3010:8;;:24;;:8;;;;-1:-1:-1;;;;;3010:8:2;;:24;;;;;;;:8;:24;:8;:24;;:8;:24;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3010:24:2;2998:84;;;3067:8;;3046:36;;3060:4;;3067:8;;;-1:-1:-1;;;;;3067:8:2;3077:4;3046;:36::i;:::-;3089:8;;;;:16;;;;;;;;:8;2751:378;-1:-1:-1;;;2751:378:2:o;222:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;222:41:2;;;;:::o;657:17:0:-;;;;:::o;70:20:1:-;;;;;;;;;;;;;;;-1:-1:-1;;70:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;280;;;;;;;;;;;;;;;-1:-1:-1;;280:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1912:135;1974:12;1995:28;2001:10;2013:2;2017:5;1995:4;:28::i;:::-;-1:-1:-1;2037:4:1;1912:135;;;;:::o;83:38:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;83:38:2;;;;;;;;;;:::o;408:39:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;408:39:1;;;;:::o;613:17:0:-;;;;:::o;1207:489:2:-;1288:12;1362:14;;:::i;:::-;1318:15;;;;:8;:15;;;;;:21;;;;-1:-1:-1;;;;;1318:21:2;:26;1309:46;;;;;-1:-1:-1;;;;;1309:46:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1309:46:2;;;;;;;;;;;;;;;1392:15;1401:5;1392:7;:15::i;:::-;1383:24;;;;1425:10;1414:8;;;;:21;;;-1:-1:-1;;;;;1442:13:2;;;:8;;;;:13;;;1473:9;:15;;1462:8;;;:26;;;1383:6;1495:15;;;:8;:15;;;;;:20;;;;;;;;;;-1:-1:-1;;1495:20:2;;;-1:-1:-1;;1495:20:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1495:20:2;;;;;;;;;;;;;;1522:52;;1535:39;1541:10;1561:4;1568:5;1535:4;:39::i;:::-;1617:2;:8;;;-1:-1:-1;;;;;1586:50:2;1607:2;:8;;;-1:-1:-1;;;;;1586:50:2;1599:2;:6;;;1586:50;;;1592:5;1627:2;:8;;;1586:50;;;;;;;;;;;;;;;;;;;;;;;;1643:24;;;;;;;;;;;;;;;;;;;1661:5;1643;:24::i;4662:159:1:-;4735:8;4758:52;4792:3;4797;4802:5;4774:34;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4774:34:1;;;4763:46;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4763:46:1;;;;;;;;;;;;;;;;4758:3;:52::i;:::-;4752:58;4662:159;-1:-1:-1;;;;4662:159:1:o;735:45:0:-;;;;;;;;;;;;;:::o;3135:605:2:-;3203:12;3287:18;3330:16;;:::i;:::-;3353:8;3233:14;;;:7;:14;;;;;;;;3248:10;3233:26;;;;;;;:32;;;:35;3224:56;;;;;-1:-1:-1;;;;;3224:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3308:15;;;;:8;:15;;;;;;-1:-1:-1;3364:15:2;3373:5;3364:7;:15::i;:::-;3353:26;;3404:1;3395:2;:8;;;:10;3386:29;;;;;;;-1:-1:-1;;;;;3386:29:2;;;;;;;;;;;;-1:-1:-1;;;;;3386:29:2;;;;;;;;;;;;;;;3431:6;;;;:11;;;;;;3422:33;;;;;-1:-1:-1;;;;;3422:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3473:3;3462:8;;;;:14;;;3495:9;:15;;3483:27;;:9;3517:14;;;:7;:14;;;;;;3532:10;3517:26;;;;;;:31;;;;;;;;;;;3560:6;;;;3559:7;3555:52;;;3568:39;3574:10;3594:4;3601:5;3568:4;:39::i;:::-;3626:9;;3614:8;;;:21;;;;;;3647:34;;;;;;;3659:10;;3652:5;;3647:34;;;;;;;;;3688:23;;;;;;;;;;;;;;;;;;;3705:5;3688;:23::i;:::-;-1:-1:-1;3730:4:2;;3135:605;-1:-1:-1;;;;;3135:605:2:o;202:66:1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2516:618::-;2606:12;2770:16;;:::i;:::-;2636:14;;;;:7;:14;;;;;:20;;;;-1:-1:-1;;;;;2636:20:1;:25;2627:45;;;;;-1:-1:-1;;;;;2627:45:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2627:45:1;;;;;;;;;;;;;;;2692:1;2688:3;:5;:22;;;;;2699:11;;2695:3;:15;2688:22;2679:41;;;;;;;-1:-1:-1;;;;;2679:41:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;2736:7;;;:17;;;2750:3;2745:4;:8;2736:17;2727:36;;;;;;;-1:-1:-1;;;;;2727:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;2807:15;2816:5;2807:7;:15::i;:::-;2793:29;;;;2840:9;:15;;2829:8;;;;:26;;;2873:10;2862:8;;;;:21;;;2890:7;;;:14;;;2911:6;;;:12;;;2793:11;2930:14;;;:7;:14;;;;;;;:19;;;;;;-1:-1:-1;;;;;2930:19:1;;;-1:-1:-1;;2930:19:1;;;-1:-1:-1;;2930:19:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2956:57;;2974:39;2980:10;3000:4;3007:5;2974:4;:39::i;:::-;3061:2;:6;;;3051:2;:8;;;-1:-1:-1;;;;;3025:52:1;3038:2;:11;;;3025:52;;;3031:5;3069:2;:7;;;3025:52;;;;;;;;;;;;;;;;;;;;;;;;3084:21;;;;;;;;;;;;;;;;;;;3099:5;3084;:21::i;5224:425::-;5310:9;5321:13;;:::i;:::-;5343:22;5484:10;5558:6;5368:8;:12;5377:2;-1:-1:-1;;;;;5368:12:1;-1:-1:-1;;;;;5368:12:1;;;;;;;;;;;;:51;5408:3;5412:4;5391:26;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5391:26:1;;;;;;;;;;-1:-1:-1;5391:26:1;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5391:26:1;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5391:26:1;;;5381:37;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5381:37:1;;;;;;;;;;;;;5368:51;;;;;;;;;-1:-1:-1;5368:51:1;;;-1:-1:-1;5368:51:1;5343:76;;;;;;;;;;;;;;;;;;;5368:51;;5343:76;-1:-1:-1;5343:76:1;;;-1:-1:-1;5368:51:1;5343:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5433:8;:15;5426:22;;5465:4;5459;:10;;5455:23;;;5471:7;;5455:23;5502:4;5497;:9;5484:22;;589:2;5521:5;:9;:25;;5545:1;5521:25;;;589:2;5533:5;:9;5521:25;5513:33;;5565:1;5558:8;;5553:91;589:2;5568:1;:5;:26;;;;;5590:4;5585;:9;5583:1;5577:5;:7;:17;5568:26;5553:91;;;5619:8;5634:1;5628:5;:7;5619:17;;;;;;;;;;;;;;;;;;;5610:3;5614:1;5610:6;;;;;;;;;;:26;5596:3;;5553:91;;;5224:425;;;;;;;;;;:::o;1073:217::-;1132:4;1154:9;:15;;:18;:37;;;;;1190:1;1184:5;1174:9;:15;:17;1154:37;1145:58;;;;;;;-1:-1:-1;;;;;1145:58:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:11;;1219:18;;;1210:38;;;;;-1:-1:-1;;;;;1210:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:1;1262:9;:11;:22;;1279:5;1262:22;;;1274:4;1262:22;1255:29;1073:217;-1:-1:-1;;1073:217:1:o;1545:361::-;-1:-1:-1;;;;;1636:15:1;;1709:11;1636:15;;;:9;:15;;;;;;1629:22;;;1620:32;;;;;;-1:-1:-1;;;;;1688:13:1;;;;;;:9;:13;;;;;;1668:19;;;:33;1659:43;;;;;;-1:-1:-1;;;;;;1739:13:1;;;;;;;:9;:13;;;;;;;;1723:15;;;;;;;;;1759:24;;;;;1790:22;;;;;;;;1827:15;;1723:29;;;1827;:34;;1819:43;;;;1890:2;-1:-1:-1;;;;;1874:26:1;1884:4;-1:-1:-1;;;;;1874:26:1;;1894:5;1874:26;;;;;;;;;;;;;;;;;;1545:361;;;;:::o;1296:236::-;1379:11;1364:7;;;1355:17;;;;;;1420:3;1434:1;1424:9;:11;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1403:41;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1403:41:1;;;;;;;;;;-1:-1:-1;1403:41:1;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1403:41:1;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1403:41:1;;;1393:52;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1393:52:1;;;;;;;;;;;;;1461:10;-1:-1:-1;1452:20:1;;;:8;:20;;;;;:25;;;;;;;;27:10:-1;;274:1;23:18;;;45:23;;1452:37:1;;;;;;;;;;1496:18;;;:13;:18;;;;;27:10:-1;;23:18;;;45:23;;1496:30:1;;;;;;;;;;;-1:-1:-1;;;;;1296:236:1:o;1736:122:0:-;1797:28;1811:1;1815:2;1819:5;1797:4;:28::i;:::-;1832:11;:20;;;;;;;-1:-1:-1;1736:122:0:o;1431:110::-;1486:8;1526:9;;1509:14;1517:5;1509:6;:14::i;:::-;:26;;;;;;;;;1431:110;-1:-1:-1;;1431:110:0:o;1547:183::-;1621:11;;1675:5;;1667:3;;1597:4;;1634:1;1621:14;;;;1636:3;1621:18;;1658:8;:12;;;1657:17;:23;1717:3;1657:23;1713:7;;;;;;;;1699:3;1695;:7;:15;;1707:3;1695:15;;;1703:3;1695:15;1694:27;;;;;;;;1722:2;1694:30;1687:37;;1547:183;;;;;:::o;1199:110::-;1254:8;1278:25;1286:5;1293:9;;1278:6;:25::i;4474:182:1:-;4528:8;;4545:106;4570:11;4564:17;;4545:106;;;4641:1;4638;4632:7;;4627:2;:13;:15;4613:4;4632:5;4613:11;;;;;;;;;;;;;4608:17;:35;4601:42;;;;;4583:7;;4545:106;;1315:110:0;1370:8;1394:25;1402:5;1409:9;;1394:6;:25::i;4992:226:1:-;5057:8;5080:132;5114:3;5119:5;5126:12;5163:1;5150:12;:14;5140:25;5167:14;5183:10;5195:9;5096:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5096:114:1;;;;;;;;;;;;;;;;;;;;5206:3;5096:114;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5096:114:1;;;;;;;;5085:126;;5096:114;;;;;;5085:126;;;;5096:114;5085:126;66:2:-1;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;5080:132:1;5074:138;4992:226;-1:-1:-1;;;4992:226:1:o;4827:159::-;4892:8;4915:60;4923:5;4930:3;4961:10;4915:6;:60::i;586:2270:0:-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;586:2270:0;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;586:2270:0;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;586:2270:0;;;;;;;;:::o;:::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;586:2270:0;;;-1:-1:-1;;586:2270:0:o

Swarm Source

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