ERC-20
Website Down
Overview
Max Total Supply
10,000,000,000 XEN
Holders
174 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
95,092.78842371 XENValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x321D52fc...8B560226b The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
XENON
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-15 */ /** *Submitted for verification at Etherscan.io on 2019-01-04 */ pragma solidity 0.4.24; 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 AltcoinToken { function balanceOf(address _owner) constant public returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); } contract ERC20Basic { uint256 public totalSupply; function totalSupply() public constant returns (uint); function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20Interface { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes data) public; } contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } contract XENON is ERC20, Owned { using SafeMath for uint256; address owner = msg.sender; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; string public constant name = "XENON"; string public constant symbol = "XEN"; uint public constant decimals = 8; uint256 public totalSupply = 1000000000000000000; uint256 public totalDistributed = 0; uint256 public totalIcoDistributed = 0; uint256 public constant minContribution = 1 ether / 125000; // 0.002 USD uint256 public tokensPerEth = 125000; // ------------------------------ // Token Distribution and Address // ------------------------------ // saleable 40% uint256 public constant totalIco = 600000000000000000; uint256 public totalIcoDist = 0; address storageIco = owner; // Airdrop (Foundation) 20% uint256 public constant totalAirdrop = 200000000000000000; address private storageAirdrop = 0xA8173eF0F163aF69Fa4f6AF7a02F0A35A9fbe82c; // Developer (Team) 20% uint256 public constant totalDeveloper = 200000000000000000; address private storageDeveloper = 0xB28bf4fe36df8e2C798Da4599c2374BD31016a0F; // Markating 8% /** uint256 public constant totalAirdrop = 80000000000000000; address private storageAirdrop = 0x3055cB0aC5c06d270F0cEF9a42AfDa7Abe59060A;*/ // Advisors 5% /** uint256 public constant totalDeveloper = 50000000000000000; address private storageDeveloper = 0x3183C451C0E4D8bEba13F5FE94b5d146c20C50Ca;*/ // Eco System 5% /** uint256 public constant totalAirdrop = 50000000000000000; address private storageAirdrop = 0x817fd7253129Fd9474E8374574EB77C4bc0B494c;*/ // Community 2% /** uint256 public constant totalDeveloper = 20000000000000000; address private storageDeveloper = 0x6D8853Cf85055ACEC9805CE8e35D5c816498B5C0;*/ // --------------------- // sale start price and bonus // --------------------- // presale uint public presaleStartTime = 1544979600; // Monday, 17 December 2018 00:00:00 GMT+07:00 uint256 public presalePerEth = 12500000000000; // ico uint public icoStartTime = 1564938000; // Monday, 5 August 2019 00:00:00 GMT+07:00 uint256 public icoPerEth = 8500000000000; //ico start and end uint public icoOpenTime = presaleStartTime; uint public icoEndTime = 1567184400; // Saturday, 31 August 2019 00:00:00 GMT+07:00 // ----------------------- // events // ----------------------- event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Distr(address indexed to, uint256 amount); event DistrFinished(); event Airdrop(address indexed _owner, uint _amount, uint _balance); event TokensPerEthUpdated(uint _tokensPerEth); event Burn(address indexed burner, uint256 value); event Sent(address from, address to, uint amount); // ------------------- // STATE // --------------------- bool public icoOpen = false; bool public icoFinished = false; bool public distributionFinished = false; // ----- // temp // ----- uint256 public tTokenPerEth = 0; uint256 public tAmount = 0; uint i = 0; bool private tIcoOpen = false; // ------------------------------------------------------------------------ // Constructor // ------------------------------------------------------------------------ constructor() public { balances[owner] = totalIco; balances[storageAirdrop] = totalAirdrop; balances[storageDeveloper] = totalDeveloper; } // ------------------------------------------------------------------------ // Total supply // ------------------------------------------------------------------------ function totalSupply() public constant returns (uint) { return totalSupply - balances[address(0)]; } modifier canDistr() { require(!distributionFinished); _; } function startDistribution() onlyOwner canDistr public returns (bool) { icoOpen = true; presaleStartTime = now; icoOpenTime = now; return true; } function finishDistribution() onlyOwner canDistr public returns (bool) { distributionFinished = true; icoFinished = true; emit DistrFinished(); return true; } function distr(address _to, uint256 _amount) canDistr private returns (bool) { totalDistributed = totalDistributed.add(_amount); balances[_to] = balances[_to].add(_amount); balances[owner] = balances[owner].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } function send(address receiver, uint amount) public { if (balances[msg.sender] < amount) return; balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } function updateTokensPerEth(uint _tokensPerEth) public onlyOwner { tokensPerEth = _tokensPerEth; emit TokensPerEthUpdated(_tokensPerEth); } function () external payable { //owner withdraw if (msg.sender == owner && msg.value == 0){ withdraw(); } if(msg.sender != owner){ if ( now < icoOpenTime ){ revert('ICO does not open yet'); } //is Open if ( ( now >= icoOpenTime ) && ( now <= icoEndTime ) ){ icoOpen = true; } if ( now > icoEndTime ){ icoOpen = false; icoFinished = true; distributionFinished = true; } if ( icoFinished == true ){ revert('ICO has finished'); } if ( distributionFinished == true ){ revert('Token distribution has finished'); } if ( icoOpen == true ){ if ( now >= presaleStartTime && now < icoStartTime){ tTokenPerEth = presalePerEth; } tokensPerEth = tTokenPerEth; getTokens(); } } } function getTokens() payable canDistr public { uint256 tokens = 0; require( msg.value >= minContribution ); require( msg.value > 0 ); tokens = tokensPerEth.mul(msg.value) / 1 ether; address investor = msg.sender; if ( icoFinished == true ){ revert('ICO Has Finished'); } if( balances[owner] < tokens ){ revert('Insufficient Token Balance or Sold Out.'); } if (tokens < 0){ revert(); } totalIcoDistributed += tokens; if (tokens > 0) { distr(investor, tokens); } if (totalIcoDistributed >= totalIco) { distributionFinished = true; } } function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner]; } // mitigates the ERC20 short address attack modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(msg.sender, _to, _amount); return true; } function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[_from]); require(_amount <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_amount); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { // mitigates the ERC20 spend/approval race condition if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; } allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant public returns (uint256) { return allowed[_owner][_spender]; } function getTokenBalance(address tokenAddress, address who) constant public returns (uint){ AltcoinToken t = AltcoinToken(tokenAddress); uint bal = t.balanceOf(who); return bal; } function withdraw() onlyOwner public { address myAddress = this; uint256 etherBalance = myAddress.balance; owner.transfer(etherBalance); } function burn(uint256 _amount) onlyOwner public { balances[owner] = balances[owner].sub(_amount); totalSupply = totalSupply.sub(_amount); totalDistributed = totalDistributed.sub(_amount); emit Burn(owner, _amount); } function withdrawAltcoinTokens(address _tokenContract) onlyOwner public returns (bool) { AltcoinToken token = AltcoinToken(_tokenContract); uint256 amount = token.balanceOf(address(this)); return token.transfer(owner, amount); } function dist_privateSale(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[owner]); require(_amount > 0); totalDistributed = totalDistributed.add(_amount); balances[_to] = balances[_to].add(_amount); balances[owner] = balances[owner].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); tAmount = 0; } function dist_airdrop(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[storageAirdrop]); require(_amount > 0); balances[_to] = balances[_to].add(_amount); balances[storageAirdrop] = balances[storageAirdrop].sub(_amount); emit Airdrop(_to, _amount, balances[_to]); emit Transfer(address(0), _to, _amount); } function dist_multiple_airdrop(address[] _participants, uint256 _amount) onlyOwner public { tAmount = 0; for ( i = 0; i < _participants.length; i++){ tAmount = tAmount.add(_amount); } require(tAmount <= balances[storageAirdrop]); for ( i = 0; i < _participants.length; i++){ dist_airdrop(_participants[i], _amount); } tAmount = 0; } function dist_developer(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[storageDeveloper]); require(_amount > 0); balances[_to] = balances[_to].add(_amount); balances[storageDeveloper] = balances[storageDeveloper].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); tAmount = 0; } function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) { return ERC20Interface(tokenAddress).transfer(owner, tokens); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"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":"totalIco","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":"totalIcoDist","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawAltcoinTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoOpenTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presalePerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dist_developer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoEndTime","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":true,"inputs":[],"name":"icoOpen","outputs":[{"name":"","type":"bool"}],"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":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerEth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIcoDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tTokenPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"minContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dist_privateSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"send","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participants","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"dist_multiple_airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDeveloper","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"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":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dist_airdrop","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":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokensPerEth","type":"uint256"}],"name":"TokensPerEthUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405233600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600655600060075560006008556201e8486009556000600a55600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a8173ef0f163af69fa4f6af7a02f0a35a9fbe82c600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b28bf4fe36df8e2c798da4599c2374bd31016a0f600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550635c168490600e55650b5e620f4800600f55635d470f106010556507bb0f7b0800601155600e54601255635d6956106013556000601460006101000a81548160ff0219169083151502179055506000601460016101000a81548160ff0219169083151502179055506000601460026101000a81548160ff0219169083151502179055506000601555600060165560006017556000601860006101000a81548160ff02191690831515021790555034801561022d57600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670853a0d2313c000060046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506702c68af0bb14000060046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506702c68af0bb14000060046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138b6806103c86000396000f300608060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610562578063095ea7b3146105f257806309e0a77c1461065757806318160ddd146106825780631aee8fa8146106ad5780632195845f146106d857806323b872dd14610733578063313ce567146107b8578063356e2927146107e35780633ccfd60b1461081257806342966c6814610829578063507fcdaf146108565780635691fa48146108815780635ce97dbb146108ac578063657ad479146108d757806370a082311461090257806372ea61e81461095957806379ba5097146109a65780637e1055b6146109bd5780638da5cb5b146109e8578063927a90da14610a3f57806395d89b4114610a6e5780639b1cbccc14610afe5780639ea407be14610b2d578063a7ad69da14610b5a578063a7c3d71b14610b85578063a82524b214610bb0578063a8592a3414610bdb578063a9059cbb14610c06578063aa6ca80814610c6b578063aaffadf314610c75578063acc9383a14610ca0578063c108d54214610ced578063c489744b14610d1c578063cbdd69b514610d93578063d0679d3414610dbe578063d4ee1d9014610e0b578063d83623dd14610e62578063dc39d06d14610e91578063dd62ed3e14610ef6578063e16c42df14610f6d578063e99ebee214610f98578063e9a91efd14611008578063efca2eed14611033578063f2fde38b1461105e578063f5a5438e146110a1575b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561028d5750600034145b1561029b5761029a6110ee565b5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105605760125442101561036a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f49434f20646f6573206e6f74206f70656e20796574000000000000000000000081525060200191505060405180910390fd5b601254421015801561037e57506013544211155b1561039f576001601460006101000a81548160ff0219169083151502179055505b6013544211156103fb576000601460006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055506001601460026101000a81548160ff0219169083151502179055505b60011515601460019054906101000a900460ff1615151415610485576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f49434f206861732066696e69736865640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601460029054906101000a900460ff161515141561050f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546f6b656e20646973747269627574696f6e206861732066696e69736865640081525060200191505060405180910390fd5b60011515601460009054906101000a900460ff161515141561055f57600e54421015801561053e575060105442105b1561054d57600f546015819055505b60155460098190555061055e6111d7565b5b5b005b34801561056e57600080fd5b50610577611438565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b757808201518184015260208101905061059c565b50505050905090810190601f1680156105e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105fe57600080fd5b5061063d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611471565b604051808215151515815260200191505060405180910390f35b34801561066357600080fd5b5061066c6115ff565b6040518082815260200191505060405180910390f35b34801561068e57600080fd5b5061069761160b565b6040518082815260200191505060405180910390f35b3480156106b957600080fd5b506106c2611656565b6040518082815260200191505060405180910390f35b3480156106e457600080fd5b50610719600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165c565b604051808215151515815260200191505060405180910390f35b34801561073f57600080fd5b5061079e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a1565b604051808215151515815260200191505060405180910390f35b3480156107c457600080fd5b506107cd611c77565b6040518082815260200191505060405180910390f35b3480156107ef57600080fd5b506107f8611c7c565b604051808215151515815260200191505060405180910390f35b34801561081e57600080fd5b506108276110ee565b005b34801561083557600080fd5b5061085460048036038101908080359060200190929190505050611c8f565b005b34801561086257600080fd5b5061086b611e6d565b6040518082815260200191505060405180910390f35b34801561088d57600080fd5b50610896611e73565b6040518082815260200191505060405180910390f35b3480156108b857600080fd5b506108c1611e79565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b506108ec611e85565b6040518082815260200191505060405180910390f35b34801561090e57600080fd5b50610943600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8b565b6040518082815260200191505060405180910390f35b34801561096557600080fd5b506109a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ed4565b005b3480156109b257600080fd5b506109bb6121dd565b005b3480156109c957600080fd5b506109d261237e565b6040518082815260200191505060405180910390f35b3480156109f457600080fd5b506109fd612384565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4b57600080fd5b50610a546123aa565b604051808215151515815260200191505060405180910390f35b348015610a7a57600080fd5b50610a836123bd565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac3578082015181840152602081019050610aa8565b50505050905090810190601f168015610af05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0a57600080fd5b50610b136123f6565b604051808215151515815260200191505060405180910390f35b348015610b3957600080fd5b50610b58600480360381019080803590602001909291905050506124d9565b005b348015610b6657600080fd5b50610b6f612576565b6040518082815260200191505060405180910390f35b348015610b9157600080fd5b50610b9a61257c565b6040518082815260200191505060405180910390f35b348015610bbc57600080fd5b50610bc5612582565b6040518082815260200191505060405180910390f35b348015610be757600080fd5b50610bf0612588565b6040518082815260200191505060405180910390f35b348015610c1257600080fd5b50610c51600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061258e565b604051808215151515815260200191505060405180910390f35b610c736111d7565b005b348015610c8157600080fd5b50610c8a6127c9565b6040518082815260200191505060405180910390f35b348015610cac57600080fd5b50610ceb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127d3565b005b348015610cf957600080fd5b50610d02612af7565b604051808215151515815260200191505060405180910390f35b348015610d2857600080fd5b50610d7d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b0a565b6040518082815260200191505060405180910390f35b348015610d9f57600080fd5b50610da8612bf5565b6040518082815260200191505060405180910390f35b348015610dca57600080fd5b50610e09600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bfb565b005b348015610e1757600080fd5b50610e20612d85565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e6e57600080fd5b50610e77612dab565b604051808215151515815260200191505060405180910390f35b348015610e9d57600080fd5b50610edc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e55565b604051808215151515815260200191505060405180910390f35b348015610f0257600080fd5b50610f57600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fbb565b6040518082815260200191505060405180910390f35b348015610f7957600080fd5b50610f82613042565b6040518082815260200191505060405180910390f35b348015610fa457600080fd5b506110066004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050613048565b005b34801561101457600080fd5b5061101d6131be565b6040518082815260200191505060405180910390f35b34801561103f57600080fd5b506110486131ca565b6040518082815260200191505060405180910390f35b34801561106a57600080fd5b5061109f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131d0565b005b3480156110ad57600080fd5b506110ec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613270565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114d57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111d2573d6000803e3d6000fd5b505050565b600080601460029054906101000a900460ff161515156111f657600080fd5b60009150650746a5288000341015151561120f57600080fd5b60003411151561121e57600080fd5b670de0b6b3a764000061123c346009546135b890919063ffffffff16565b81151561124557fe5b04915033905060011515601460019054906101000a900460ff16151514156112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f49434f204861732046696e69736865640000000000000000000000000000000081525060200191505060405180910390fd5b8160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f496e73756666696369656e7420546f6b656e2042616c616e6365206f7220536f81526020017f6c64204f75742e0000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008210156113e057600080fd5b8160086000828254019250508190555060008211156114055761140381836135f0565b505b670853a0d2313c0000600854101515611434576001601460026101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600581526020017f58454e4f4e00000000000000000000000000000000000000000000000000000081525081565b600080821415801561150057506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561150e57600090506115f9565b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b670853a0d2313c000081565b6000600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460065403905090565b600a5481565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116bd57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561175b57600080fd5b505af115801561176f573d6000803e3d6000fd5b505050506040513d602081101561178557600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561185d57600080fd5b505af1158015611871573d6000803e3d6000fd5b505050506040513d602081101561188757600080fd5b810190808051906020019092919050505092505050919050565b60006060600481016000369050101515156118b857fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156118f457600080fd5b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561194257600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156119cd57600080fd5b611a1f83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611af183600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bc383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b601460019054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ceb57600080fd5b611d5f8160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dd98160065461385590919063ffffffff16565b600681905550611df48160075461385590919063ffffffff16565b600781905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60125481565b60115481565b6702c68af0bb14000081565b600f5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3057600080fd5b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515611fa057600080fd5b600081111515611faf57600080fd5b61200181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b88160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360006016819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561223957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900460ff1681565b6040805190810160405280600381526020017f58454e000000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561245457600080fd5b601460029054906101000a900460ff1615151561247057600080fd5b6001601460026101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561253557600080fd5b806009819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b60085481565b60105481565b600e5481565b60155481565b60006040600481016000369050101515156125a557fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156125e157600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561262f57600080fd5b61268183600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271683600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b650746a528800081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282f57600080fd5b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561289f57600080fd5b6000811115156128ae57600080fd5b6128c38160075461386e90919063ffffffff16565b60078190555061291b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129d28160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360006016819055505050565b601460029054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015612bad57600080fd5b505af1158015612bc1573d6000803e3d6000fd5b505050506040513d6020811015612bd757600080fd5b81019080805190602001909291905050509050809250505092915050565b60095481565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612c4757612d81565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd3345338383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e0957600080fd5b601460029054906101000a900460ff16151515612e2557600080fd5b6001601460006101000a81548160ff02191690831515021790555042600e81905550426012819055506001905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612eb357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f7857600080fd5b505af1158015612f8c573d6000803e3d6000fd5b505050506040513d6020811015612fa257600080fd5b8101908080519060200190929190505050905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60165481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156130a457600080fd5b600060168190555060006017819055505b815160175410156130f2576130d58160165461386e90919063ffffffff16565b6016819055506017600081548092919060010191905055506130b5565b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546016541115151561316457600080fd5b60006017819055505b815160175410156131b25761319b8260175481518110151561318b57fe5b9060200190602002015182613270565b60176000815480929190600101919050555061316d565b60006016819055505050565b6702c68af0bb14000081565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561322c57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132cc57600080fd5b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561333c57600080fd5b60008111151561334b57600080fd5b61339d81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134548160046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808314156135cb57600090506135ea565b81830290508183828115156135dc57fe5b041415156135e657fe5b8090505b92915050565b6000601460029054906101000a900460ff1615151561360e57600080fd5b6136238260075461386e90919063ffffffff16565b60078190555061367b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137328260046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561386357fe5b818303905092915050565b6000818301905082811015151561388157fe5b809050929150505600a165627a7a72305820e9389a6cd360851458930bffed6049b9922d818549ed82a57ed1257d1dc8eee00029
Deployed Bytecode
0x608060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610562578063095ea7b3146105f257806309e0a77c1461065757806318160ddd146106825780631aee8fa8146106ad5780632195845f146106d857806323b872dd14610733578063313ce567146107b8578063356e2927146107e35780633ccfd60b1461081257806342966c6814610829578063507fcdaf146108565780635691fa48146108815780635ce97dbb146108ac578063657ad479146108d757806370a082311461090257806372ea61e81461095957806379ba5097146109a65780637e1055b6146109bd5780638da5cb5b146109e8578063927a90da14610a3f57806395d89b4114610a6e5780639b1cbccc14610afe5780639ea407be14610b2d578063a7ad69da14610b5a578063a7c3d71b14610b85578063a82524b214610bb0578063a8592a3414610bdb578063a9059cbb14610c06578063aa6ca80814610c6b578063aaffadf314610c75578063acc9383a14610ca0578063c108d54214610ced578063c489744b14610d1c578063cbdd69b514610d93578063d0679d3414610dbe578063d4ee1d9014610e0b578063d83623dd14610e62578063dc39d06d14610e91578063dd62ed3e14610ef6578063e16c42df14610f6d578063e99ebee214610f98578063e9a91efd14611008578063efca2eed14611033578063f2fde38b1461105e578063f5a5438e146110a1575b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561028d5750600034145b1561029b5761029a6110ee565b5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105605760125442101561036a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f49434f20646f6573206e6f74206f70656e20796574000000000000000000000081525060200191505060405180910390fd5b601254421015801561037e57506013544211155b1561039f576001601460006101000a81548160ff0219169083151502179055505b6013544211156103fb576000601460006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055506001601460026101000a81548160ff0219169083151502179055505b60011515601460019054906101000a900460ff1615151415610485576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f49434f206861732066696e69736865640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601460029054906101000a900460ff161515141561050f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546f6b656e20646973747269627574696f6e206861732066696e69736865640081525060200191505060405180910390fd5b60011515601460009054906101000a900460ff161515141561055f57600e54421015801561053e575060105442105b1561054d57600f546015819055505b60155460098190555061055e6111d7565b5b5b005b34801561056e57600080fd5b50610577611438565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b757808201518184015260208101905061059c565b50505050905090810190601f1680156105e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105fe57600080fd5b5061063d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611471565b604051808215151515815260200191505060405180910390f35b34801561066357600080fd5b5061066c6115ff565b6040518082815260200191505060405180910390f35b34801561068e57600080fd5b5061069761160b565b6040518082815260200191505060405180910390f35b3480156106b957600080fd5b506106c2611656565b6040518082815260200191505060405180910390f35b3480156106e457600080fd5b50610719600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165c565b604051808215151515815260200191505060405180910390f35b34801561073f57600080fd5b5061079e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a1565b604051808215151515815260200191505060405180910390f35b3480156107c457600080fd5b506107cd611c77565b6040518082815260200191505060405180910390f35b3480156107ef57600080fd5b506107f8611c7c565b604051808215151515815260200191505060405180910390f35b34801561081e57600080fd5b506108276110ee565b005b34801561083557600080fd5b5061085460048036038101908080359060200190929190505050611c8f565b005b34801561086257600080fd5b5061086b611e6d565b6040518082815260200191505060405180910390f35b34801561088d57600080fd5b50610896611e73565b6040518082815260200191505060405180910390f35b3480156108b857600080fd5b506108c1611e79565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b506108ec611e85565b6040518082815260200191505060405180910390f35b34801561090e57600080fd5b50610943600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8b565b6040518082815260200191505060405180910390f35b34801561096557600080fd5b506109a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ed4565b005b3480156109b257600080fd5b506109bb6121dd565b005b3480156109c957600080fd5b506109d261237e565b6040518082815260200191505060405180910390f35b3480156109f457600080fd5b506109fd612384565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4b57600080fd5b50610a546123aa565b604051808215151515815260200191505060405180910390f35b348015610a7a57600080fd5b50610a836123bd565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac3578082015181840152602081019050610aa8565b50505050905090810190601f168015610af05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0a57600080fd5b50610b136123f6565b604051808215151515815260200191505060405180910390f35b348015610b3957600080fd5b50610b58600480360381019080803590602001909291905050506124d9565b005b348015610b6657600080fd5b50610b6f612576565b6040518082815260200191505060405180910390f35b348015610b9157600080fd5b50610b9a61257c565b6040518082815260200191505060405180910390f35b348015610bbc57600080fd5b50610bc5612582565b6040518082815260200191505060405180910390f35b348015610be757600080fd5b50610bf0612588565b6040518082815260200191505060405180910390f35b348015610c1257600080fd5b50610c51600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061258e565b604051808215151515815260200191505060405180910390f35b610c736111d7565b005b348015610c8157600080fd5b50610c8a6127c9565b6040518082815260200191505060405180910390f35b348015610cac57600080fd5b50610ceb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127d3565b005b348015610cf957600080fd5b50610d02612af7565b604051808215151515815260200191505060405180910390f35b348015610d2857600080fd5b50610d7d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b0a565b6040518082815260200191505060405180910390f35b348015610d9f57600080fd5b50610da8612bf5565b6040518082815260200191505060405180910390f35b348015610dca57600080fd5b50610e09600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bfb565b005b348015610e1757600080fd5b50610e20612d85565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e6e57600080fd5b50610e77612dab565b604051808215151515815260200191505060405180910390f35b348015610e9d57600080fd5b50610edc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e55565b604051808215151515815260200191505060405180910390f35b348015610f0257600080fd5b50610f57600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fbb565b6040518082815260200191505060405180910390f35b348015610f7957600080fd5b50610f82613042565b6040518082815260200191505060405180910390f35b348015610fa457600080fd5b506110066004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050613048565b005b34801561101457600080fd5b5061101d6131be565b6040518082815260200191505060405180910390f35b34801561103f57600080fd5b506110486131ca565b6040518082815260200191505060405180910390f35b34801561106a57600080fd5b5061109f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131d0565b005b3480156110ad57600080fd5b506110ec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613270565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114d57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111d2573d6000803e3d6000fd5b505050565b600080601460029054906101000a900460ff161515156111f657600080fd5b60009150650746a5288000341015151561120f57600080fd5b60003411151561121e57600080fd5b670de0b6b3a764000061123c346009546135b890919063ffffffff16565b81151561124557fe5b04915033905060011515601460019054906101000a900460ff16151514156112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f49434f204861732046696e69736865640000000000000000000000000000000081525060200191505060405180910390fd5b8160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f496e73756666696369656e7420546f6b656e2042616c616e6365206f7220536f81526020017f6c64204f75742e0000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008210156113e057600080fd5b8160086000828254019250508190555060008211156114055761140381836135f0565b505b670853a0d2313c0000600854101515611434576001601460026101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600581526020017f58454e4f4e00000000000000000000000000000000000000000000000000000081525081565b600080821415801561150057506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561150e57600090506115f9565b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b670853a0d2313c000081565b6000600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460065403905090565b600a5481565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116bd57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561175b57600080fd5b505af115801561176f573d6000803e3d6000fd5b505050506040513d602081101561178557600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561185d57600080fd5b505af1158015611871573d6000803e3d6000fd5b505050506040513d602081101561188757600080fd5b810190808051906020019092919050505092505050919050565b60006060600481016000369050101515156118b857fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156118f457600080fd5b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561194257600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156119cd57600080fd5b611a1f83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611af183600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bc383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b601460019054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ceb57600080fd5b611d5f8160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dd98160065461385590919063ffffffff16565b600681905550611df48160075461385590919063ffffffff16565b600781905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60125481565b60115481565b6702c68af0bb14000081565b600f5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3057600080fd5b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515611fa057600080fd5b600081111515611faf57600080fd5b61200181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b88160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360006016819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561223957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900460ff1681565b6040805190810160405280600381526020017f58454e000000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561245457600080fd5b601460029054906101000a900460ff1615151561247057600080fd5b6001601460026101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561253557600080fd5b806009819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b60085481565b60105481565b600e5481565b60155481565b60006040600481016000369050101515156125a557fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156125e157600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561262f57600080fd5b61268183600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271683600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b650746a528800081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282f57600080fd5b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561289f57600080fd5b6000811115156128ae57600080fd5b6128c38160075461386e90919063ffffffff16565b60078190555061291b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129d28160046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360006016819055505050565b601460029054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015612bad57600080fd5b505af1158015612bc1573d6000803e3d6000fd5b505050506040513d6020811015612bd757600080fd5b81019080805190602001909291905050509050809250505092915050565b60095481565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612c4757612d81565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd3345338383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e0957600080fd5b601460029054906101000a900460ff16151515612e2557600080fd5b6001601460006101000a81548160ff02191690831515021790555042600e81905550426012819055506001905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612eb357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f7857600080fd5b505af1158015612f8c573d6000803e3d6000fd5b505050506040513d6020811015612fa257600080fd5b8101908080519060200190929190505050905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60165481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156130a457600080fd5b600060168190555060006017819055505b815160175410156130f2576130d58160165461386e90919063ffffffff16565b6016819055506017600081548092919060010191905055506130b5565b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546016541115151561316457600080fd5b60006017819055505b815160175410156131b25761319b8260175481518110151561318b57fe5b9060200190602002015182613270565b60176000815480929190600101919050555061316d565b60006016819055505050565b6702c68af0bb14000081565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561322c57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132cc57600080fd5b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561333c57600080fd5b60008111151561334b57600080fd5b61339d81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134548160046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808314156135cb57600090506135ea565b81830290508183828115156135dc57fe5b041415156135e657fe5b8090505b92915050565b6000601460029054906101000a900460ff1615151561360e57600080fd5b6136238260075461386e90919063ffffffff16565b60078190555061367b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461386e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137328260046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385590919063ffffffff16565b60046000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561386357fe5b818303905092915050565b6000818301905082811015151561388157fe5b809050929150505600a165627a7a72305820e9389a6cd360851458930bffed6049b9922d818549ed82a57ed1257d1dc8eee00029
Deployed Bytecode Sourcemap
3100:11747:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8729:5;;;;;;;;;;;8715:19;;:10;:19;;;:37;;;;;8751:1;8738:9;:14;8715:37;8711:64;;;8759:10;:8;:10::i;:::-;8711:64;8800:5;;;;;;;;;;;8786:19;;:10;:19;;;;8783:708;;;8823:11;;8817:3;:17;8812:69;;;8843:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8812:69;8919:11;;8912:3;:18;;8910:47;;;;;8945:10;;8938:3;:17;;8910:47;8905:82;;;8976:4;8966:7;;:14;;;;;;;;;;;;;;;;;;8905:82;9008:10;;9002:3;:16;8997:111;;;9037:5;9027:7;;:15;;;;;;;;;;;;;;;;;;9063:4;9049:11;;:18;;;;;;;;;;;;;;;;;;9097:4;9074:20;;:27;;;;;;;;;;;;;;;;;;8997:111;9138:4;9123:19;;:11;;;;;;;;;;;:19;;;9118:66;;;9151:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9118:66;9223:4;9199:28;;:20;;;;;;;;;;;:28;;;9194:90;;;9236:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9194:90;9310:4;9299:15;;:7;;;;;;;;;;;:15;;;9294:192;;;9335:16;;9328:3;:23;;:45;;;;;9361:12;;9355:3;:18;9328:45;9323:84;;;9391:13;;9376:12;:28;;;;9323:84;9439:12;;9424;:27;;;;9462:11;:9;:11::i;:::-;9294:192;8783:708;3100:11747;3328:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3328:37: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;3328:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11562:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11562:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3873:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3873:53:0;;;;;;;;;;;;;;;;;;;;;;;7206:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7206:115:0;;;;;;;;;;;;;;;;;;;;;;;3933:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3933:31:0;;;;;;;;;;;;;;;;;;;;;;;12766:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12766:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11007:537;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11007:537:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3416:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3416:33:0;;;;;;;;;;;;;;;;;;;;;;;6376:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6376:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12305:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12305:170:0;;;;;;12487:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12487:257:0;;;;;;;;;;;;;;;;;;;;;;;;;;5552:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5552:42:0;;;;;;;;;;;;;;;;;;;;;;;5469:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5469:40:0;;;;;;;;;;;;;;;;;;;;;;;4043:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4043:57:0;;;;;;;;;;;;;;;;;;;;;;;5311:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5311:45:0;;;;;;;;;;;;;;;;;;;;;;;10311:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10311:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14254:385;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14254:385:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2897:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2897:196:0;;;;;;5601:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5601:35:0;;;;;;;;;;;;;;;;;;;;;;;2499:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2499:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6341:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3372:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3372:37: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;3372:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7614:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7614:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8461:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8461:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;3561:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3561:38:0;;;;;;;;;;;;;;;;;;;;;;;5381:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5381:37:0;;;;;;;;;;;;;;;;;;;;;;;5216:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5216:41:0;;;;;;;;;;;;;;;;;;;;;;;6514:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6514:31:0;;;;;;;;;;;;;;;;;;;;;;;10593:402;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10593:402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9511:788;;;;;;3606:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3606:58:0;;;;;;;;;;;;;;;;;;;;;;;13038:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13038:429:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6414:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6414:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12082:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12082:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3687:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3687:36:0;;;;;;;;;;;;;;;;;;;;;;;8202:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8202:242:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2526:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2526:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7416:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7416:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14648:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14648:184:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11932:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11932:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6552:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6552:26:0;;;;;;;;;;;;;;;;;;;;;;;13859:379;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13859:379:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4225:59:0;;;;;;;;;;;;;;;;;;;;;;;3518:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3518:35:0;;;;;;;;;;;;;;;;;;;;;;;2789:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2789:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13473:380;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13473:380:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12305:170;12353:17;12388:20;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;12373:4;12353:24;;12411:9;:17;;;12388:40;;12439:5;;;;;;;;;;;:14;;:28;12454:12;12439:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12439:28:0;12305:170;;:::o;9511:788::-;9568:14;9753:16;7369:20;;;;;;;;;;;7368:21;7360:30;;;;;;;;9585:1;9568:18;;3648:16;9608:9;:28;;9599:39;;;;;;;;9672:1;9660:9;:13;9651:24;;;;;;;;9735:7;9705:27;9722:9;9705:12;;:16;;:27;;;;:::i;:::-;:37;;;;;;;;9696:46;;9772:10;9753:29;;9833:4;9818:19;;:11;;;;;;;;;;;:19;;;9813:64;;;9845:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:64;9919:6;9901:8;:15;9910:5;;;;;;;;;;;9901:15;;;;;;;;;;;;;;;;:24;9897:91;;;9933:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9897:91;10021:1;10012:6;:10;10008:35;;;10029:8;;;10008:35;10086:6;10063:19;;:29;;;;;;;;;;;10126:1;10117:6;:10;10113:76;;;10143:23;10149:8;10159:6;10143:5;:23::i;:::-;;10113:76;3908:18;10205:19;;:31;;10201:91;;;10276:4;10253:20;;:27;;;;;;;;;;;;;;;;;;10201:91;9511:788;;:::o;3328:37::-;;;;;;;;;;;;;;;;;;;;:::o;11562:358::-;11629:12;11730:1;11720:6;:11;;:49;;;;;11768:1;11735:7;:19;11743:10;11735:19;;;;;;;;;;;;;;;:29;11755:8;11735:29;;;;;;;;;;;;;;;;:34;;11720:49;11716:72;;;11780:5;11773:12;;;;11716:72;11830:6;11798:7;:19;11806:10;11798:19;;;;;;;;;;;;;;;:29;11818:8;11798:29;;;;;;;;;;;;;;;:38;;;;11873:8;11852:38;;11861:10;11852:38;;;11883:6;11852:38;;;;;;;;;;;;;;;;;;11908:4;11901:11;;11562:358;;;;;:::o;3873:53::-;3908:18;3873:53;:::o;7206:115::-;7254:4;7293:8;:20;7310:1;7293:20;;;;;;;;;;;;;;;;7278:11;;:35;7271:42;;7206:115;:::o;3933:31::-;;;;:::o;12766:260::-;12847:4;12864:18;12924:14;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;12898:14;12864:49;;12941:5;:15;;;12965:4;12941:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12941:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12941:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12941:30:0;;;;;;;;;;;;;;;;12924:47;;12989:5;:14;;;13004:5;;;;;;;;;;;13011:6;12989:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12989:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12989:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12989:29:0;;;;;;;;;;;;;;;;12982:36;;12766:260;;;;;:::o;11007:537::-;11114:12;11090:6;10559:1;10552:4;:8;10533;;:15;;:27;;10526:35;;;;;;11164:1;11149:17;;:3;:17;;;;11141:26;;;;;;;;11197:8;:15;11206:5;11197:15;;;;;;;;;;;;;;;;11186:7;:26;;11178:35;;;;;;;;11243:7;:14;11251:5;11243:14;;;;;;;;;;;;;;;:26;11258:10;11243:26;;;;;;;;;;;;;;;;11232:7;:37;;11224:46;;;;;;;;11309:28;11329:7;11309:8;:15;11318:5;11309:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11291:8;:15;11300:5;11291:15;;;;;;;;;;;;;;;:46;;;;11377:39;11408:7;11377;:14;11385:5;11377:14;;;;;;;;;;;;;;;:26;11392:10;11377:26;;;;;;;;;;;;;;;;:30;;:39;;;;:::i;:::-;11348:7;:14;11356:5;11348:14;;;;;;;;;;;;;;;:26;11363:10;11348:26;;;;;;;;;;;;;;;:68;;;;11443:26;11461:7;11443:8;:13;11452:3;11443:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;11427:8;:13;11436:3;11427:13;;;;;;;;;;;;;;;:42;;;;11501:3;11485:29;;11494:5;11485:29;;;11506:7;11485:29;;;;;;;;;;;;;;;;;;11532:4;11525:11;;11007:537;;;;;;:::o;3416:33::-;3448:1;3416:33;:::o;6376:31::-;;;;;;;;;;;;;:::o;12487:257::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;12564;12584:7;12564:8;:15;12573:5;;;;;;;;;;;12564:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12546:8;:15;12555:5;;;;;;;;;;;12546:15;;;;;;;;;;;;;;;:46;;;;12617:24;12633:7;12617:11;;:15;;:24;;;;:::i;:::-;12603:11;:38;;;;12671:29;12692:7;12671:16;;:20;;:29;;;;:::i;:::-;12652:16;:48;;;;12721:5;;;;;;;;;;;12716:20;;;12728:7;12716:20;;;;;;;;;;;;;;;;;;12487:257;:::o;5552:42::-;;;;:::o;5469:40::-;;;;:::o;4043:57::-;4082:18;4043:57;:::o;5311:45::-;;;;:::o;10311:111::-;10371:7;10398:8;:16;10407:6;10398:16;;;;;;;;;;;;;;;;10391:23;;10311:111;;;:::o;14254:385::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;14349:8;:26;14358:16;;;;;;;;;;;14349:26;;;;;;;;;;;;;;;;14338:7;:37;;14330:46;;;;;;;;14399:1;14389:7;:11;14381:20;;;;;;;;14422:26;14440:7;14422:8;:13;14431:3;14422:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;14406:8;:13;14415:3;14406:13;;;;;;;;;;;;;;;:42;;;;14488:39;14519:7;14488:8;:26;14497:16;;;;;;;;;;;14488:26;;;;;;;;;;;;;;;;:30;;:39;;;;:::i;:::-;14459:8;:26;14468:16;;;;;;;;;;;14459:26;;;;;;;;;;;;;;;:68;;;;14549:3;14543:19;;;14554:7;14543:19;;;;;;;;;;;;;;;;;;14599:3;14578:34;;14595:1;14578:34;;;14604:7;14578:34;;;;;;;;;;;;;;;;;;14633:1;14623:7;:11;;;;14254:385;;:::o;2897:196::-;2964:8;;;;;;;;;;;2950:22;;:10;:22;;;2942:31;;;;;;;;3017:8;;;;;;;;;;;2989:37;;3010:5;;;;;;;;;;;2989:37;;;;;;;;;;;;3045:8;;;;;;;;;;;3037:5;;:16;;;;;;;;;;;;;;;;;;3083:1;3064:8;;:21;;;;;;;;;;;;;;;;;;2897:196::o;5601:35::-;;;;:::o;2499:20::-;;;;;;;;;;;;;:::o;6341:27::-;;;;;;;;;;;;;:::o;3372:37::-;;;;;;;;;;;;;;;;;;;;:::o;7614:199::-;7679:4;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;7369:20;;;;;;;;;;;7368:21;7360:30;;;;;;;;7719:4;7696:20;;:27;;;;;;;;;;;;;;;;;;7748:4;7734:11;;:18;;;;;;;;;;;;;;;;;;7768:15;;;;;;;;;;7801:4;7794:11;;7614:199;:::o;8461:170::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;8560:13;8545:12;:28;;;;8589:34;8609:13;8589:34;;;;;;;;;;;;;;;;;;8461:170;:::o;3561:38::-;;;;:::o;5381:37::-;;;;:::o;5216:41::-;;;;:::o;6514:31::-;;;;:::o;10593:402::-;10681:12;10657:6;10559:1;10552:4;:8;10533;;:15;;:27;;10526:35;;;;;;10731:1;10716:17;;:3;:17;;;;10708:26;;;;;;;;10764:8;:20;10773:10;10764:20;;;;;;;;;;;;;;;;10753:7;:31;;10745:40;;;;;;;;10829:33;10854:7;10829:8;:20;10838:10;10829:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;10806:8;:20;10815:10;10806:20;;;;;;;;;;;;;;;:56;;;;10889:26;10907:7;10889:8;:13;10898:3;10889:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;10873:8;:13;10882:3;10873:13;;;;;;;;;;;;;;;:42;;;;10952:3;10931:34;;10940:10;10931:34;;;10957:7;10931:34;;;;;;;;;;;;;;;;;;10983:4;10976:11;;10593:402;;;;;:::o;3606:58::-;3648:16;3606:58;:::o;13038:429::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;13139:8;:15;13148:5;;;;;;;;;;;13139:15;;;;;;;;;;;;;;;;13128:7;:26;;13120:35;;;;;;;;13178:1;13168:7;:11;13160:20;;;;;;;;13208:29;13229:7;13208:16;;:20;;:29;;;;:::i;:::-;13189:16;:48;;;;13272:26;13290:7;13272:8;:13;13281:3;13272:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;13256:8;:13;13265:3;13256:13;;;;;;;;;;;;;;;:42;;;;13327:28;13347:7;13327:8;:15;13336:5;;;;;;;;;;;13327:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13309:8;:15;13318:5;;;;;;;;;;;13309:15;;;;;;;;;;;;;;;:46;;;;13377:3;13371:19;;;13382:7;13371:19;;;;;;;;;;;;;;;;;;13427:3;13406:34;;13423:1;13406:34;;;13432:7;13406:34;;;;;;;;;;;;;;;;;;13461:1;13451:7;:11;;;;13038:429;;:::o;6414:40::-;;;;;;;;;;;;;:::o;12082:211::-;12167:4;12183:14;12237:8;12213:12;12183:43;;12248:1;:11;;;12260:3;12248:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12248:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12248:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12248:16:0;;;;;;;;;;;;;;;;12237:27;;12282:3;12275:10;;12082:211;;;;;;:::o;3687:36::-;;;;:::o;8202:242::-;8292:6;8269:8;:20;8278:10;8269:20;;;;;;;;;;;;;;;;:29;8265:42;;;8300:7;;8265:42;8341:6;8317:8;:20;8326:10;8317:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;8380:6;8358:8;:18;8367:8;8358:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;8402:34;8407:10;8419:8;8429:6;8402:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8202:242;;;:::o;2526:23::-;;;;;;;;;;;;;:::o;7416:186::-;7480:4;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;7369:20;;;;;;;;;;;7368:21;7360:30;;;;;;;;7507:4;7497:7;;:14;;;;;;;;;;;;;;;;;;7541:3;7522:16;:22;;;;7569:3;7555:11;:17;;;;7590:4;7583:11;;7416:186;:::o;14648:184::-;14740:12;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;14787:12;14772:37;;;14810:5;;;;;;;;;;;14817:6;14772:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14772:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14772:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14772:52:0;;;;;;;;;;;;;;;;14765:59;;14648:184;;;;:::o;11932:138::-;12010:7;12037;:15;12045:6;12037:15;;;;;;;;;;;;;;;:25;12053:8;12037:25;;;;;;;;;;;;;;;;12030:32;;11932:138;;;;:::o;6552:26::-;;;;:::o;13859:379::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;13964:1;13954:7;:11;;;;13984:1;13980;:5;;;;13974:85;13991:13;:20;13987:1;;:24;13974:85;;;14033:20;14045:7;14033;;:11;;:20;;;;:::i;:::-;14023:7;:30;;;;14013:1;;:3;;;;;;;;;;;;;13974:85;;;14086:8;:24;14095:14;;;;;;;;;;;14086:24;;;;;;;;;;;;;;;;14075:7;;:35;;14067:44;;;;;;;;14130:1;14126;:5;;;;14120:94;14137:13;:20;14133:1;;:24;14120:94;;;14169:39;14182:13;14196:1;;14182:16;;;;;;;;;;;;;;;;;;14200:7;14169:12;:39::i;:::-;14159:1;;:3;;;;;;;;;;;;;14120:94;;;14232:1;14222:7;:11;;;;13859:379;;:::o;4225:59::-;4266:18;4225:59;:::o;3518:35::-;;;;:::o;2789:102::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;2874:9;2863:8;;:20;;;;;;;;;;;;;;;;;;2789:102;:::o;13473:380::-;2755:5;;;;;;;;;;;2741:19;;:10;:19;;;2733:28;;;;;;;;13568:8;:24;13577:14;;;;;;;;;;;13568:24;;;;;;;;;;;;;;;;13557:7;:35;;13549:44;;;;;;;;13616:1;13606:7;:11;13598:20;;;;;;;;13645:26;13663:7;13645:8;:13;13654:3;13645:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;13629:8;:13;13638:3;13629:13;;;;;;;;;;;;;;;:42;;;;13709:37;13738:7;13709:8;:24;13718:14;;;;;;;;;;;13709:24;;;;;;;;;;;;;;;;:28;;:37;;;;:::i;:::-;13682:8;:24;13691:14;;;;;;;;;;;13682:24;;;;;;;;;;;;;;;:64;;;;13770:3;13762:36;;;13775:7;13784:8;:13;13793:3;13784:13;;;;;;;;;;;;;;;;13762:36;;;;;;;;;;;;;;;;;;;;;;;;13835:3;13814:34;;13831:1;13814:34;;;13840:7;13814:34;;;;;;;;;;;;;;;;;;13473:380;;:::o;126:202::-;184:9;215:1;210;:6;206:47;;;240:1;233:8;;;;206:47;271:1;267;:5;263:9;;299:1;294;290;:5;;;;;;;;:10;283:18;;;;;;319:1;312:8;;126:202;;;;;:::o;7825:371::-;7896:4;7369:20;;;;;;;;;;;7368:21;7360:30;;;;;;;;7932:29;7953:7;7932:16;;:20;;:29;;;;:::i;:::-;7913:16;:48;;;;7996:26;8014:7;7996:8;:13;8005:3;7996:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7980:8;:13;7989:3;7980:13;;;;;;;;;;;;;;;:42;;;;8051:28;8071:7;8051:8;:15;8060:5;;;;;;;;;;;8051:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8033:8;:15;8042:5;;;;;;;;;;;8033:15;;;;;;;;;;;;;;;:46;;;;8101:3;8095:19;;;8106:7;8095:19;;;;;;;;;;;;;;;;;;8151:3;8130:34;;8147:1;8130:34;;;8156:7;8130:34;;;;;;;;;;;;;;;;;;8184:4;8177:11;;7825:371;;;;:::o;446:123::-;504:7;536:1;531;:6;;524:14;;;;;;560:1;556;:5;549:12;;446:123;;;;:::o;579:141::-;637:9;667:1;663;:5;659:9;;691:1;686;:6;;679:14;;;;;;711:1;704:8;;579:141;;;;:::o
Swarm Source
bzzr://e9389a6cd360851458930bffed6049b9922d818549ed82a57ed1257d1dc8eee0
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.