Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
500,000,000 SLS
Holders
917
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SLSToken
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-06-24 */ /* solium-disable-next-line linebreak-style */ pragma solidity 0.4.24; // ---------------------------------------------------------------------------- // Math - Implement Math Library // ---------------------------------------------------------------------------- library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 r = a + b; require(r >= a, 'Require r >= a'); return r; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(a >= b, 'Require a >= b'); return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 r = a * b; require(r / a == b, 'Require r / a == b'); return r; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } } // ---------------------------------------------------------------------------- // ERC20Interface - Standard ERC20 Interface Definition // Based on the final ERC20 specification at: // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md // ---------------------------------------------------------------------------- contract ERC20Interface { event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function balanceOf(address _owner) public view returns (uint256 balance); function allowance(address _owner, address _spender) public view returns (uint256 remaining); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); } // ---------------------------------------------------------------------------- // ERC20Token - Standard ERC20 Implementation // ---------------------------------------------------------------------------- contract ERC20Token is ERC20Interface { using SafeMath for uint256; string public name; string public symbol; uint8 public decimals; uint256 public totalSupply; mapping(address => uint256) internal balances; mapping(address => mapping (address => uint256)) allowed; constructor(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address _initialTokenHolder) public { name = _name; symbol = _symbol; decimals = _decimals; totalSupply = _totalSupply; // The initial balance of tokens is assigned to the given token holder address. balances[_initialTokenHolder] = _totalSupply; allowed[_initialTokenHolder][_initialTokenHolder] = balances[_initialTokenHolder]; // Per EIP20, the constructor should fire a Transfer event if tokens are assigned to an account. emit Transfer(0x0, _initialTokenHolder, _totalSupply); } function transfer(address _to, uint256 _value) public returns (bool success) { require(balances[msg.sender] >= _value, 'Sender`s balance is not enough'); require(balances[_to] + _value > balances[_to], 'Value is invalid'); require(_to != address(0), '_to address is invalid'); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(balances[_from] >= _value, 'Owner`s balance is not enough'); require(allowed[_from][msg.sender] >= _value, 'Sender`s allowance is not enough'); require(balances[_to] + _value > balances[_to], 'Token amount value is invalid'); require(_to != address(0), '_to address is invalid'); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval(address _spender, uint256 _addedValue) public returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool success) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // Implements a simple ownership model with 2-phase transfer. contract Owned { address public owner; address public proposedOwner; constructor() public { owner = msg.sender; } modifier onlyOwner() { require(isOwner(msg.sender) == true, 'Require owner to execute transaction'); _; } function isOwner(address _address) public view returns (bool result) { return (_address == owner); } function initiateOwnershipTransfer(address _proposedOwner) public onlyOwner returns (bool success) { require(_proposedOwner != address(0), 'Require proposedOwner != address(0)'); require(_proposedOwner != address(this), 'Require proposedOwner != address(this)'); require(_proposedOwner != owner, 'Require proposedOwner != owner'); proposedOwner = _proposedOwner; return true; } function completeOwnershipTransfer() public returns (bool success) { require(msg.sender == proposedOwner, 'Require msg.sender == proposedOwner'); owner = msg.sender; proposedOwner = address(0); return true; } } // ---------------------------------------------------------------------------- // OpsManaged - Implements an Owner and Ops Permission Model // ---------------------------------------------------------------------------- contract OpsManaged is Owned { address public opsAddress; constructor() public Owned() { } modifier onlyOwnerOrOps() { require(isOwnerOrOps(msg.sender), 'Require only owner or ops'); _; } function isOps(address _address) public view returns (bool result) { return (opsAddress != address(0) && _address == opsAddress); } function isOwnerOrOps(address _address) public view returns (bool result) { return (isOwner(_address) || isOps(_address)); } function setOpsAddress(address _newOpsAddress) public onlyOwner returns (bool success) { require(_newOpsAddress != owner, 'Require newOpsAddress != owner'); require(_newOpsAddress != address(this), 'Require newOpsAddress != address(this)'); opsAddress = _newOpsAddress; return true; } } // ---------------------------------------------------------------------------- // Finalizable - Implement Finalizable (Crowdsale) model // ---------------------------------------------------------------------------- contract Finalizable is OpsManaged { FinalizeState public finalized; enum FinalizeState { None, Finalized } event Finalized(); constructor() public OpsManaged() { finalized = FinalizeState.None; } function finalize() public onlyOwner returns (bool success) { require(finalized == FinalizeState.None, 'Require !finalized'); finalized = FinalizeState.Finalized; emit Finalized(); return true; } } // ---------------------------------------------------------------------------- // FinalizableToken - Extension to ERC20Token with ops and finalization // ---------------------------------------------------------------------------- // // ERC20 token with the following additions: // 1. Owner/Ops Ownership // 2. Finalization // contract FinalizableToken is ERC20Token, Finalizable { using SafeMath for uint256; // The constructor will assign the initial token supply to the owner (msg.sender). constructor(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply) public ERC20Token(_name, _symbol, _decimals, _totalSupply, msg.sender) Finalizable() { } function transfer(address _to, uint256 _value) public returns (bool success) { validateTransfer(msg.sender, _to); return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { validateTransfer(msg.sender, _to); return super.transferFrom(_from, _to, _value); } function validateTransfer(address _sender, address _to) internal view { // Once the token is finalized, everybody can transfer tokens. if (finalized == FinalizeState.Finalized) { return; } if (isOwner(_to)) { return; } require(_to != opsAddress, 'Ops cannot recieve token'); // Before the token is finalized, only owner and ops are allowed to initiate transfers. // This allows them to move tokens while the sale is still in private sale. require(isOwnerOrOps(_sender), 'Require is owner or ops allowed to initiate transfer'); } } // ---------------------------------------------------------------------------- // Token Contract Configuration // ---------------------------------------------------------------------------- contract TokenConfig { string internal constant TOKEN_SYMBOL = 'SLS'; string internal constant TOKEN_NAME = 'SKILLSH'; uint8 internal constant TOKEN_DECIMALS = 8; uint256 internal constant DECIMALS_FACTOR = 10 ** uint256(TOKEN_DECIMALS); uint256 internal constant TOKEN_TOTAL_SUPPLY = 500000000 * DECIMALS_FACTOR; } // ---------------------------------------------------------------------------- // Token Contract // ---------------------------------------------------------------------------- contract SLSToken is FinalizableToken, TokenConfig { enum HaltState { Unhalted, Halted } HaltState public halts; constructor() public FinalizableToken(TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS, TOKEN_TOTAL_SUPPLY) { halts = HaltState.Unhalted; finalized = FinalizeState.None; } function transfer(address _to, uint256 _value) public returns (bool success) { require(halts == HaltState.Unhalted, 'Require smart contract is not in halted state'); if(isOps(msg.sender)) { return super.transferFrom(owner, _to, _value); } return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(halts == HaltState.Unhalted, 'Require smart contract is not in halted state'); return super.transferFrom(_from, _to, _value); } // Allows a token holder to burn tokens. Once burned, tokens are permanently // removed from the total supply. function burn(uint256 _amount) public returns (bool success) { require(_amount > 0, 'Token amount to burn must be larger than 0'); address account = msg.sender; require(_amount <= balanceOf(account), 'You cannot burn token you dont have'); balances[account] = balances[account].sub(_amount); totalSupply = totalSupply.sub(_amount); return true; } /* Halts or unhalts direct trades without the sell/buy functions below */ function haltsTrades() public onlyOwnerOrOps returns (bool success) { halts = HaltState.Halted; return true; } function unhaltsTrades() public onlyOwnerOrOps returns (bool success) { halts = HaltState.Unhalted; return true; } }
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":false,"inputs":[],"name":"unhaltsTrades","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwner","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOpsAddress","type":"address"}],"name":"setOpsAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","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":"opsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"halts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwnerOrOps","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"haltsTrades","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"completeOwnershipTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOps","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Finalized","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"},{"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"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604080518082018252600781527f534b494c4c53480000000000000000000000000000000000000000000000000060208083019182528351808501909452600384527f534c53000000000000000000000000000000000000000000000000000000000090840152815191929160089166b1a2bc2ec500009185918591859185913391620000a3916000919062000160565b508351620000b990600190602087019062000160565b506002805460ff191660ff85161790556003829055600160a060020a0381166000818152600460209081526040808320869055600582528083208252808320869055805186815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505060068054600160a060020a0319163317905550506008805460a060020a61ffff021916905550620002059350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a357805160ff1916838001178555620001d3565b82800160010185558215620001d3579182015b82811115620001d3578251825591602001919060010190620001b6565b50620001e1929150620001e5565b5090565b6200020291905b80821115620001e15760008155600101620001ec565b90565b611a0480620002156000396000f3006080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e25780631609a3971461021a57806318160ddd1461022f57806323b872dd146102565780632f54bf6e14610280578063313ce567146102a157806342966c68146102cc5780634bb278f3146102e457806366188463146102f9578063707789c51461031d57806370a082311461033e5780638da5cb5b1461035f5780638ea643761461039057806395d89b41146103a5578063a5a899ec146103ba578063a9059cbb146103f3578063adcf59ee14610417578063b3f05b9714610438578063c0b6f5611461044d578063c27753471461046e578063d153b60c14610483578063d73dd62314610498578063dd62ed3e146104bc578063e71a7811146104e3578063ef326c6d146104f8575b600080fd5b34801561016457600080fd5b5061016d610519565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a03600435166024356105a7565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061020661060e565b34801561023b57600080fd5b506102446106a3565b60408051918252519081900360200190f35b34801561026257600080fd5b50610206600160a060020a03600435811690602435166044356106a9565b34801561028c57600080fd5b50610206600160a060020a0360043516610752565b3480156102ad57600080fd5b506102b6610766565b6040805160ff9092168252519081900360200190f35b3480156102d857600080fd5b5061020660043561076f565b3480156102f057600080fd5b506102066108d8565b34801561030557600080fd5b50610206600160a060020a0360043516602435610a45565b34801561032957600080fd5b50610206600160a060020a0360043516610b35565b34801561034a57600080fd5b50610244600160a060020a0360043516610cdd565b34801561036b57600080fd5b50610374610cf8565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b50610374610d07565b3480156103b157600080fd5b5061016d610d16565b3480156103c657600080fd5b506103cf610d70565b604051808260018111156103df57fe5b60ff16815260200191505060405180910390f35b3480156103ff57600080fd5b50610206600160a060020a0360043516602435610d80565b34801561042357600080fd5b50610206600160a060020a0360043516610e53565b34801561044457600080fd5b506103cf610e6d565b34801561045957600080fd5b50610206600160a060020a0360043516610e8e565b34801561047a57600080fd5b506102066110bc565b34801561048f57600080fd5b50610374611149565b3480156104a457600080fd5b50610206600160a060020a0360043516602435611158565b3480156104c857600080fd5b50610244600160a060020a03600435811690602435166111f1565b3480156104ef57600080fd5b5061020661121c565b34801561050457600080fd5b50610206600160a060020a03600435166112d8565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061061933610e53565b151561066f576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546000919075ff000000000000000000000000000000000000000000191660a860020a835b02179055506001905090565b60035481565b60008060085460a860020a900460ff1660018111156106c457fe5b1461073f576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b61074a848484611305565b949350505050565b600654600160a060020a0390811691161490565b60025460ff1681565b6000808083116107ef576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e20616d6f756e7420746f206275726e206d757374206265206c617260448201527f676572207468616e203000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50336107fa81610cdd565b831115610877576040805160e560020a62461bcd02815260206004820152602360248201527f596f752063616e6e6f74206275726e20746f6b656e20796f7520646f6e74206860448201527f6176650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381166000908152600460205260409020546108a0908463ffffffff61131c16565b600160a060020a0382166000908152600460205260409020556003546108cc908463ffffffff61131c16565b60035550600192915050565b60006108e333610752565b1515600114610961576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600060085474010000000000000000000000000000000000000000900460ff16600181111561098c57fe5b146109e1576040805160e560020a62461bcd02815260206004820152601260248201527f52657175697265202166696e616c697a65640000000000000000000000000000604482015290519081900360640190fd5b6008805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768190600090a150600190565b336000908152600560209081526040808320600160a060020a038616845290915281205480831115610a9a57336000908152600560209081526040808320600160a060020a0388168452909152812055610acf565b610aaa818463ffffffff61131c16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000610b4033610752565b1515600114610bbe576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a0383811691161415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f52657175697265206e65774f70734164647265737320213d206f776e65720000604482015290519081900360640190fd5b600160a060020a038216301415610cab576040805160e560020a62461bcd02815260206004820152602660248201527f52657175697265206e65774f70734164647265737320213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060088054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b600854600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b60085460a860020a900460ff1681565b60008060085460a860020a900460ff166001811115610d9b57fe5b14610e16576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b610e1f336112d8565b15610e4257600654610e3b90600160a060020a03168484611305565b9050610608565b610e4c838361137c565b9392505050565b6000610e5e82610752565b806106085750610608826112d8565b60085474010000000000000000000000000000000000000000900460ff1681565b6000610e9933610752565b1515600114610f17576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610f9d576040805160e560020a62461bcd02815260206004820152602360248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2830290000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038216301415611024576040805160e560020a62461bcd02815260206004820152602660248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a038381169116141561108a576040805160e560020a62461bcd02815260206004820152601e60248201527f526571756972652070726f706f7365644f776e657220213d206f776e65720000604482015290519081900360640190fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60006110c733610e53565b151561111d576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546001919075ff000000000000000000000000000000000000000000191660a860020a83610697565b600754600160a060020a031681565b336000908152600560209081526040808320600160a060020a038616845290915281205461118c908363ffffffff61139216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600090600160a060020a031633146112a7576040805160e560020a62461bcd02815260206004820152602360248201527f52657175697265206d73672e73656e646572203d3d2070726f706f7365644f7760448201527f6e65720000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805473ffffffffffffffffffffffffffffffffffffffff199081163317909155600780549091169055600190565b600854600090600160a060020a031615801590610608575050600854600160a060020a0390811691161490565b600061131133846113ef565b61074a848484611527565b600081831015611376576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652061203e3d2062000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b600061138833846113ef565b610e4c83836117f0565b600082820183811015610e4c576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652072203e3d2061000000000000000000000000000000000000604482015290519081900360640190fd5b600160085474010000000000000000000000000000000000000000900460ff16600181111561141a57fe5b141561142557611523565b61142e81610752565b1561143857611523565b600854600160a060020a038281169116141561149e576040805160e560020a62461bcd02815260206004820152601860248201527f4f70732063616e6e6f74207265636965766520746f6b656e0000000000000000604482015290519081900360640190fd5b6114a782610e53565b1515611523576040805160e560020a62461bcd02815260206004820152603460248201527f52657175697265206973206f776e6572206f72206f707320616c6c6f7765642060448201527f746f20696e697469617465207472616e73666572000000000000000000000000606482015290519081900360840190fd5b5050565b600160a060020a038316600090815260046020526040812054821115611597576040805160e560020a62461bcd02815260206004820152601d60248201527f4f776e657260732062616c616e6365206973206e6f7420656e6f756768000000604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611612576040805160e560020a62461bcd02815260206004820181905260248201527f53656e646572607320616c6c6f77616e6365206973206e6f7420656e6f756768604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205482810111611683576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e20616d6f756e742076616c756520697320696e76616c6964000000604482015290519081900360640190fd5b600160a060020a03831615156116e3576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526004602052604090205461170c908363ffffffff61131c16565b600160a060020a038086166000908152600460205260408082209390935590851681522054611741908363ffffffff61139216565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054611785908363ffffffff61131c16565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b33600090815260046020526040812054821115611857576040805160e560020a62461bcd02815260206004820152601e60248201527f53656e64657260732062616c616e6365206973206e6f7420656e6f7567680000604482015290519081900360640190fd5b600160a060020a038316600090815260046020526040902054828101116118c8576040805160e560020a62461bcd02815260206004820152601060248201527f56616c756520697320696e76616c696400000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611928576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054611948908363ffffffff61131c16565b3360009081526004602052604080822092909255600160a060020a0385168152205461197a908363ffffffff61139216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001929150505600a165627a7a72305820f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d6144570029
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e25780631609a3971461021a57806318160ddd1461022f57806323b872dd146102565780632f54bf6e14610280578063313ce567146102a157806342966c68146102cc5780634bb278f3146102e457806366188463146102f9578063707789c51461031d57806370a082311461033e5780638da5cb5b1461035f5780638ea643761461039057806395d89b41146103a5578063a5a899ec146103ba578063a9059cbb146103f3578063adcf59ee14610417578063b3f05b9714610438578063c0b6f5611461044d578063c27753471461046e578063d153b60c14610483578063d73dd62314610498578063dd62ed3e146104bc578063e71a7811146104e3578063ef326c6d146104f8575b600080fd5b34801561016457600080fd5b5061016d610519565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a03600435166024356105a7565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061020661060e565b34801561023b57600080fd5b506102446106a3565b60408051918252519081900360200190f35b34801561026257600080fd5b50610206600160a060020a03600435811690602435166044356106a9565b34801561028c57600080fd5b50610206600160a060020a0360043516610752565b3480156102ad57600080fd5b506102b6610766565b6040805160ff9092168252519081900360200190f35b3480156102d857600080fd5b5061020660043561076f565b3480156102f057600080fd5b506102066108d8565b34801561030557600080fd5b50610206600160a060020a0360043516602435610a45565b34801561032957600080fd5b50610206600160a060020a0360043516610b35565b34801561034a57600080fd5b50610244600160a060020a0360043516610cdd565b34801561036b57600080fd5b50610374610cf8565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b50610374610d07565b3480156103b157600080fd5b5061016d610d16565b3480156103c657600080fd5b506103cf610d70565b604051808260018111156103df57fe5b60ff16815260200191505060405180910390f35b3480156103ff57600080fd5b50610206600160a060020a0360043516602435610d80565b34801561042357600080fd5b50610206600160a060020a0360043516610e53565b34801561044457600080fd5b506103cf610e6d565b34801561045957600080fd5b50610206600160a060020a0360043516610e8e565b34801561047a57600080fd5b506102066110bc565b34801561048f57600080fd5b50610374611149565b3480156104a457600080fd5b50610206600160a060020a0360043516602435611158565b3480156104c857600080fd5b50610244600160a060020a03600435811690602435166111f1565b3480156104ef57600080fd5b5061020661121c565b34801561050457600080fd5b50610206600160a060020a03600435166112d8565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061061933610e53565b151561066f576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546000919075ff000000000000000000000000000000000000000000191660a860020a835b02179055506001905090565b60035481565b60008060085460a860020a900460ff1660018111156106c457fe5b1461073f576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b61074a848484611305565b949350505050565b600654600160a060020a0390811691161490565b60025460ff1681565b6000808083116107ef576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e20616d6f756e7420746f206275726e206d757374206265206c617260448201527f676572207468616e203000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50336107fa81610cdd565b831115610877576040805160e560020a62461bcd02815260206004820152602360248201527f596f752063616e6e6f74206275726e20746f6b656e20796f7520646f6e74206860448201527f6176650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381166000908152600460205260409020546108a0908463ffffffff61131c16565b600160a060020a0382166000908152600460205260409020556003546108cc908463ffffffff61131c16565b60035550600192915050565b60006108e333610752565b1515600114610961576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600060085474010000000000000000000000000000000000000000900460ff16600181111561098c57fe5b146109e1576040805160e560020a62461bcd02815260206004820152601260248201527f52657175697265202166696e616c697a65640000000000000000000000000000604482015290519081900360640190fd5b6008805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768190600090a150600190565b336000908152600560209081526040808320600160a060020a038616845290915281205480831115610a9a57336000908152600560209081526040808320600160a060020a0388168452909152812055610acf565b610aaa818463ffffffff61131c16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000610b4033610752565b1515600114610bbe576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a0383811691161415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f52657175697265206e65774f70734164647265737320213d206f776e65720000604482015290519081900360640190fd5b600160a060020a038216301415610cab576040805160e560020a62461bcd02815260206004820152602660248201527f52657175697265206e65774f70734164647265737320213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060088054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b600854600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b60085460a860020a900460ff1681565b60008060085460a860020a900460ff166001811115610d9b57fe5b14610e16576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b610e1f336112d8565b15610e4257600654610e3b90600160a060020a03168484611305565b9050610608565b610e4c838361137c565b9392505050565b6000610e5e82610752565b806106085750610608826112d8565b60085474010000000000000000000000000000000000000000900460ff1681565b6000610e9933610752565b1515600114610f17576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610f9d576040805160e560020a62461bcd02815260206004820152602360248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2830290000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038216301415611024576040805160e560020a62461bcd02815260206004820152602660248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a038381169116141561108a576040805160e560020a62461bcd02815260206004820152601e60248201527f526571756972652070726f706f7365644f776e657220213d206f776e65720000604482015290519081900360640190fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60006110c733610e53565b151561111d576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546001919075ff000000000000000000000000000000000000000000191660a860020a83610697565b600754600160a060020a031681565b336000908152600560209081526040808320600160a060020a038616845290915281205461118c908363ffffffff61139216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600090600160a060020a031633146112a7576040805160e560020a62461bcd02815260206004820152602360248201527f52657175697265206d73672e73656e646572203d3d2070726f706f7365644f7760448201527f6e65720000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805473ffffffffffffffffffffffffffffffffffffffff199081163317909155600780549091169055600190565b600854600090600160a060020a031615801590610608575050600854600160a060020a0390811691161490565b600061131133846113ef565b61074a848484611527565b600081831015611376576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652061203e3d2062000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b600061138833846113ef565b610e4c83836117f0565b600082820183811015610e4c576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652072203e3d2061000000000000000000000000000000000000604482015290519081900360640190fd5b600160085474010000000000000000000000000000000000000000900460ff16600181111561141a57fe5b141561142557611523565b61142e81610752565b1561143857611523565b600854600160a060020a038281169116141561149e576040805160e560020a62461bcd02815260206004820152601860248201527f4f70732063616e6e6f74207265636965766520746f6b656e0000000000000000604482015290519081900360640190fd5b6114a782610e53565b1515611523576040805160e560020a62461bcd02815260206004820152603460248201527f52657175697265206973206f776e6572206f72206f707320616c6c6f7765642060448201527f746f20696e697469617465207472616e73666572000000000000000000000000606482015290519081900360840190fd5b5050565b600160a060020a038316600090815260046020526040812054821115611597576040805160e560020a62461bcd02815260206004820152601d60248201527f4f776e657260732062616c616e6365206973206e6f7420656e6f756768000000604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611612576040805160e560020a62461bcd02815260206004820181905260248201527f53656e646572607320616c6c6f77616e6365206973206e6f7420656e6f756768604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205482810111611683576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e20616d6f756e742076616c756520697320696e76616c6964000000604482015290519081900360640190fd5b600160a060020a03831615156116e3576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526004602052604090205461170c908363ffffffff61131c16565b600160a060020a038086166000908152600460205260408082209390935590851681522054611741908363ffffffff61139216565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054611785908363ffffffff61131c16565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b33600090815260046020526040812054821115611857576040805160e560020a62461bcd02815260206004820152601e60248201527f53656e64657260732062616c616e6365206973206e6f7420656e6f7567680000604482015290519081900360640190fd5b600160a060020a038316600090815260046020526040902054828101116118c8576040805160e560020a62461bcd02815260206004820152601060248201527f56616c756520697320696e76616c696400000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611928576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054611948908363ffffffff61131c16565b3360009081526004602052604080822092909255600160a060020a0385168152205461197a908363ffffffff61139216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001929150505600a165627a7a72305820f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d6144570029
Deployed Bytecode Sourcemap
11515:1871:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2275:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4656:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4656:218:0;-1:-1:-1;;;;;4656:218:0;;;;;;;;;;;;;;;;;;;;;;;;;13244:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13244:137:0;;;;2356:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2356:26:0;;;;;;;;;;;;;;;;;;;;12222:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12222:256:0;-1:-1:-1;;;;;12222:256:0;;;;;;;;;;;;6270:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6270:114:0;-1:-1:-1;;;;;6270:114:0;;;;;2328:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:21:0;;;;;;;;;;;;;;;;;;;;;;;12607:409;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12607:409:0;;;;;8718:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8718:242:0;;;;5435:464;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5435:464:0;-1:-1:-1;;;;;5435:464:0;;;;;;;7884:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7884:329:0;-1:-1:-1;;;;;7884:329:0;;;;;4379:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4379:115:0;-1:-1:-1;;;;;4379:115:0;;;;;5995:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5995:20:0;;;;;;;;-1:-1:-1;;;;;5995:20:0;;;;;;;;;;;;;;7355:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7355:25:0;;;;2301:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2301:20:0;;;;11641:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11641:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11880:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11880:334:0;-1:-1:-1;;;;;11880:334:0;;;;;;;7736:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7736:138:0;-1:-1:-1;;;;;7736:138:0;;;;;8484:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8484:30:0;;;;6394:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6394:429:0;-1:-1:-1;;;;;6394:429:0;;;;;13103:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13103:133:0;;;;6022:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6022:28:0;;;;5136:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5136:291:0;-1:-1:-1;;;;;5136:291:0;;;;;;;4504:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4504:144:0;-1:-1:-1;;;;;4504:144:0;;;;;;;;;;6833:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6833:253:0;;;;7581:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7581:145:0;-1:-1:-1;;;;;7581:145:0;;;;;2275:19;;;;;;;;;;;;;;;-1:-1:-1;;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4656:218::-;4756:10;4723:12;4748:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4748:29:0;;;;;;;;;;;:38;;;4804;;;;;;;4723:12;;4748:29;;4756:10;;4804:38;;;;;;;;-1:-1:-1;4862:4:0;4656:218;;;;;:::o;13244:137::-;13300:12;7497:24;7510:10;7497:12;:24::i;:::-;7489:62;;;;;;;-1:-1:-1;;;;;7489:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13325:5;:26;;13333:18;;13325:5;-1:-1:-1;;13325:26:0;-1:-1:-1;;;13333:18:0;13325:26;;;;;;13369:4;13362:11;;13244:137;:::o;2356:26::-;;;;:::o;12222:256::-;12304:12;;12337:5;;-1:-1:-1;;;12337:5:0;;;;:27;;;;;;;;;12329:85;;;;;-1:-1:-1;;;;;12329:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12432:38;12451:5;12458:3;12463:6;12432:18;:38::i;:::-;12425:45;12222:256;-1:-1:-1;;;;12222:256:0:o;6270:114::-;6370:5;;-1:-1:-1;;;;;6370:5:0;;;6358:17;;;;6270:114::o;2328:21::-;;;;;;:::o;12607:409::-;12654:12;;12687:11;;;12679:66;;;;;-1:-1:-1;;;;;12679:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12776:10:0;12816:18;12776:10;12816:9;:18::i;:::-;12805:29;;;12797:77;;;;;-1:-1:-1;;;;;12797:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12907:17:0;;;;;;:8;:17;;;;;;:30;;12929:7;12907:30;:21;:30;:::i;:::-;-1:-1:-1;;;;;12887:17:0;;;;;;:8;:17;;;;;:50;12962:11;;:24;;12978:7;12962:24;:15;:24;:::i;:::-;12948:11;:38;-1:-1:-1;13004:4:0;;12607:409;-1:-1:-1;;12607:409:0:o;8718:242::-;8764:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8810:18;8797:9;;;;;;;:31;;;;;;;;;8789:62;;;;;-1:-1:-1;;;;;8789:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:9;:35;;-1:-1:-1;;8864:35:0;;;;;8917:11;;;;-1:-1:-1;;8917:11:0;-1:-1:-1;8948:4:0;8718:242;:::o;5435:464::-;5573:10;5521:12;5565:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5565:29:0;;;;;;;;;;5609:27;;;5605:188;;;5661:10;5685:1;5653:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5653:29:0;;;;;;;;;:33;5605:188;;;5751:30;:8;5764:16;5751:30;:12;:30;:::i;:::-;5727:10;5719:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5719:29:0;;;;;;;;;:62;5605:188;5817:10;5839:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5808:61:0;;5839:29;;;;;;;;;;;5808:61;;;;;;;;;5817:10;5808:61;;;;;;;;;;;-1:-1:-1;5887:4:0;;5435:464;-1:-1:-1;;;5435:464:0:o;7884:329::-;7957:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8008:5;;-1:-1:-1;;;;;7990:23:0;;;8008:5;;7990:23;;7982:66;;;;;-1:-1:-1;;;;;7982:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8067:31:0;;8093:4;8067:31;;8059:82;;;;;-1:-1:-1;;;;;8059:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8154:10:0;:27;;-1:-1:-1;;;;;8154:27:0;;-1:-1:-1;;8154:27:0;;;;;;;7884:329;;;:::o;4379:115::-;-1:-1:-1;;;;;4470:16:0;4435:15;4470:16;;;:8;:16;;;;;;;4379:115::o;5995:20::-;;;-1:-1:-1;;;;;5995:20:0;;:::o;7355:25::-;;;-1:-1:-1;;;;;7355:25:0;;:::o;2301:20::-;;;;;;;;;;;;;;;-1:-1:-1;;2301:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11641:22;;;-1:-1:-1;;;11641:22:0;;;;;:::o;11880:334::-;11943:12;;11976:5;;-1:-1:-1;;;11976:5:0;;;;:27;;;;;;;;;11968:85;;;;;-1:-1:-1;;;;;11968:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12069:17;12075:10;12069:5;:17::i;:::-;12066:94;;;12129:5;;12110:38;;-1:-1:-1;;;;;12129:5:0;12136:3;12141:6;12110:18;:38::i;:::-;12103:45;;;;12066:94;12179:27;12194:3;12199:6;12179:14;:27::i;:::-;12172:34;11880:334;-1:-1:-1;;;11880:334:0:o;7736:138::-;7797:11;7829:17;7837:8;7829:7;:17::i;:::-;:36;;;;7850:15;7856:8;7850:5;:15::i;8484:30::-;;;;;;;;;:::o;6394:429::-;6479:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6512:28:0;;;;6504:76;;;;;-1:-1:-1;;;;;6504:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6599:31:0;;6625:4;6599:31;;6591:82;;;;;-1:-1:-1;;;;;6591:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6710:5;;-1:-1:-1;;;;;6692:23:0;;;6710:5;;6692:23;;6684:66;;;;;-1:-1:-1;;;;;6684:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6763:13:0;:30;;-1:-1:-1;;;;;6763:30:0;;-1:-1:-1;;6763:30:0;;;;;;;6394:429;;;:::o;13103:133::-;13157:12;7497:24;7510:10;7497:12;:24::i;:::-;7489:62;;;;;;;-1:-1:-1;;;;;7489:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13182:5;:24;;13190:16;;13182:5;-1:-1:-1;;13182:24:0;-1:-1:-1;;;13190:16:0;13182:24;;6022:28;;;-1:-1:-1;;;;;6022:28:0;;:::o;5136:291::-;5282:10;5217:12;5274:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5274:29:0;;;;;;;;;;:46;;5308:11;5274:46;:33;:46;:::i;:::-;5250:10;5242:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5242:29:0;;;;;;;;;;;;:78;;;5336:61;;;;;;5242:29;;5336:61;;;;;;;;;;;-1:-1:-1;5415:4:0;5136:291;;;;:::o;4504:144::-;-1:-1:-1;;;;;4615:15:0;;;4578:17;4615:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;4504:144::o;6833:253::-;6933:13;;6886:12;;-1:-1:-1;;;;;6933:13:0;6919:10;:27;6911:75;;;;;-1:-1:-1;;;;;6911:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6999:5:0;:18;;-1:-1:-1;;6999:18:0;;;7007:10;6999:18;;;;7028:13;:26;;;;;;;6999:18;6833:253;:::o;7581:145::-;7667:10;;7635:11;;-1:-1:-1;;;;;7667:10:0;:24;;;;:50;;-1:-1:-1;;7707:10:0;;-1:-1:-1;;;;;7707:10:0;;;7695:22;;;;7581:145::o;9891:206::-;9973:12;9998:33;10015:10;10027:3;9998:16;:33::i;:::-;10051:38;10070:5;10077:3;10082:6;10051:18;:38::i;477:144::-;535:7;563:6;;;;555:33;;;;;-1:-1:-1;;;;;555:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;608:5:0;;;477:144::o;9705:176::-;9768:12;9793:33;9810:10;9822:3;9793:16;:33::i;:::-;9846:27;9861:3;9866:6;9846:14;:27::i;297:170::-;355:7;387:5;;;413:6;;;;405:33;;;;;-1:-1:-1;;;;;405:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:646;10277:23;10264:9;;;;;;;:36;;;;;;;;;10260:75;;;10317:7;;10260:75;10351:12;10359:3;10351:7;:12::i;:::-;10347:51;;;10380:7;;10347:51;10425:10;;-1:-1:-1;;;;;10418:17:0;;;10425:10;;10418:17;;10410:54;;;;;-1:-1:-1;;;;;10410:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10667:21;10680:7;10667:12;:21::i;:::-;10659:86;;;;;;;-1:-1:-1;;;;;10659:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:646;;:::o;3685:686::-;-1:-1:-1;;;;;3800:15:0;;3767:12;3800:15;;;:8;:15;;;;;;:25;-1:-1:-1;3800:25:0;3792:67;;;;;-1:-1:-1;;;;;3792:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3878:14:0;;;;;;:7;:14;;;;;;;;3893:10;3878:26;;;;;;;;:36;-1:-1:-1;3878:36:0;3870:81;;;;;-1:-1:-1;;;;;3870:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3995:13:0;;;;;;:8;:13;;;;;;3970:22;;;:38;3962:80;;;;;-1:-1:-1;;;;;3962:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4061:17:0;;;;4053:52;;;;;-1:-1:-1;;;;;4053:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4136:15:0;;;;;;:8;:15;;;;;;:27;;4156:6;4136:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4118:15:0;;;;;;;:8;:15;;;;;;:45;;;;4190:13;;;;;;;:25;;4208:6;4190:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4174:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;4255:14;;;;;:7;:14;;;;;4270:10;4255:26;;;;;;;:38;;4286:6;4255:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;4226:14:0;;;;;;;:7;:14;;;;;;;;4241:10;4226:26;;;;;;;;:67;;;;4311:28;;;;;;;;;;;4226:14;;4311:28;;;;;;;;;;;-1:-1:-1;4359:4:0;3685:686;;;;;:::o;3171:506::-;3277:10;3235:12;3268:20;;;:8;:20;;;;;;:30;-1:-1:-1;3268:30:0;3260:73;;;;;-1:-1:-1;;;;;3260:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3377:13:0;;;;;;:8;:13;;;;;;3352:22;;;:38;3344:67;;;;;-1:-1:-1;;;;;3344:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3430:17:0;;;;3422:52;;;;;-1:-1:-1;;;;;3422:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3519:10;3510:20;;;;:8;:20;;;;;;:32;;3535:6;3510:32;:24;:32;:::i;:::-;3496:10;3487:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;3569:13:0;;;;;;:25;;3587:6;3569:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3553:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;3612:33;;;;;;;3553:13;;3621:10;;3612:33;;;;;;;;;;-1:-1:-1;3665:4:0;3171:506;;;;:::o
Swarm Source
bzzr://f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d614457
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.