Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
20,000 FRXT3
Holders
4
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
10,500 FRXT3Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FREXATestToken3
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.4.4; import "./Whitelist.sol"; //standard ERC20 implementation contract ERC20 { /// @return total amount of tokens function totalSupply() constant returns (uint256 supply) {} /// @param _owner The address from which the balance will be retrieved /// @return The balance function balanceOf(address _owner) constant returns (uint256 balance) {} /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _value) returns (bool success) {} /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {} /// @notice `msg.sender` approves `_addr` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of wei to be approved for transfer /// @return Whether the approval was successful or not function approve(address _spender, uint256 _value) returns (bool success) {} /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address _owner, address _spender) constant returns (uint256 remaining) {} event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract StandardToken is ERC20 { function transfer(address _to, uint256 _value) returns (bool success) { //Default assumes totalSupply can't be over max (2^256 - 1). //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap. //Replace the if with this one instead. //if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) { if (balances[msg.sender] >= _value && _value > 0) { balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } else { return false; } } function transferFrom(address _from, address _to, uint256 _value) returns (bool success) { //same as above. Replace this line with the following if you want to protect against wrapping uints. if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) { //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) { balances[_to] += _value; balances[_from] -= _value; allowed[_from][msg.sender] -= _value; Transfer(_from, _to, _value); return true; } else { return false; } } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function approve(address _spender, uint256 _value) returns (bool success) { 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]; } mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; uint256 public totalSupply; } //extend ERC20 with ERC1404 standard contract ERC1404 is ERC20 { /// @notice Detects if a transfer will be reverted and if so returns an appropriate reference code /// @param from Sending address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Code by which to reference message for rejection reasoning /// @dev Overwrite with your custom transfer restriction logic function detectTransferRestriction (address from, address to, uint256 value) public view returns (uint8); /// @notice Returns a human-readable message for a given restriction code /// @param restrictionCode Identifier for looking up a message /// @return Text showing the restriction's reasoning /// @dev Overwrite with your custom message and restrictionCode handling function messageForTransferRestriction (uint8 restrictionCode) public view returns (string); } //begin ERC-1404 Custom Implementation /** * An `ERC20` compatible token that that posits a standardized interface * for issuing tokens with transfer restrictions. * * Implementation Details. * * An implementation of this token standard SHOULD provide the following: * * `name` - for use by wallets and exchanges. * `symbol` - for use by wallets and exchanges. * `decimals` - for use by wallets and exchanges * `totalSupply` - for use by wallets and exchanges * * The implementation MUST take care to implement desired * transfer restriction logic correctly. */ /// @title Reference implementation for the ERC-1404 token /// @notice This implementation has a transfer restriction that prevents token holders from sending to the zero address /// @dev Ref https://github.com/ethereum/EIPs/pull/SRS contract ERC1404CustomImpl is ERC1404, StandardToken, Whitelist { /// @notice Restriction codes and messages as constant variables /// @dev Holding restriction codes and messages as constants is not required by the standard string public constant UNKNOWN_MESSAGE = "UNKNOWN"; uint8 public constant SUCCESS_CODE = 0; string public constant SUCCESS_MESSAGE = "SUCCESS"; uint8 public constant ZERO_ADDRESS_RESTRICTION_CODE = 1; string public constant ZERO_ADDRESS_RESTRICTION_MESSAGE = "ILLEGAL_TRANSFER_TO_ZERO_ADDRESS"; uint8 public constant SEND_NOT_ALLOWED_CODE = 2; string public constant SEND_NOT_ALLOWED_MESSAGE = "ILLEGAL_TRANSFER_SENDING_ACCOUNT_NOT_WHITELISTED"; uint8 public constant RECEIVE_NOT_ALLOWED_CODE = 3; string public constant RECEIVE_NOT_ALLOWED_MESSAGE = "ILLEGAL_TRANSFER_RECEIVING_ACCOUNT_NOT_WHITELISTED"; /// @notice Checks if a transfer is restricted, reverts if it is /// @param from Sending address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @dev Defining this modifier is not required by the standard, using detectTransferRestriction and appropriately emitting TransferRestricted is however modifier notRestricted (address from, address to, uint256 value) { uint8 restrictionCode = detectTransferRestriction(from, to, value); require(restrictionCode == SUCCESS_CODE, messageForTransferRestriction(restrictionCode)); _; } /// @notice Detects if a transfer will be reverted and if so returns an appropriate reference code /// @param from Sending address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Code by which to reference message for rejection reasoning /// @dev Overwrite with your custom transfer restriction logic function detectTransferRestriction (address from, address to, uint256 value) public view returns (uint8 restrictionCode) { restrictionCode = SUCCESS_CODE; // successful transfer if (to == address(0x0)) { restrictionCode = ZERO_ADDRESS_RESTRICTION_CODE; // illegal transfer to zero address } else if (!whitelist[from]) { restrictionCode = SEND_NOT_ALLOWED_CODE; // sender address not whitelisted } else if (!whitelist[to]) { restrictionCode = RECEIVE_NOT_ALLOWED_CODE; // receiver address not whitelisted } } /// @notice Returns a human-readable message for a given restriction code /// @param restrictionCode Identifier for looking up a message /// @return Text showing the restriction's reasoning /// @dev Overwrite with your custom message and restrictionCode handling function messageForTransferRestriction (uint8 restrictionCode) public view returns (string message) { message = UNKNOWN_MESSAGE; if (restrictionCode == SUCCESS_CODE) { message = SUCCESS_MESSAGE; } else if (restrictionCode == ZERO_ADDRESS_RESTRICTION_CODE) { message = ZERO_ADDRESS_RESTRICTION_MESSAGE; } else if (restrictionCode == SEND_NOT_ALLOWED_CODE) { message = SEND_NOT_ALLOWED_MESSAGE; } else if (restrictionCode == RECEIVE_NOT_ALLOWED_CODE) { message = RECEIVE_NOT_ALLOWED_MESSAGE; } } /// @notice Subclass implementation of StandardToken's ERC20 transfer method /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Transfer success status /// @dev Must compare the return value of detectTransferRestriction to 0 function transfer (address to, uint256 value) public notRestricted(msg.sender, to, value) returns (bool) { return super.transfer(to, value); } /// @notice Subclass implementation of StandardToken's ERC20 transferFrom method /// @param from Sending address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Transfer success status /// @dev Must compare the return value of detectTransferRestriction to 0 function transferFrom (address from, address to, uint256 value) public notRestricted(from, to, value) returns (bool) { return super.transferFrom(from, to, value); } } //name this contract whatever you'd like contract FREXATestToken3 is ERC1404CustomImpl { function () { //if ether is sent to this address, send it back. throw; } /* Public variables of the token */ /* NOTE: The following variables are OPTIONAL vanities. One does not have to include them. They allow one to customise the token contract & in no way influences the core functionality. Some wallets/interfaces might not even bother to look at this information. */ string public name; //fancy name: eg Simon Bucks uint8 public decimals; //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether. string public symbol; //An identifier: eg SBX string public version = 'H1.3.0'; //human 0.1 standard. Just an arbitrary versioning scheme. // // CHANGE THESE VALUES FOR YOUR TOKEN // //make sure this function name matches the contract name above. So if you're token is called TutorialToken, make sure the //contract name above is also TutorialToken instead of ERC20Token function FREXATestToken3( ) { balances[msg.sender] = 20000; // Give the creator all initial tokens (100000 for example) totalSupply = 20000; // Update total supply (100000 for example) name = "FREXA ERC-1404 Test3"; // Set the name for display purposes decimals = 0; // Amount of decimals for display purposes symbol = "FRXT3"; // Set the symbol for display purposes addAddressToWhitelist(msg.sender); } /* Approves and then calls the receiving contract */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); //call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this. //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData) //it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead. if(!_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) { throw; } return true; } }
pragma solidity ^0.4.21; /** * @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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { 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) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } }
pragma solidity ^0.4.21; import "./Ownable.sol"; /** * @title Whitelist * @dev The Whitelist contract has a whitelist of addresses, and provides basic authorization control functions. * @dev This simplifies the implementation of "user permissions". */ contract Whitelist is Ownable { mapping(address => bool) public whitelist; event WhitelistedAddressAdded(address addr); event WhitelistedAddressRemoved(address addr); /** * @dev Throws if called by any account that's not whitelisted. */ modifier onlyWhitelisted() { require(whitelist[msg.sender]); _; } /** * @dev check if an address is on the whitelist * @param addr address * @return true if the address was on the whitelist, false if the address was not in the whitelist */ /** function isWhitelisted(address addr) public returns(bool onWhitelist) { onWhitelist = whitelist[addr]; } */ /** * @dev add an address to the whitelist * @param addr address * @return true if the address was added to the whitelist, false if the address was already in the whitelist */ function addAddressToWhitelist(address addr) onlyOwner public returns(bool success) { if (!whitelist[addr]) { whitelist[addr] = true; emit WhitelistedAddressAdded(addr); success = true; } } /** * @dev add addresses to the whitelist * @param addrs addresses * @return true if at least one address was added to the whitelist, * false if all addresses were already in the whitelist */ function addAddressesToWhitelist(address[] addrs) onlyOwner public returns(bool success) { for (uint256 i = 0; i < addrs.length; i++) { if (addAddressToWhitelist(addrs[i])) { success = true; } } } /** * @dev remove an address from the whitelist * @param addr address * @return true if the address was removed from the whitelist, * false if the address wasn't in the whitelist in the first place */ function removeAddressFromWhitelist(address addr) onlyOwner public returns(bool success) { if (whitelist[addr]) { whitelist[addr] = false; emit WhitelistedAddressRemoved(addr); success = true; } } /** * @dev remove addresses from the whitelist * @param addrs addresses * @return true if at least one address was removed from the whitelist, * false if all addresses weren't in the whitelist in the first place */ function removeAddressesFromWhitelist(address[] addrs) onlyOwner public returns(bool success) { for (uint256 i = 0; i < addrs.length; i++) { if (removeAddressFromWhitelist(addrs[i])) { success = 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":true,"inputs":[],"name":"SUCCESS_CODE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RECEIVE_NOT_ALLOWED_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SEND_NOT_ALLOWED_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ZERO_ADDRESS_RESTRICTION_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SEND_NOT_ALLOWED_CODE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"addAddressToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"restrictionCode","type":"uint8"}],"name":"messageForTransferRestriction","outputs":[{"name":"message","type":"string"}],"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":"ZERO_ADDRESS_RESTRICTION_CODE","outputs":[{"name":"","type":"uint8"}],"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":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"RECEIVE_NOT_ALLOWED_CODE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNKNOWN_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"detectTransferRestriction","outputs":[{"name":"restrictionCode","type":"uint8"}],"payable":false,"stateMutability":"view","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":"addrs","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SUCCESS_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"WhitelistedAddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
60806040526040805190810160405280600681526020017f48312e332e300000000000000000000000000000000000000000000000000000815250600890805190602001906200005192919062000340565b503480156200005f57600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614e206000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614e206002819055506040805190810160405280601481526020017f4652455841204552432d31343034205465737433000000000000000000000000815250600590805190602001906200013c92919062000340565b506000600660006101000a81548160ff021916908360ff1602179055506040805190810160405280600581526020017f465258543300000000000000000000000000000000000000000000000000000081525060079080519060200190620001a692919062000340565b50620001c133620001c8640100000000026401000000009004565b50620003ef565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200022757600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156200033b576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200038357805160ff1916838001178555620003b4565b82800160010185558215620003b4579182015b82811115620003b357825182559160200191906001019062000396565b5b509050620003c39190620003c7565b5090565b620003ec91905b80821115620003e8576000816000905550600101620003ce565b5090565b90565b61248580620003ff6000396000f300608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610187578063095ea7b3146102175780630e969a051461027c57806318160ddd146102ad57806323b872dd146102d857806324953eaa1461035d578063286dd3f5146103db578063313ce567146104365780634f8c89631461046757806350ec04c2146104f757806354fd4d5014610587578063572fb26c146106175780635c7c08b7146106a757806370a08231146106d85780637b9417c81461072f5780637f4ab1dd1461078a5780638da5cb5b146108335780639260c58c1461088a57806395d89b41146108bb5780639b19251a1461094b578063a9059cbb146109a6578063b588844414610a0b578063ba0cf30414610a3c578063cae9ca5114610acc578063d4ce141514610b77578063dd62ed3e14610bfe578063e2ec6ec314610c75578063e7984d1714610cf3578063f2fde38b14610d83575b34801561018157600080fd5b50600080fd5b34801561019357600080fd5b5061019c610dc6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101dc5780820151818401526020810190506101c1565b50505050905090810190601f1680156102095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022357600080fd5b50610262600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e64565b604051808215151515815260200191505060405180910390f35b34801561028857600080fd5b50610291610f56565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102b957600080fd5b506102c2610f5b565b6040518082815260200191505060405180910390f35b3480156102e457600080fd5b50610343600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561036957600080fd5b506103c160048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611049565b604051808215151515815260200191505060405180910390f35b3480156103e757600080fd5b5061041c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f3565b604051808215151515815260200191505060405180910390f35b34801561044257600080fd5b5061044b611268565b604051808260ff1660ff16815260200191505060405180910390f35b34801561047357600080fd5b5061047c61127b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104bc5780820151818401526020810190506104a1565b50505050905090810190601f1680156104e95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050357600080fd5b5061050c6112db565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054c578082015181840152602081019050610531565b50505050905090810190601f1680156105795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059357600080fd5b5061059c61133b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105dc5780820151818401526020810190506105c1565b50505050905090810190601f1680156106095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062357600080fd5b5061062c6113d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066c578082015181840152602081019050610651565b50505050905090810190601f1680156106995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106b357600080fd5b506106bc611412565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e457600080fd5b50610719600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611417565b6040518082815260200191505060405180910390f35b34801561073b57600080fd5b50610770600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145f565b604051808215151515815260200191505060405180910390f35b34801561079657600080fd5b506107b8600480360381019080803560ff1690602001909291905050506115d5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f85780820151818401526020810190506107dd565b50505050905090810190601f1680156108255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083f57600080fd5b50610848611791565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561089657600080fd5b5061089f6117b7565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108c757600080fd5b506108d06117bc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109105780820151818401526020810190506108f5565b50505050905090810190601f16801561093d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561095757600080fd5b5061098c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185a565b604051808215151515815260200191505060405180910390f35b3480156109b257600080fd5b506109f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061187a565b604051808215151515815260200191505060405180910390f35b348015610a1757600080fd5b50610a20611960565b604051808260ff1660ff16815260200191505060405180910390f35b348015610a4857600080fd5b50610a51611965565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a91578082015181840152602081019050610a76565b50505050905090810190601f168015610abe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ad857600080fd5b50610b5d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b604051808215151515815260200191505060405180910390f35b348015610b8357600080fd5b50610be2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c3b565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c0a57600080fd5b50610c5f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d3b565b6040518082815260200191505060405180910390f35b348015610c8157600080fd5b50610cd960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611dc2565b604051808215151515815260200191505060405180910390f35b348015610cff57600080fd5b50610d08611e6c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d48578082015181840152602081019050610d2d565b50505050905090810190601f168015610d755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d8f57600080fd5b50610dc4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea5565b005b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600081565b60025481565b60008383836000610f73848484611c3b565b9050600060ff168160ff1614610f88826115d5565b901515611030576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff5578082015181840152602081019050610fda565b50505050905090810190601f1680156110225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061103c888888611ffd565b9450505050509392505050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110a857600080fd5b600090505b82518110156110ed576110d683828151811015156110c757fe5b906020019060200201516110f3565b156110e057600191505b80806001019150506110ad565b50919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115157600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611263576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b600660009054906101000a900460ff1681565b606060405190810160405280603281526020017f494c4c4547414c5f5452414e534645525f524543454956494e475f4143434f5581526020017f4e545f4e4f545f57484954454c4953544544000000000000000000000000000081525081565b606060405190810160405280603081526020017f494c4c4547414c5f5452414e534645525f53454e44494e475f4143434f554e5481526020017f5f4e4f545f57484954454c49535445440000000000000000000000000000000081525081565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113d15780601f106113a6576101008083540402835291602001916113d1565b820191906000526020600020905b8154815290600101906020018083116113b457829003601f168201915b505050505081565b6040805190810160405280602081526020017f494c4c4547414c5f5452414e534645525f544f5f5a45524f5f4144445245535381525081565b600281565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114bd57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156115d0576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b60606040805190810160405280600781526020017f554e4b4e4f574e000000000000000000000000000000000000000000000000008152509050600060ff168260ff16141561165b576040805190810160405280600781526020017f5355434345535300000000000000000000000000000000000000000000000000815250905061178c565b600160ff168260ff1614156116a7576040805190810160405280602081526020017f494c4c4547414c5f5452414e534645525f544f5f5a45524f5f41444452455353815250905061178b565b600260ff168260ff16141561171a57606060405190810160405280603081526020017f494c4c4547414c5f5452414e534645525f53454e44494e475f4143434f554e5481526020017f5f4e4f545f57484954454c495354454400000000000000000000000000000000815250905061178a565b600360ff168260ff16141561178957606060405190810160405280603281526020017f494c4c4547414c5f5452414e534645525f524543454956494e475f4143434f5581526020017f4e545f4e4f545f57484954454c4953544544000000000000000000000000000081525090505b5b5b5b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600181565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118525780601f1061182757610100808354040283529160200191611852565b820191906000526020600020905b81548152906001019060200180831161183557829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900460ff1681565b6000338383600061188c848484611c3b565b9050600060ff168160ff16146118a1826115d5565b901515611949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561190e5780820151818401526020810190506118f3565b50505050905090810190601f16801561193b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061195487876122f3565b94505050505092915050565b600381565b6040805190810160405280600781526020017f554e4b4e4f574e0000000000000000000000000000000000000000000000000081525081565b600082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015611bdf578082015181840152602081019050611bc4565b50505050905090810190601f168015611c0c5780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af1925050501515611c3057600080fd5b600190509392505050565b6000809050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c7e5760019050611d34565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611cda5760029050611d33565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3257600390505b5b5b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2157600080fd5b600090505b8251811015611e6657611e4f8382815181101515611e4057fe5b9060200190602002015161145f565b15611e5957600191505b8080600101915050611e26565b50919050565b6040805190810160405280600781526020017f535543434553530000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f3d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156120c9575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561215257506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156122e757816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506122ec565b600090505b9392505050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156123435750600082115b1561244e57816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612453565b600090505b929150505600a165627a7a723058202674453fa68c2f2f127a1a4daeede5c88bf0dc8535937e7bfe18e47d3d6b0c110029
Deployed Bytecode
0x608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610187578063095ea7b3146102175780630e969a051461027c57806318160ddd146102ad57806323b872dd146102d857806324953eaa1461035d578063286dd3f5146103db578063313ce567146104365780634f8c89631461046757806350ec04c2146104f757806354fd4d5014610587578063572fb26c146106175780635c7c08b7146106a757806370a08231146106d85780637b9417c81461072f5780637f4ab1dd1461078a5780638da5cb5b146108335780639260c58c1461088a57806395d89b41146108bb5780639b19251a1461094b578063a9059cbb146109a6578063b588844414610a0b578063ba0cf30414610a3c578063cae9ca5114610acc578063d4ce141514610b77578063dd62ed3e14610bfe578063e2ec6ec314610c75578063e7984d1714610cf3578063f2fde38b14610d83575b34801561018157600080fd5b50600080fd5b34801561019357600080fd5b5061019c610dc6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101dc5780820151818401526020810190506101c1565b50505050905090810190601f1680156102095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022357600080fd5b50610262600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e64565b604051808215151515815260200191505060405180910390f35b34801561028857600080fd5b50610291610f56565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102b957600080fd5b506102c2610f5b565b6040518082815260200191505060405180910390f35b3480156102e457600080fd5b50610343600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561036957600080fd5b506103c160048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611049565b604051808215151515815260200191505060405180910390f35b3480156103e757600080fd5b5061041c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f3565b604051808215151515815260200191505060405180910390f35b34801561044257600080fd5b5061044b611268565b604051808260ff1660ff16815260200191505060405180910390f35b34801561047357600080fd5b5061047c61127b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104bc5780820151818401526020810190506104a1565b50505050905090810190601f1680156104e95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050357600080fd5b5061050c6112db565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054c578082015181840152602081019050610531565b50505050905090810190601f1680156105795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059357600080fd5b5061059c61133b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105dc5780820151818401526020810190506105c1565b50505050905090810190601f1680156106095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062357600080fd5b5061062c6113d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066c578082015181840152602081019050610651565b50505050905090810190601f1680156106995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106b357600080fd5b506106bc611412565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e457600080fd5b50610719600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611417565b6040518082815260200191505060405180910390f35b34801561073b57600080fd5b50610770600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145f565b604051808215151515815260200191505060405180910390f35b34801561079657600080fd5b506107b8600480360381019080803560ff1690602001909291905050506115d5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f85780820151818401526020810190506107dd565b50505050905090810190601f1680156108255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083f57600080fd5b50610848611791565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561089657600080fd5b5061089f6117b7565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108c757600080fd5b506108d06117bc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109105780820151818401526020810190506108f5565b50505050905090810190601f16801561093d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561095757600080fd5b5061098c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185a565b604051808215151515815260200191505060405180910390f35b3480156109b257600080fd5b506109f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061187a565b604051808215151515815260200191505060405180910390f35b348015610a1757600080fd5b50610a20611960565b604051808260ff1660ff16815260200191505060405180910390f35b348015610a4857600080fd5b50610a51611965565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a91578082015181840152602081019050610a76565b50505050905090810190601f168015610abe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ad857600080fd5b50610b5d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b604051808215151515815260200191505060405180910390f35b348015610b8357600080fd5b50610be2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c3b565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c0a57600080fd5b50610c5f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d3b565b6040518082815260200191505060405180910390f35b348015610c8157600080fd5b50610cd960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611dc2565b604051808215151515815260200191505060405180910390f35b348015610cff57600080fd5b50610d08611e6c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d48578082015181840152602081019050610d2d565b50505050905090810190601f168015610d755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d8f57600080fd5b50610dc4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea5565b005b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600081565b60025481565b60008383836000610f73848484611c3b565b9050600060ff168160ff1614610f88826115d5565b901515611030576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff5578082015181840152602081019050610fda565b50505050905090810190601f1680156110225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061103c888888611ffd565b9450505050509392505050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110a857600080fd5b600090505b82518110156110ed576110d683828151811015156110c757fe5b906020019060200201516110f3565b156110e057600191505b80806001019150506110ad565b50919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115157600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611263576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b600660009054906101000a900460ff1681565b606060405190810160405280603281526020017f494c4c4547414c5f5452414e534645525f524543454956494e475f4143434f5581526020017f4e545f4e4f545f57484954454c4953544544000000000000000000000000000081525081565b606060405190810160405280603081526020017f494c4c4547414c5f5452414e534645525f53454e44494e475f4143434f554e5481526020017f5f4e4f545f57484954454c49535445440000000000000000000000000000000081525081565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113d15780601f106113a6576101008083540402835291602001916113d1565b820191906000526020600020905b8154815290600101906020018083116113b457829003601f168201915b505050505081565b6040805190810160405280602081526020017f494c4c4547414c5f5452414e534645525f544f5f5a45524f5f4144445245535381525081565b600281565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114bd57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156115d0576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600190505b919050565b60606040805190810160405280600781526020017f554e4b4e4f574e000000000000000000000000000000000000000000000000008152509050600060ff168260ff16141561165b576040805190810160405280600781526020017f5355434345535300000000000000000000000000000000000000000000000000815250905061178c565b600160ff168260ff1614156116a7576040805190810160405280602081526020017f494c4c4547414c5f5452414e534645525f544f5f5a45524f5f41444452455353815250905061178b565b600260ff168260ff16141561171a57606060405190810160405280603081526020017f494c4c4547414c5f5452414e534645525f53454e44494e475f4143434f554e5481526020017f5f4e4f545f57484954454c495354454400000000000000000000000000000000815250905061178a565b600360ff168260ff16141561178957606060405190810160405280603281526020017f494c4c4547414c5f5452414e534645525f524543454956494e475f4143434f5581526020017f4e545f4e4f545f57484954454c4953544544000000000000000000000000000081525090505b5b5b5b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600181565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118525780601f1061182757610100808354040283529160200191611852565b820191906000526020600020905b81548152906001019060200180831161183557829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900460ff1681565b6000338383600061188c848484611c3b565b9050600060ff168160ff16146118a1826115d5565b901515611949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561190e5780820151818401526020810190506118f3565b50505050905090810190601f16801561193b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061195487876122f3565b94505050505092915050565b600381565b6040805190810160405280600781526020017f554e4b4e4f574e0000000000000000000000000000000000000000000000000081525081565b600082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015611bdf578082015181840152602081019050611bc4565b50505050905090810190601f168015611c0c5780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af1925050501515611c3057600080fd5b600190509392505050565b6000809050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c7e5760019050611d34565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611cda5760029050611d33565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3257600390505b5b5b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2157600080fd5b600090505b8251811015611e6657611e4f8382815181101515611e4057fe5b9060200190602002015161145f565b15611e5957600191505b8080600101915050611e26565b50919050565b6040805190810160405280600781526020017f535543434553530000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f3d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156120c9575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561215257506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156122e757816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506122ec565b600090505b9392505050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156123435750600082115b1561244e57816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612453565b600090505b929150505600a165627a7a723058202674453fa68c2f2f127a1a4daeede5c88bf0dc8535937e7bfe18e47d3d6b0c110029
Deployed Bytecode Sourcemap
10041:2573:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10041:2573:0;10174:5;;;10520:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10520:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10520:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3415:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3415:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5932:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5932:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3868:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3868:26:0;;;;;;;;;;;;;;;;;;;;;;;9808:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9808:188:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2436:236:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2436:236:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1976:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1976:224:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10591:21:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10591:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6406:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6406:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6406:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6244:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6244:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6244:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10851:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10851:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10851:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6093:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6093:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6093:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6191:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6191:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3299:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3299:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1098:217:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1098:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8403:605:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8403:605:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8403:605:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:55:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10785:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10785:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10785:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;294:41:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;294:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9304:166:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9304:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6350:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6350:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5876;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5876:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5876:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11821:791;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11821:791:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7510:608;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7510:608:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3619:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3619:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1528:226:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1528:226:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5976:50:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5976:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5976:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:174:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;832:174:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;10520:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3415:198::-;3475:12;3531:6;3499:7;:19;3507:10;3499:19;;;;;;;;;;;;;;;:29;3519:8;3499:29;;;;;;;;;;;;;;;:38;;;;3568:8;3547:38;;3556:10;3547:38;;;3578:6;3547:38;;;;;;;;;;;;;;;;;;3602:4;3595:11;;3415:198;;;;:::o;5932:38::-;5969:1;5932:38;:::o;3868:26::-;;;;:::o;9808:188::-;9927:4;9901;9907:2;9911:5;6949:21;6973:42;6999:4;7005:2;7009:5;6973:25;:42::i;:::-;6949:66;;5969:1;7033:31;;:15;:31;;;7066:46;7096:15;7066:29;:46::i;:::-;7025:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7025:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9954:35;9973:4;9979:2;9983:5;9954:18;:35::i;:::-;9947:42;;9808:188;;;;;;;;;:::o;2436:236:2:-;2516:12;2541:9;653:5:1;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;2553:1:2;2541:13;;2536:132;2560:5;:12;2556:1;:16;2536:132;;;2591:36;2618:5;2624:1;2618:8;;;;;;;;;;;;;;;;;;2591:26;:36::i;:::-;2587:75;;;2649:4;2639:14;;2587:75;2574:3;;;;;;;2536:132;;;2436:236;;;;:::o;1976:224::-;2051:12;653:5:1;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;2075:9:2;:15;2085:4;2075:15;;;;;;;;;;;;;;;;;;;;;;;;;2071:125;;;2118:5;2100:9;:15;2110:4;2100:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;2136:31;2162:4;2136:31;;;;;;;;;;;;;;;;;;;;;;2185:4;2175:14;;2071:125;1976:224;;;:::o;10591:21:0:-;;;;;;;;;;;;;:::o;6406:105::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6244:100::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10851:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6093:92::-;;;;;;;;;;;;;;;;;;;;:::o;6191:47::-;6237:1;6191:47;:::o;3299:110::-;3352:15;3386:8;:16;3395:6;3386:16;;;;;;;;;;;;;;;;3379:23;;3299:110;;;:::o;1098:217:2:-;1168:12;653:5:1;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;1193:9:2;:15;1203:4;1193:15;;;;;;;;;;;;;;;;;;;;;;;;;1192:16;1188:123;;;1236:4;1218:9;:15;1228:4;1218:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;1253:29;1277:4;1253:29;;;;;;;;;;;;;;;;;;;;;;1300:4;1290:14;;1188:123;1098:217;;;:::o;8403:605:0:-;8495:14;8535:15;;;;;;;;;;;;;;;;;;8525:25;;5969:1;8564:31;;:15;:31;;;8560:442;;;8621:15;;;;;;;;;;;;;;;;;;8611:25;;8560:442;;;6086:1;8657:48;;:15;:48;;;8653:349;;;8731:32;;;;;;;;;;;;;;;;;;8721:42;;8653:349;;;6237:1;8784:40;;:15;:40;;;8780:222;;;8850:24;;;;;;;;;;;;;;;;;;;;;;;8840:34;;8780:222;;;6399:1;8895:43;;:15;:43;;;8891:111;;;8964:27;;;;;;;;;;;;;;;;;;;;;;;8954:37;;8891:111;8780:222;8653:349;8560:442;8403:605;;;:::o;238:20:1:-;;;;;;;;;;;;;:::o;6032:55:0:-;6086:1;6032:55;:::o;10785:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;294:41:2:-;;;;;;;;;;;;;;;;;;;;;;:::o;9304:166:0:-;9411:4;9379:10;9391:2;9395:5;6949:21;6973:42;6999:4;7005:2;7009:5;6973:25;:42::i;:::-;6949:66;;5969:1;7033:31;;:15;:31;;;7066:46;7096:15;7066:29;:46::i;:::-;7025:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7025:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9438:25;9453:2;9457:5;9438:14;:25::i;:::-;9431:32;;9304:166;;;;;;;;:::o;6350:50::-;6399:1;6350:50;:::o;5876:::-;;;;;;;;;;;;;;;;;;;;:::o;11821:791::-;11906:12;11962:6;11930:7;:19;11938:10;11930:19;;;;;;;;;;;;;;;:29;11950:8;11930:29;;;;;;;;;;;;;;;:38;;;;11999:8;11978:38;;11987:10;11978:38;;;12009:6;11978:38;;;;;;;;;;;;;;;;;;12449:8;:13;;12478:54;;;;;;;;;;;;;;;;;;;;;;;;12449:124;;;12536:10;12548:6;12556:4;12562:10;12449:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12449:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12448:125;12445:140;;;12577:5;;;12445:140;12601:4;12594:11;;11821:791;;;;;:::o;7510:608::-;7616:21;5969:1;7653:30;;7743:3;7729:18;;:2;:18;;;7725:387;;;6086:1;7763:47;;7725:387;;;7868:9;:15;7878:4;7868:15;;;;;;;;;;;;;;;;;;;;;;;;;7867:16;7863:249;;;6237:1;7899:39;;7863:249;;;7994:9;:13;8004:2;7994:13;;;;;;;;;;;;;;;;;;;;;;;;;7993:14;7989:123;;;6399:1;8023:42;;7989:123;7863:249;7725:387;7510:608;;;;;:::o;3619:137::-;3690:17;3724:7;:15;3732:6;3724:15;;;;;;;;;;;;;;;:25;3740:8;3724:25;;;;;;;;;;;;;;;;3717:32;;3619:137;;;;:::o;1528:226:2:-;1603:12;1628:9;653:5:1;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;1640:1:2;1628:13;;1623:127;1647:5;:12;1643:1;:16;1623:127;;;1678:31;1700:5;1706:1;1700:8;;;;;;;;;;;;;;;;;;1678:21;:31::i;:::-;1674:70;;;1731:4;1721:14;;1674:70;1661:3;;;;;;;1623:127;;;1528:226;;;;:::o;5976:50:0:-;;;;;;;;;;;;;;;;;;;;:::o;832:174:1:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;970:8;942:37;;963:5;;;;;;;;;;;942:37;;;;;;;;;;;;993:8;985:5;;:16;;;;;;;;;;;;;;;;;;832:174;:::o;2642:651:0:-;2717:12;2873:6;2854:8;:15;2863:5;2854:15;;;;;;;;;;;;;;;;:25;;:65;;;;;2913:6;2883:7;:14;2891:5;2883:14;;;;;;;;;;;;;;;:26;2898:10;2883:26;;;;;;;;;;;;;;;;:36;;2854:65;:107;;;;;2948:8;:13;2957:3;2948:13;;;;;;;;;;;;;;;;2939:6;2923:8;:13;2932:3;2923:13;;;;;;;;;;;;;;;;:22;:38;2854:107;2850:437;;;3091:6;3074:8;:13;3083:3;3074:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3130:6;3111:8;:15;3120:5;3111:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;3180:6;3150:7;:14;3158:5;3150:14;;;;;;;;;;;;;;;:26;3165:10;3150:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;3216:3;3200:28;;3209:5;3200:28;;;3221:6;3200:28;;;;;;;;;;;;;;;;;;3249:4;3242:11;;;;2850:437;3279:5;3272:12;;2642:651;;;;;;:::o;1978:658::-;2034:12;2421:6;2397:8;:20;2406:10;2397:20;;;;;;;;;;;;;;;;:30;;:44;;;;;2440:1;2431:6;:10;2397:44;2393:237;;;2481:6;2457:8;:20;2466:10;2457:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;2518:6;2501:8;:13;2510:3;2501:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2559:3;2538:33;;2547:10;2538:33;;;2564:6;2538:33;;;;;;;;;;;;;;;;;;2592:4;2585:11;;;;2393:237;2622:5;2615:12;;1978:658;;;;;:::o
Swarm Source
bzzr://2674453fa68c2f2f127a1a4daeede5c88bf0dc8535937e7bfe18e47d3d6b0c11
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.