Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,009,526,849,209.589041095890410958 HI
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,008,326,739,209.589041095890410958 HIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HI
Compiler Version
v0.4.11+commit.68ef5810
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-06-21 */ pragma solidity ^0.4.11; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner { require(newOwner != address(0)); owner = newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) constant returns (uint256); function transfer(address to, uint256 value) returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) constant returns (uint256); function transferFrom(address from, address to, uint256 value) returns (bool); function approve(address spender, uint256 value) returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title PoSTokenStandard * @dev the interface of PoSTokenStandard */ contract PoSTokenStandard { uint256 public stakeStartTime; uint256 public stakeMinAge; uint256 public stakeMaxAge; function mint() returns (bool); function coinAge() constant returns (uint256); function annualInterest() constant returns (uint256); event Mint(address indexed _address, uint _reward); } contract HI is ERC20,PoSTokenStandard,Ownable { using SafeMath for uint256; string public name = "Hi friends Coin"; string public symbol = "HI"; uint public decimals = 18; uint public chainStartTime; //chain start time uint public chainStartBlockNumber; //chain start block number uint public stakeStartTime; //stake start time uint public stakeMinAge = 3 days; // minimum age for coin age: 3D uint public stakeMaxAge = 90 days; // stake age of full weight: 90D uint public maxMintProofOfStake = 10**17; // default 10% annual interest uint public totalSupply; uint public maxTotalSupply; uint public totalInitialSupply; struct transferInStruct{ uint128 amount; uint64 time; } mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; mapping(address => transferInStruct[]) transferIns; event Burn(address indexed burner, uint256 value); /** * @dev Fix for the ERC20 short address attack. */ modifier onlyPayloadSize(uint size) { require(msg.data.length >= size + 4); _; } modifier canPoSMint() { require(totalSupply < maxTotalSupply); _; } function PoSToken() { maxTotalSupply = 1998000000000000000000000000000; totalInitialSupply = 999000000000000000000000000000; chainStartTime = now; chainStartBlockNumber = block.number; balances[msg.sender] = totalInitialSupply; totalSupply = totalInitialSupply; } function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) returns (bool) { if(msg.sender == _to) return mint(); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now)); transferIns[_to].push(transferInStruct(uint128(_value),_now)); return true; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) returns (bool) { require(_to != address(0)); var _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); if(transferIns[_from].length > 0) delete transferIns[_from]; uint64 _now = uint64(now); transferIns[_from].push(transferInStruct(uint128(balances[_from]),_now)); transferIns[_to].push(transferInStruct(uint128(_value),_now)); return true; } function approve(address _spender, uint256 _value) returns (bool) { require((_value == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } function mint() canPoSMint returns (bool) { if(balances[msg.sender] <= 0) return false; if(transferIns[msg.sender].length <= 0) return false; uint reward = getProofOfStakeReward(msg.sender); if(reward <= 0) return false; totalSupply = totalSupply.add(reward); balances[msg.sender] = balances[msg.sender].add(reward); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now))); Mint(msg.sender, reward); return true; } function getBlockNumber() returns (uint blockNumber) { blockNumber = block.number.sub(chainStartBlockNumber); } function coinAge() constant returns (uint myCoinAge) { myCoinAge = getCoinAge(msg.sender,now); } function annualInterest() constant returns(uint interest) { uint _now = now; interest = maxMintProofOfStake; if((_now.sub(stakeStartTime)).div(1 years) == 0) { interest = (770 * maxMintProofOfStake).div(100); } else if((_now.sub(stakeStartTime)).div(1 years) == 1){ interest = (435 * maxMintProofOfStake).div(100); } } function getProofOfStakeReward(address _address) internal returns (uint) { require( (now >= stakeStartTime) && (stakeStartTime > 0) ); uint _now = now; uint _coinAge = getCoinAge(_address, _now); if(_coinAge <= 0) return 0; uint interest = maxMintProofOfStake; // Due to the high interest rate for the first two years, compounding should be taken into account. // Effective annual interest rate = (1 + (nominal rate / number of compounding periods)) ^ (number of compounding periods) - 1 if((_now.sub(stakeStartTime)).div(1 years) == 0) { // 1st year effective annual interest rate is 100% when we select the stakeMaxAge (90 days) as the compounding period. interest = (770 * maxMintProofOfStake).div(100); } else if((_now.sub(stakeStartTime)).div(1 years) == 1){ // 2nd year effective annual interest rate is 50% interest = (435 * maxMintProofOfStake).div(100); } return (_coinAge * interest).div(365 * (10**decimals)); } function getCoinAge(address _address, uint _now) internal returns (uint _coinAge) { if(transferIns[_address].length <= 0) return 0; for (uint i = 0; i < transferIns[_address].length; i++){ if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue; uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time)); if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge; _coinAge = _coinAge.add(uint(transferIns[_address][i].amount) * nCoinSeconds.div(1 days)); } } function ownerSetStakeStartTime(uint timestamp) onlyOwner { require((stakeStartTime <= 0) && (timestamp >= chainStartTime)); stakeStartTime = timestamp; } function ownerBurnToken(uint _value) onlyOwner { require(_value > 0); balances[msg.sender] = balances[msg.sender].sub(_value); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now))); totalSupply = totalSupply.sub(_value); totalInitialSupply = totalInitialSupply.sub(_value); maxTotalSupply = maxTotalSupply.sub(_value*10); Burn(msg.sender, _value); } /* Batch token transfer. Used by contract creator to distribute initial tokens to holders */ function batchTransfer(address[] _recipients, uint[] _values) onlyOwner returns (bool) { require( _recipients.length > 0 && _recipients.length == _values.length); uint total = 0; for(uint i = 0; i < _values.length; i++){ total = total.add(_values[i]); } require(total <= balances[msg.sender]); uint64 _now = uint64(now); for(uint j = 0; j < _recipients.length; j++){ balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]); transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]),_now)); Transfer(msg.sender, _recipients[j], _values[j]); } balances[msg.sender] = balances[msg.sender].sub(total); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; if(balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now)); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"annualInterest","outputs":[{"name":"interest","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"PoSToken","outputs":[],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"Mint","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
6060604052604060405190810160405280600f81526020017f486920667269656e647320436f696e000000000000000000000000000000000081525060059080519060200190620000529291906200010a565b50604060405190810160405280600281526020017f484900000000000000000000000000000000000000000000000000000000000081525060069080519060200190620000a19291906200010a565b5060126007556203f480600b556276a700600c5567016345785d8a0000600d555b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b620001b9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b612c1080620001c96000396000f3006060604052361561015d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461015f578063095ea7b3146101f85780631249c58b1461024f57806318160ddd146102795780631e1b13c01461029f57806323b872dd146102c55780632a9edf6f1461033b5780632ab4d0521461035b578063313ce5671461038157806342cbb15c146103a75780635b054f9b146103cd57806370a08231146103f35780637419f1901461043d57806388d695b2146104635780638da5cb5b1461051257806390762a8b1461056457806395d89b41146105845780639fd4da401461061d578063a9059cbb14610643578063b2552fc41461069a578063cbd8877e146106c0578063cd474b04146106e6578063dd62ed3e1461070c578063e1c3bac614610775578063f2bb5ce11461079b578063f2fde38b146107c1578063fc7cb268146107f7575bfe5b341561016757fe5b61016f610809565b60405180806020018281038252838181518152602001915080519060200190808383600083146101be575b8051825260208311156101be5760208201915060208101905060208303925061019a565b505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020057fe5b610235600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108a7565b604051808215151515815260200191505060405180910390f35b341561025757fe5b61025f610a31565b604051808215151515815260200191505060405180910390f35b341561028157fe5b610289610da6565b6040518082815260200191505060405180910390f35b34156102a757fe5b6102af610dac565b6040518082815260200191505060405180910390f35b34156102cd57fe5b610321600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dbe565b604051808215151515815260200191505060405180910390f35b341561034357fe5b61035960048080359060200190919050506113b2565b005b341561036357fe5b61036b61143c565b6040518082815260200191505060405180910390f35b341561038957fe5b610391611442565b6040518082815260200191505060405180910390f35b34156103af57fe5b6103b7611448565b6040518082815260200191505060405180910390f35b34156103d557fe5b6103dd611465565b6040518082815260200191505060405180910390f35b34156103fb57fe5b610427600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061146b565b6040518082815260200191505060405180910390f35b341561044557fe5b61044d6114b5565b6040518082815260200191505060405180910390f35b341561046b57fe5b6104f8600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506114bb565b604051808215151515815260200191505060405180910390f35b341561051a57fe5b610522611b67565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056c57fe5b6105826004808035906020019091905050611b8d565b005b341561058c57fe5b610594611ec7565b60405180806020018281038252838181518152602001915080519060200190808383600083146105e3575b8051825260208311156105e3576020820191506020810190506020830392506105bf565b505050905090810190601f16801561060f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062557fe5b61062d611f65565b6040518082815260200191505060405180910390f35b341561064b57fe5b610680600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611f6b565b604051808215151515815260200191505060405180910390f35b34156106a257fe5b6106aa61244f565b6040518082815260200191505060405180910390f35b34156106c857fe5b6106d0612505565b6040518082815260200191505060405180910390f35b34156106ee57fe5b6106f661250b565b6040518082815260200191505060405180910390f35b341561071457fe5b61075f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612511565b6040518082815260200191505060405180910390f35b341561077d57fe5b610785612599565b6040518082815260200191505060405180910390f35b34156107a357fe5b6107ab61259f565b6040518082815260200191505060405180910390f35b34156107c957fe5b6107f5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125a5565b005b34156107ff57fe5b610807612685565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081565b6000600082148061093457506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156109405760006000fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60006000600f54600e54101515610a485760006000fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610a9a5760009150610da1565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515610aef5760009150610da1565b610af83361270d565b9050600081111515610b0d5760009150610da1565b610b2281600e5461282a90919063ffffffff16565b600e81905550610b7a81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c089190612b38565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610c599190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a2600191505b5b5090565b600e5481565b6000610db8334261284a565b90505b90565b600060006000606060048101600036905010151515610ddd5760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610e1a5760006000fd5b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250610eeb85601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f8085601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fd68584612b0190919063ffffffff16565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561115257601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111519190612b38565b5b429150601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816111a69190612b5a565b916000526020600020900160005b604060405190810160405280601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816112ec9190612b5a565b916000526020600020900160005b604060405190810160405280896fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600193505b5b5050509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561140f5760006000fd5b6000600a541115801561142457506008548110155b15156114305760006000fd5b80600a819055505b5b50565b600f5481565b60075481565b600061145f60095443612b0190919063ffffffff16565b90505b90565b60085481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600a5481565b60006000600060006000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115225760006000fd5b60008751118015611534575085518751145b15156115405760006000fd5b60009350600092505b855183101561158c5761157c868481518110151561156357fe5b906020019060200201518561282a90919063ffffffff16565b93505b8280600101935050611549565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156115db5760006000fd5b429150600090505b865181101561189c5761166c86828151811015156115fd57fe5b90602001906020020151601160008a8581518110151561161957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b60116000898481518110151561167e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506013600088838151811015156116d857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161172e9190612b5a565b916000526020600020900160005b6040604051908101604052808a8681518110151561175657fe5b906020019060200201516fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050868181518110151561180957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef888481518110151561186f57fe5b906020019060200201516040518082815260200191505060405180910390a35b80806001019150506115e3565b6118ee84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156119c857601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006119c79190612b38565b5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611b5757601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a619190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505b600194505b5b5050505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bea5760006000fd5b600081111515611bfa5760006000fd5b611c4c81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611cda9190612b38565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611d2b9190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050611e3581600e54612b0190919063ffffffff16565b600e81905550611e5081601054612b0190919063ffffffff16565b601081905550611e6e600a8202600f54612b0190919063ffffffff16565b600f819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25b5b50565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f5d5780601f10611f3257610100808354040283529160200191611f5d565b820191906000526020600020905b815481529060010190602001808311611f4057829003601f168201915b505050505081565b60105481565b60006000604060048101600036905010151515611f885760006000fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611fcb57611fc4610a31565b9250612446565b61201d84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b284601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156121f157601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006121f09190612b38565b5b429150601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816122459190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161238b9190612b5a565b916000526020600020900160005b604060405190810160405280886fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600192505b5b505092915050565b60006000429050600d54915060006124886301e1338061247a600a5485612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156124af576124a86064600d5461030202612b1b90919063ffffffff16565b9150612500565b60016124dc6301e133806124ce600a5485612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156124ff576124fc6064600d546101b302612b1b90919063ffffffff16565b91505b5b5b5090565b600b5481565b60095481565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600c5481565b600d5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126025760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561263f5760006000fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6c1937e2dd274d48db5ab0000000600f819055506c0c9bf16e93a6a46dad580000006010819055504260088190555043600981905550601054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601054600e819055505b565b6000600060006000600a54421015801561272957506000600a54115b15156127355760006000fd5b429250612742858461284a565b91506000821115156127575760009350612822565b600d54905060006127896301e1338061277b600a5487612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156127b0576127a96064600d5461030202612b1b90919063ffffffff16565b9050612801565b60016127dd6301e133806127cf600a5487612b0190919063ffffffff16565b612b1b90919063ffffffff16565b1415612800576127fd6064600d546101b302612b1b90919063ffffffff16565b90505b5b61281f600754600a0a61016d02828402612b1b90919063ffffffff16565b93505b505050919050565b60006000828401905083811015151561283f57fe5b8091505b5092915050565b6000600060006000601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115156128a55760009250612af9565b600091505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821015612af857612985600b54601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561294657fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661282a90919063ffffffff16565b84101561299157612aeb565b612a20601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156129e057fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1685612b0190919063ffffffff16565b9050600c54811115612a3257600c5490505b612ae8612a4b6201518083612b1b90919063ffffffff16565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612a9757fe5b906000526020600020900160005b5060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16028461282a90919063ffffffff16565b92505b81806001019250506128aa565b5b505092915050565b6000828211151515612b0f57fe5b81830390505b92915050565b600060008284811515612b2a57fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190612b569190612b86565b5b50565b815481835581811511612b8157818360005260206000209182019101612b809190612b86565b5b505050565b612be191905b80821115612bdd5760006000820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff021916905550600101612b8c565b5090565b905600a165627a7a72305820f1b43628ed569be801ed395c4b1128ace745784fe470f325a7f358b71a0d06650029
Deployed Bytecode
0x6060604052361561015d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461015f578063095ea7b3146101f85780631249c58b1461024f57806318160ddd146102795780631e1b13c01461029f57806323b872dd146102c55780632a9edf6f1461033b5780632ab4d0521461035b578063313ce5671461038157806342cbb15c146103a75780635b054f9b146103cd57806370a08231146103f35780637419f1901461043d57806388d695b2146104635780638da5cb5b1461051257806390762a8b1461056457806395d89b41146105845780639fd4da401461061d578063a9059cbb14610643578063b2552fc41461069a578063cbd8877e146106c0578063cd474b04146106e6578063dd62ed3e1461070c578063e1c3bac614610775578063f2bb5ce11461079b578063f2fde38b146107c1578063fc7cb268146107f7575bfe5b341561016757fe5b61016f610809565b60405180806020018281038252838181518152602001915080519060200190808383600083146101be575b8051825260208311156101be5760208201915060208101905060208303925061019a565b505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020057fe5b610235600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108a7565b604051808215151515815260200191505060405180910390f35b341561025757fe5b61025f610a31565b604051808215151515815260200191505060405180910390f35b341561028157fe5b610289610da6565b6040518082815260200191505060405180910390f35b34156102a757fe5b6102af610dac565b6040518082815260200191505060405180910390f35b34156102cd57fe5b610321600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dbe565b604051808215151515815260200191505060405180910390f35b341561034357fe5b61035960048080359060200190919050506113b2565b005b341561036357fe5b61036b61143c565b6040518082815260200191505060405180910390f35b341561038957fe5b610391611442565b6040518082815260200191505060405180910390f35b34156103af57fe5b6103b7611448565b6040518082815260200191505060405180910390f35b34156103d557fe5b6103dd611465565b6040518082815260200191505060405180910390f35b34156103fb57fe5b610427600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061146b565b6040518082815260200191505060405180910390f35b341561044557fe5b61044d6114b5565b6040518082815260200191505060405180910390f35b341561046b57fe5b6104f8600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506114bb565b604051808215151515815260200191505060405180910390f35b341561051a57fe5b610522611b67565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056c57fe5b6105826004808035906020019091905050611b8d565b005b341561058c57fe5b610594611ec7565b60405180806020018281038252838181518152602001915080519060200190808383600083146105e3575b8051825260208311156105e3576020820191506020810190506020830392506105bf565b505050905090810190601f16801561060f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062557fe5b61062d611f65565b6040518082815260200191505060405180910390f35b341561064b57fe5b610680600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611f6b565b604051808215151515815260200191505060405180910390f35b34156106a257fe5b6106aa61244f565b6040518082815260200191505060405180910390f35b34156106c857fe5b6106d0612505565b6040518082815260200191505060405180910390f35b34156106ee57fe5b6106f661250b565b6040518082815260200191505060405180910390f35b341561071457fe5b61075f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612511565b6040518082815260200191505060405180910390f35b341561077d57fe5b610785612599565b6040518082815260200191505060405180910390f35b34156107a357fe5b6107ab61259f565b6040518082815260200191505060405180910390f35b34156107c957fe5b6107f5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125a5565b005b34156107ff57fe5b610807612685565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081565b6000600082148061093457506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156109405760006000fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60006000600f54600e54101515610a485760006000fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610a9a5760009150610da1565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515610aef5760009150610da1565b610af83361270d565b9050600081111515610b0d5760009150610da1565b610b2281600e5461282a90919063ffffffff16565b600e81905550610b7a81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c089190612b38565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610c599190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a2600191505b5b5090565b600e5481565b6000610db8334261284a565b90505b90565b600060006000606060048101600036905010151515610ddd5760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610e1a5760006000fd5b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250610eeb85601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f8085601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fd68584612b0190919063ffffffff16565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561115257601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111519190612b38565b5b429150601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816111a69190612b5a565b916000526020600020900160005b604060405190810160405280601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816112ec9190612b5a565b916000526020600020900160005b604060405190810160405280896fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600193505b5b5050509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561140f5760006000fd5b6000600a541115801561142457506008548110155b15156114305760006000fd5b80600a819055505b5b50565b600f5481565b60075481565b600061145f60095443612b0190919063ffffffff16565b90505b90565b60085481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600a5481565b60006000600060006000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115225760006000fd5b60008751118015611534575085518751145b15156115405760006000fd5b60009350600092505b855183101561158c5761157c868481518110151561156357fe5b906020019060200201518561282a90919063ffffffff16565b93505b8280600101935050611549565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156115db5760006000fd5b429150600090505b865181101561189c5761166c86828151811015156115fd57fe5b90602001906020020151601160008a8581518110151561161957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b60116000898481518110151561167e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506013600088838151811015156116d857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161172e9190612b5a565b916000526020600020900160005b6040604051908101604052808a8681518110151561175657fe5b906020019060200201516fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050868181518110151561180957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef888481518110151561186f57fe5b906020019060200201516040518082815260200191505060405180910390a35b80806001019150506115e3565b6118ee84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156119c857601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006119c79190612b38565b5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611b5757601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a619190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505b600194505b5b5050505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bea5760006000fd5b600081111515611bfa5760006000fd5b611c4c81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611cda9190612b38565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611d2b9190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050611e3581600e54612b0190919063ffffffff16565b600e81905550611e5081601054612b0190919063ffffffff16565b601081905550611e6e600a8202600f54612b0190919063ffffffff16565b600f819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25b5b50565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f5d5780601f10611f3257610100808354040283529160200191611f5d565b820191906000526020600020905b815481529060010190602001808311611f4057829003601f168201915b505050505081565b60105481565b60006000604060048101600036905010151515611f885760006000fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611fcb57611fc4610a31565b9250612446565b61201d84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b284601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461282a90919063ffffffff16565b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156121f157601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006121f09190612b38565b5b429150601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816122459190612b5a565b916000526020600020900160005b604060405190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161238b9190612b5a565b916000526020600020900160005b604060405190810160405280886fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600192505b5b505092915050565b60006000429050600d54915060006124886301e1338061247a600a5485612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156124af576124a86064600d5461030202612b1b90919063ffffffff16565b9150612500565b60016124dc6301e133806124ce600a5485612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156124ff576124fc6064600d546101b302612b1b90919063ffffffff16565b91505b5b5b5090565b600b5481565b60095481565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600c5481565b600d5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126025760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561263f5760006000fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6c1937e2dd274d48db5ab0000000600f819055506c0c9bf16e93a6a46dad580000006010819055504260088190555043600981905550601054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601054600e819055505b565b6000600060006000600a54421015801561272957506000600a54115b15156127355760006000fd5b429250612742858461284a565b91506000821115156127575760009350612822565b600d54905060006127896301e1338061277b600a5487612b0190919063ffffffff16565b612b1b90919063ffffffff16565b14156127b0576127a96064600d5461030202612b1b90919063ffffffff16565b9050612801565b60016127dd6301e133806127cf600a5487612b0190919063ffffffff16565b612b1b90919063ffffffff16565b1415612800576127fd6064600d546101b302612b1b90919063ffffffff16565b90505b5b61281f600754600a0a61016d02828402612b1b90919063ffffffff16565b93505b505050919050565b60006000828401905083811015151561283f57fe5b8091505b5092915050565b6000600060006000601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115156128a55760009250612af9565b600091505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821015612af857612985600b54601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561294657fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661282a90919063ffffffff16565b84101561299157612aeb565b612a20601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156129e057fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1685612b0190919063ffffffff16565b9050600c54811115612a3257600c5490505b612ae8612a4b6201518083612b1b90919063ffffffff16565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612a9757fe5b906000526020600020900160005b5060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16028461282a90919063ffffffff16565b92505b81806001019250506128aa565b5b505092915050565b6000828211151515612b0f57fe5b81830390505b92915050565b600060008284811515612b2a57fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190612b569190612b86565b5b50565b815481835581811511612b8157818360005260206000209182019101612b809190612b86565b5b505050565b612be191905b80821115612bdd5760006000820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff021916905550600101612b8c565b5090565b905600a165627a7a72305820f1b43628ed569be801ed395c4b1128ace745784fe470f325a7f358b71a0d06650029
Deployed Bytecode Sourcemap
3130:8346:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3218:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:1:-1;21:3;18:2;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;117:2;112:3;108;101:19;;139:2;134:3;130;123:19;;161:2;156:3;152;145:19;;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6344:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6770:581;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3726:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7492:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5478:858;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9689:177;;;;;;;;;;;;;;;;;;;;;;;;3756:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3297:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7359:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3331:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5358:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3450:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10480:993;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1135:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9874:500;;;;;;;;;;;;;;;;;;;;;;;;3263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:1:-1;21:3;18:2;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;117:2;112:3;108;101:19;;139:2;134:3;130;123:19;;161:2;156:3;152;145:19;;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3789:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4745:605;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7610:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3502:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3383:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6621:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3573:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3646:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1704:132;;;;;;;;;;;;;;;;;;;;;;;;;;4409:328;;;;;;;;;;;;3218:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6344:269::-;6404:4;6440:1;6430:6;:11;6429:53;;;;6480:1;6447:7;:19;6455:10;6447:19;;;;;;;;;;;;;;;:29;6467:8;6447:29;;;;;;;;;;;;;;;;:34;6429:53;6421:62;;;;;;;;6528:6;6496:7;:19;6504:10;6496:19;;;;;;;;;;;;;;;:29;6516:8;6496:29;;;;;;;;;;;;;;;:38;;;;6566:8;6545:38;;6554:10;6545:38;;;6576:6;6545:38;;;;;;;;;;;;;;;;;;6601:4;6594:11;;6344:269;;;;;:::o;6770:581::-;6806:4;6941:11;4366:14;;4352:11;;:28;4344:37;;;;;;;;6850:1;6826:8;:20;6835:10;6826:20;;;;;;;;;;;;;;;;:25;;6823:42;;;6860:5;6853:12;;;;6823:42;6913:1;6879:11;:23;6891:10;6879:23;;;;;;;;;;;;;;;:30;;;;:35;;6876:52;;;6923:5;6916:12;;;;6876:52;6955:33;6977:10;6955:21;:33::i;:::-;6941:47;;7012:1;7002:6;:11;;6999:28;;;7022:5;7015:12;;;;6999:28;7054:23;7070:6;7054:11;;:15;;:23;;;;:::i;:::-;7040:11;:37;;;;7111:32;7136:6;7111:8;:20;7120:10;7111:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7088:8;:20;7097:10;7088:20;;;;;;;;;;;;;;;:55;;;;7161:11;:23;7173:10;7161:23;;;;;;;;;;;;;;;;7154:30;;;;:::i;:::-;7195:11;:23;7207:10;7195:23;;;;;;;;;;;;;;;:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;7224:59;;;;;;;;;7249:8;:20;7258:10;7249:20;;;;;;;;;;;;;;;;7224:59;;;;;;7278:3;7224:59;;;;;7195:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7302:10;7297:24;;;7314:6;7297:24;;;;;;;;;;;;;;;;;;7339:4;7332:11;;4392:1;6770:581;;;:::o;3726:23::-;;;;:::o;7492:110::-;7529:14;7568:26;7579:10;7590:3;7568:10;:26::i;:::-;7556:38;;7492:110;;:::o;5478:858::-;5577:4;5633:14;6126:11;5560:6;4281:1;4274:4;:8;4255;;:15;;:27;;4247:36;;;;;;;;5617:1;5602:17;;:3;:17;;;;5594:26;;;;;;;;5650:7;:14;5658:5;5650:14;;;;;;;;;;;;;;;:26;5665:10;5650:26;;;;;;;;;;;;;;;;5633:43;;5865:27;5885:6;5865:8;:15;5874:5;5865:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5847:8;:15;5856:5;5847:15;;;;;;;;;;;;;;;:45;;;;5919:25;5937:6;5919:8;:13;5928:3;5919:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5903:8;:13;5912:3;5903:13;;;;;;;;;;;;;;;:41;;;;5984:22;5999:6;5984:10;:14;;:22;;;;:::i;:::-;5955:7;:14;5963:5;5955:14;;;;;;;;;;;;;;;:26;5970:10;5955:26;;;;;;;;;;;;;;;:51;;;;6033:3;6017:28;;6026:5;6017:28;;;6038:6;6017:28;;;;;;;;;;;;;;;;;;6087:1;6059:11;:18;6071:5;6059:18;;;;;;;;;;;;;;;:25;;;;:29;6056:59;;;6097:11;:18;6109:5;6097:18;;;;;;;;;;;;;;;;6090:25;;;;:::i;:::-;6056:59;6147:3;6126:25;;6162:11;:18;6174:5;6162:18;;;;;;;;;;;;;;;:72;;;;;;;;;;;:::i;:::-;;;;;;;;;;;6186:47;;;;;;;;;6211:8;:15;6220:5;6211:15;;;;;;;;;;;;;;;;6186:47;;;;;;6228:4;6186:47;;;;;6162:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6245:11;:16;6257:3;6245:16;;;;;;;;;;;;;;;:61;;;;;;;;;;;:::i;:::-;;;;;;;;;;;6267:38;;;;;;;;;6292:6;6267:38;;;;;;6300:4;6267:38;;;;;6245:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6324:4;6317:11;;4294:1;5478:858;;;;;;;;;:::o;9689:177::-;1499:5;;;;;;;;;;;1485:19;;:10;:19;;;1477:28;;;;;;;;9785:1;9767:14;;:19;;9766:54;;;;;9805:14;;9792:9;:27;;9766:54;9758:63;;;;;;;;9849:9;9832:14;:26;;;;1516:1;9689:177;;:::o;3756:26::-;;;;:::o;3297:25::-;;;;:::o;7359:125::-;7394:16;7437:39;7454:21;;7437:12;:16;;:39;;;;:::i;:::-;7423:53;;7359:125;;:::o;3331:26::-;;;;:::o;5358:112::-;5411:15;5446:8;:16;5455:6;5446:16;;;;;;;;;;;;;;;;5439:23;;5358:112;;;;:::o;3450:26::-;;;;:::o;10480:993::-;10561:4;10663:10;10692:6;10845:11;10885:6;1499:5;;;;;;;;;;;1485:19;;:10;:19;;;1477:28;;;;;;;;10608:1;10587:11;:18;:22;:62;;;;;10635:7;:14;10613:11;:18;:36;10587:62;10578:72;;;;;;;;10676:1;10663:14;;10701:1;10692:10;;10688:96;10708:7;:14;10704:1;:18;10688:96;;;10751:21;10761:7;10769:1;10761:10;;;;;;;;;;;;;;;;;;10751:5;:9;;:21;;;;:::i;:::-;10743:29;;10688:96;10724:3;;;;;;;10688:96;;;10811:8;:20;10820:10;10811:20;;;;;;;;;;;;;;;;10802:5;:29;;10794:38;;;;;;;;10866:3;10845:25;;10894:1;10885:10;;10881:292;10901:11;:18;10897:1;:22;10881:292;;;10967:40;10996:7;11004:1;10996:10;;;;;;;;;;;;;;;;;;10967:8;:24;10976:11;10988:1;10976:14;;;;;;;;;;;;;;;;;;10967:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;10940:8;:24;10949:11;10961:1;10949:14;;;;;;;;;;;;;;;;;;10940:24;;;;;;;;;;;;;;;:67;;;;11022:11;:27;11034:11;11046:1;11034:14;;;;;;;;;;;;;;;;;;11022:27;;;;;;;;;;;;;;;:76;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11055:42;;;;;;;;;11080:7;11088:1;11080:10;;;;;;;;;;;;;;;;;;11055:42;;;;;;11092:4;11055:42;;;;;11022:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11134:11;11146:1;11134:14;;;;;;;;;;;;;;;;;;11113:48;;11122:10;11113:48;;;11150:7;11158:1;11150:10;;;;;;;;;;;;;;;;;;11113:48;;;;;;;;;;;;;;;;;;10881:292;10921:3;;;;;;;10881:292;;;11208:31;11233:5;11208:8;:20;11217:10;11208:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;11185:8;:20;11194:10;11185:20;;;;;;;;;;;;;;;:54;;;;11286:1;11253:11;:23;11265:10;11253:23;;;;;;;;;;;;;;;:30;;;;:34;11250:69;;;11296:11;:23;11308:10;11296:23;;;;;;;;;;;;;;;;11289:30;;;;:::i;:::-;11250:69;11356:1;11333:8;:20;11342:10;11333:20;;;;;;;;;;;;;;;;:24;11330:111;;;11359:11;:23;11371:10;11359:23;;;;;;;;;;;;;;;:82;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11388:52;;;;;;;;;11413:8;:20;11422:10;11413:20;;;;;;;;;;;;;;;;11388:52;;;;;;11435:4;11388:52;;;;;11359:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11330:111;11461:4;11454:11;;1516:1;10480:993;;;;;;;;;:::o;1135:20::-;;;;;;;;;;;;;:::o;9874:500::-;1499:5;;;;;;;;;;;1485:19;;:10;:19;;;1477:28;;;;;;;;9949:1;9940:6;:10;9932:19;;;;;;;;9987:32;10012:6;9987:8;:20;9996:10;9987:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9964:8;:20;9973:10;9964:20;;;;;;;;;;;;;;;:55;;;;10037:11;:23;10049:10;10037:23;;;;;;;;;;;;;;;;10030:30;;;;:::i;:::-;10071:11;:23;10083:10;10071:23;;;;;;;;;;;;;;;:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;10100:59;;;;;;;;;10125:8;:20;10134:10;10125:20;;;;;;;;;;;;;;;;10100:59;;;;;;10154:3;10100:59;;;;;10071:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10187:23;10203:6;10187:11;;:15;;:23;;;;:::i;:::-;10173:11;:37;;;;10242:30;10265:6;10242:18;;:22;;:30;;;;:::i;:::-;10221:18;:51;;;;10300:29;10326:2;10319:6;:9;10300:14;;:18;;:29;;;;:::i;:::-;10283:14;:46;;;;10347:10;10342:24;;;10359:6;10342:24;;;;;;;;;;;;;;;;;;1516:1;9874:500;;:::o;3263:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3789:30::-;;;;:::o;4745:605::-;4825:4;5130:11;4808:6;4281:1;4274:4;:8;4255;;:15;;:27;;4247:36;;;;;;;;4859:3;4845:17;;:10;:17;;;4842:35;;;4871:6;:4;:6::i;:::-;4864:13;;;;4842:35;4911:32;4936:6;4911:8;:20;4920:10;4911:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4888:8;:20;4897:10;4888:20;;;;;;;;;;;;;;;:55;;;;4970:25;4988:6;4970:8;:13;4979:3;4970:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4954:8;:13;4963:3;4954:13;;;;;;;;;;;;;;;:41;;;;5027:3;5006:33;;5015:10;5006:33;;;5032:6;5006:33;;;;;;;;;;;;;;;;;;5086:1;5053:11;:23;5065:10;5053:23;;;;;;;;;;;;;;;:30;;;;:34;5050:69;;;5096:11;:23;5108:10;5096:23;;;;;;;;;;;;;;;;5089:30;;;;:::i;:::-;5050:69;5151:3;5130:25;;5166:11;:23;5178:10;5166:23;;;;;;;;;;;;;;;:82;;;;;;;;;;;:::i;:::-;;;;;;;;;;;5195:52;;;;;;;;;5220:8;:20;5229:10;5220:20;;;;;;;;;;;;;;;;5195:52;;;;;;5242:4;5195:52;;;;;5166:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5259:11;:16;5271:3;5259:16;;;;;;;;;;;;;;;:61;;;;;;;;;;;:::i;:::-;;;;;;;;;;;5281:38;;;;;;;;;5306:6;5281:38;;;;;;5314:4;5281:38;;;;;5259:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5338:4;5331:11;;4294:1;4745:605;;;;;;;:::o;7610:394::-;7653:13;7679:9;7691:3;7679:15;;7716:19;;7705:30;;7792:1;7749:39;7780:7;7750:24;7759:14;;7750:4;:8;;:24;;;;:::i;:::-;7749:30;;:39;;;;:::i;:::-;:44;7746:251;;;7821:36;7853:3;7828:19;;7822:3;:25;7821:31;;:36;;;;:::i;:::-;7810:47;;7746:251;;;7921:1;7878:39;7909:7;7879:24;7888:14;;7879:4;:8;;:24;;;;:::i;:::-;7878:30;;:39;;;;:::i;:::-;:44;7875:122;;;7949:36;7981:3;7956:19;;7950:3;:25;7949:31;;:36;;;;:::i;:::-;7938:47;;7875:122;7746:251;7610:394;;;:::o;3502:32::-;;;;:::o;3383:33::-;;;;:::o;6621:141::-;6692:17;6729:7;:15;6737:6;6729:15;;;;;;;;;;;;;;;:25;6745:8;6729:25;;;;;;;;;;;;;;;;6722:32;;6621:141;;;;;:::o;3573:33::-;;;;:::o;3646:40::-;;;;:::o;1704:132::-;1499:5;;;;;;;;;;;1485:19;;:10;:19;;;1477:28;;;;;;;;1798:1;1778:22;;:8;:22;;;;1770:31;;;;;;;;1820:8;1812:5;;:16;;;;;;;;;;;;;;;;;;1516:1;1704:132;;:::o;4409:328::-;4457:31;4440:14;:48;;;;4521:30;4500:18;:51;;;;4582:3;4565:14;:20;;;;4620:12;4596:21;:36;;;;4668:18;;4645:8;:20;4654:10;4645:20;;;;;;;;;;;;;;;:41;;;;4711:18;;4697:11;:32;;;;4409:328;:::o;8012:1084::-;8079:4;8167:9;8193:13;8285;8113:14;;8106:3;:21;;8105:47;;;;;8150:1;8133:14;;:18;8105:47;8096:58;;;;;;;;8179:3;8167:15;;8209:26;8220:8;8230:4;8209:10;:26::i;:::-;8193:42;;8261:1;8249:8;:13;;8246:26;;;8271:1;8264:8;;;;8246:26;8301:19;;8285:35;;8622:1;8579:39;8610:7;8580:24;8589:14;;8580:4;:8;;:24;;;;:::i;:::-;8579:30;;:39;;;;:::i;:::-;:44;8576:446;;;8783:36;8815:3;8790:19;;8784:3;:25;8783:31;;:36;;;;:::i;:::-;8772:47;;8576:446;;;8883:1;8840:39;8871:7;8841:24;8850:14;;8841:4;:8;;:24;;;;:::i;:::-;8840:30;;:39;;;;:::i;:::-;:44;8837:185;;;8974:36;9006:3;8981:19;;8975:3;:25;8974:31;;:36;;;;:::i;:::-;8963:47;;8837:185;8576:446;9041:47;9078:8;;9074:2;:12;9067:3;:20;9053:8;9042;:19;9041:25;;:47;;;;:::i;:::-;9034:54;;8012:1084;;;;;;;:::o;756:151::-;818:7;838:9;854:1;850;:5;838:17;;878:1;873;:6;;866:14;;;;;;898:1;891:8;;756:151;;;;;;:::o;9104:577::-;9171:13;9261:6;9417:17;9232:1;9200:11;:21;9212:8;9200:21;;;;;;;;;;;;;;;:28;;;;:33;;9197:46;;;9242:1;9235:8;;;;9197:46;9270:1;9261:10;;9256:418;9277:11;:21;9289:8;9277:21;;;;;;;;;;;;;;;:28;;;;9273:1;:32;9256:418;;;9337:52;9377:11;;9342;:21;9354:8;9342:21;;;;;;;;;;;;;;;9364:1;9342:24;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;9337:35;;:39;;:52;;;;:::i;:::-;9330:4;:59;9326:74;;;9392:8;;9326:74;9437:45;9451:11;:21;9463:8;9451:21;;;;;;;;;;;;;;;9473:1;9451:24;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;9446:35;;9437:4;:8;;:45;;;;:::i;:::-;9417:65;;9516:11;;9501:12;:26;9497:59;;;9545:11;;9530:26;;9497:59;9584:78;9637:24;9654:6;9637:12;:16;;:24;;;;:::i;:::-;9602:11;:21;9614:8;9602:21;;;;;;;;;;;;;;;9624:1;9602:24;;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;9597:37;;:64;9584:8;:12;;:78;;;;:::i;:::-;9573:89;;9256:418;9307:3;;;;;;;9256:418;;;9104:577;;;;;;;:::o;621:127::-;683:7;715:1;710;:6;;703:14;;;;;;739:1;735;:5;728:12;;621:127;;;;;:::o;321:292::-;383:7;482:9;498:1;494;:5;;;;;;;;482:17;;604:1;597:8;;321:292;;;;;;:::o;3130:8346::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://f1b43628ed569be801ed395c4b1128ace745784fe470f325a7f358b71a0d0665
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.