Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Exchange
Overview
Max Total Supply
216,957,463.84772916 LGO
Holders
5,290 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
646.48764959 LGOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NewLGO
Compiler Version
v0.5.10+commit.5a6ea5b1
Optimization Enabled:
Yes with 100000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-10 */ pragma solidity ^0.5.0; /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev give an account access to this role */ function add(Role storage role, address account) internal { require(account != address(0)); require(!has(role, account)); role.bearer[account] = true; } /** * @dev remove an account's access to this role */ function remove(Role storage role, address account) internal { require(account != address(0)); require(has(role, account)); role.bearer[account] = false; } /** * @dev check if an account has this role * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0)); return role.bearer[account]; } } contract MinterRole { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(msg.sender); } modifier onlyMinter() { require(isMinter(msg.sender)); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(msg.sender); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md * Originally based on code by FirstBlood: * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol * * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for * all accounts just by listening to said events. Note that this isn't required by the specification, and other * compliant implementations may not do it. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; uint256 private _totalSupply; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) public view returns (uint256) { return _balances[owner]; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param owner address The address which owns the funds. * @param spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowed[owner][spender]; } /** * @dev Transfer token for a specified address * @param to The address to transfer to. * @param value The amount to be transferred. */ function transfer(address to, uint256 value) public returns (bool) { _transfer(msg.sender, to, value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public returns (bool) { require(spender != address(0)); _allowed[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } /** * @dev Transfer tokens from one address to another. * Note that while this function emits an Approval event, this is not required as per the specification, * and other compliant implementations may not emit the event. * @param from address The address which you want to send tokens from * @param to address The address which you want to transfer to * @param value uint256 the amount of tokens to be transferred */ function transferFrom(address from, address to, uint256 value) public returns (bool) { _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value); _transfer(from, to, value); emit Approval(from, msg.sender, _allowed[from][msg.sender]); return true; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * 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 * Emits an Approval event. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { require(spender != address(0)); _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue); emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed_[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * Emits an Approval event. * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { require(spender != address(0)); _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue); emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); return true; } /** * @dev Transfer token for a specified addresses * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } /** * @dev Internal function that mints an amount of the token and assigns it to * an account. This encapsulates the modification of balances such that the * proper events are emitted. * @param account The account that will receive the created tokens. * @param value The amount that will be created. */ function _mint(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); } /** * @dev Internal function that burns an amount of the token of a given * account. * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burn(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Internal function that burns an amount of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * Emits an Approval event (reflecting the reduced allowance). * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burnFrom(address account, uint256 value) internal { _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(value); _burn(account, value); emit Approval(account, msg.sender, _allowed[account][msg.sender]); } } /** * @title ERC20Detailed token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } /** * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } } /** * @title ERC20Mintable * @dev ERC20 minting logic */ contract ERC20Mintable is ERC20, MinterRole { /** * @dev Function to mint tokens * @param to The address that will receive the minted tokens. * @param value The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address to, uint256 value) public onlyMinter returns (bool) { _mint(to, value); return true; } } /** * @title Burnable Token * @dev Token that can be irreversibly burned (destroyed). */ contract ERC20Burnable is ERC20 { /** * @dev Burns a specific amount of tokens. * @param value The amount of token to be burned. */ function burn(uint256 value) public { _burn(msg.sender, value); } /** * @dev Burns a specific amount of tokens from the target address and decrements allowance * @param from address The address which you want to send tokens from * @param value uint256 The amount of token to be burned */ function burnFrom(address from, uint256 value) public { _burnFrom(from, value); } } /** * @title New LGO contract * @dev ERC20 with bulk minting function restricted to minter role, bulk transferring and burn function */ contract NewLGO is ERC20, ERC20Detailed, ERC20Mintable, ERC20Burnable { /** * [LGO Token CONSTRUCTOR] * @dev Deploy contract with name, symbol and decimal */ constructor() ERC20Detailed("LGO Token", "LGO", 8) public { } /** * @dev Public function that mints amounts of token and assigns it to * respective accounts * @param accounts The accounts that will receive the created tokens. * @param values The amounts that will be created (in the same order). */ function bulkMint(address[] memory accounts, uint256[] memory values) public { require(accounts.length == values.length, "Accounts array and values array don't have the same length"); for (uint i = 0; i<accounts.length; i++) { mint(accounts[i], values[i]); } } /** * @dev Public function that transfers amounts of token to * respective accounts * @param accounts The accounts that will receive the tokens. * @param values The amounts that will be sent (in the same order). */ function bulkTransfer(address[] memory accounts, uint256[] memory values) public { require(accounts.length == values.length, "Accounts array and values array don't have the same length"); for (uint i = 0; i<accounts.length; i++) { transfer(accounts[i], values[i]); } } }
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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"bulkMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","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
60806040523480156200001157600080fd5b506040518060400160405280600981526020017f4c474f20546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4c474f00000000000000000000000000000000000000000000000000000000008152506008826003908051906020019062000098929190620001b8565b508151620000ae906004906020850190620001b8565b506005805460ff191660ff9290921691909117905550620000d1905033620000d7565b6200025d565b620000f28160066200012960201b620011e61790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6001600160a01b0381166200013d57600080fd5b6200015282826001600160e01b036200018216565b156200015d57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166200019857600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001fb57805160ff19168380011785556200022b565b828001600101855582156200022b579182015b828111156200022b5782518255916020019190600101906200020e565b50620002399291506200023d565b5090565b6200025a91905b8082111562000239576000815560010162000244565b90565b611359806200026d6000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80636ae459bd116100cd5780639865027511610081578063a9059cbb11610066578063a9059cbb14610662578063aa271e1a1461069b578063dd62ed3e146106ce57610151565b80639865027514610621578063a457c2d71461062957610151565b806379cc6790116100b257806379cc6790146105ad57806395d89b41146105e6578063983b2d56146105ee57610151565b80636ae459bd1461045357806370a082311461057a57610151565b806323b872dd11610124578063395093511161010957806339509351146103c457806340c10f19146103fd57806342966c681461043657610151565b806323b872dd14610363578063313ce567146103a657610151565b806306fdde0314610156578063095ea7b3146101d3578063153a1f3e1461022057806318160ddd14610349575b600080fd5b61015e610709565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610198578181015183820152602001610180565b50505050905090810190601f1680156101c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c600480360360408110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356107bd565b604080519115158252519081900360200190f35b6103476004803603604081101561023657600080fd5b81019060208101813564010000000081111561025157600080fd5b82018360208201111561026357600080fd5b8035906020019184602083028401116401000000008311171561028557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102d557600080fd5b8201836020820111156102e757600080fd5b8035906020019184602083028401116401000000008311171561030957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610853945050505050565b005b6103516108f7565b60408051918252519081900360200190f35b61020c6004803603606081101561037957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356108fd565b6103ae6109ed565b6040805160ff9092168252519081900360200190f35b61020c600480360360408110156103da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109f6565b61020c6004803603604081101561041357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610acb565b6103476004803603602081101561044c57600080fd5b5035610af2565b6103476004803603604081101561046957600080fd5b81019060208101813564010000000081111561048457600080fd5b82018360208201111561049657600080fd5b803590602001918460208302840111640100000000831117156104b857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561050857600080fd5b82018360208201111561051a57600080fd5b8035906020019184602083028401116401000000008311171561053c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aff945050505050565b6103516004803603602081101561059057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b9e565b610347600480360360408110156105c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610bc6565b61015e610bd4565b6103476004803603602081101561060457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c53565b610347610c6e565b61020c6004803603604081101561063f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c79565b61020c6004803603604081101561067857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610cdc565b61020c600480360360208110156106b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ce9565b610351600480360360408110156106e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d02565b60038054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905090565b600073ffffffffffffffffffffffffffffffffffffffff83166107df57600080fd5b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b80518251146108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806112eb603a913960400191505060405180910390fd5b60005b82518110156108f2576108e98382815181106108c857fe5b60200260200101518383815181106108dc57fe5b6020026020010151610cdc565b506001016108b0565b505050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832033845290915281205461093e908363ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205561097a848484610d4f565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60055460ff1690565b600073ffffffffffffffffffffffffffffffffffffffff8316610a1857600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610a59908363ffffffff610e4e16565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000610ad633610ce9565b610adf57600080fd5b610ae98383610e67565b50600192915050565b610afc3382610f36565b50565b8051825114610b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806112eb603a913960400191505060405180910390fd5b60005b82518110156108f257610b95838281518110610b7457fe5b6020026020010151838381518110610b8857fe5b6020026020010151610acb565b50600101610b5c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610bd08282611004565b5050565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107b35780601f10610788576101008083540402835291602001916107b3565b610c5c33610ce9565b610c6557600080fd5b610afc816110ed565b610c7733611142565b565b600073ffffffffffffffffffffffffffffffffffffffff8316610c9b57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610a59908363ffffffff610d3a16565b6000610ae9338484610d4f565b6000610cfc60068363ffffffff61119716565b92915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600082821115610d4957600080fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff8216610d6f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054610da5908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054610de7908263ffffffff610e4e16565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610e6057600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216610e8757600080fd5b600254610e9a908263ffffffff610e4e16565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054610ed3908263ffffffff610e4e16565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610f5657600080fd5b600254610f69908263ffffffff610d3a16565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054610fa2908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160209081526040808320338452909152902054611045908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602090815260408083203384529091529020556110808282610f36565b73ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b6110fe60068263ffffffff6111e616565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61115360068263ffffffff61126a16565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b600073ffffffffffffffffffffffffffffffffffffffff82166111b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b73ffffffffffffffffffffffffffffffffffffffff811661120657600080fd5b6112108282611197565b1561121a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff811661128a57600080fd5b6112948282611197565b61129d57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905556fe4163636f756e747320617272617920616e642076616c75657320617272617920646f6e27742068617665207468652073616d65206c656e677468a265627a7a72305820898281510f2540b52fce958a581aeacd93c6b6f21930cacd4bb07c7f113e4b1264736f6c634300050a0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101515760003560e01c80636ae459bd116100cd5780639865027511610081578063a9059cbb11610066578063a9059cbb14610662578063aa271e1a1461069b578063dd62ed3e146106ce57610151565b80639865027514610621578063a457c2d71461062957610151565b806379cc6790116100b257806379cc6790146105ad57806395d89b41146105e6578063983b2d56146105ee57610151565b80636ae459bd1461045357806370a082311461057a57610151565b806323b872dd11610124578063395093511161010957806339509351146103c457806340c10f19146103fd57806342966c681461043657610151565b806323b872dd14610363578063313ce567146103a657610151565b806306fdde0314610156578063095ea7b3146101d3578063153a1f3e1461022057806318160ddd14610349575b600080fd5b61015e610709565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610198578181015183820152602001610180565b50505050905090810190601f1680156101c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c600480360360408110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356107bd565b604080519115158252519081900360200190f35b6103476004803603604081101561023657600080fd5b81019060208101813564010000000081111561025157600080fd5b82018360208201111561026357600080fd5b8035906020019184602083028401116401000000008311171561028557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102d557600080fd5b8201836020820111156102e757600080fd5b8035906020019184602083028401116401000000008311171561030957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610853945050505050565b005b6103516108f7565b60408051918252519081900360200190f35b61020c6004803603606081101561037957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356108fd565b6103ae6109ed565b6040805160ff9092168252519081900360200190f35b61020c600480360360408110156103da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109f6565b61020c6004803603604081101561041357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610acb565b6103476004803603602081101561044c57600080fd5b5035610af2565b6103476004803603604081101561046957600080fd5b81019060208101813564010000000081111561048457600080fd5b82018360208201111561049657600080fd5b803590602001918460208302840111640100000000831117156104b857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561050857600080fd5b82018360208201111561051a57600080fd5b8035906020019184602083028401116401000000008311171561053c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aff945050505050565b6103516004803603602081101561059057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b9e565b610347600480360360408110156105c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610bc6565b61015e610bd4565b6103476004803603602081101561060457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c53565b610347610c6e565b61020c6004803603604081101561063f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c79565b61020c6004803603604081101561067857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610cdc565b61020c600480360360208110156106b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ce9565b610351600480360360408110156106e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d02565b60038054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905090565b600073ffffffffffffffffffffffffffffffffffffffff83166107df57600080fd5b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b80518251146108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806112eb603a913960400191505060405180910390fd5b60005b82518110156108f2576108e98382815181106108c857fe5b60200260200101518383815181106108dc57fe5b6020026020010151610cdc565b506001016108b0565b505050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832033845290915281205461093e908363ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205561097a848484610d4f565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60055460ff1690565b600073ffffffffffffffffffffffffffffffffffffffff8316610a1857600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610a59908363ffffffff610e4e16565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000610ad633610ce9565b610adf57600080fd5b610ae98383610e67565b50600192915050565b610afc3382610f36565b50565b8051825114610b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806112eb603a913960400191505060405180910390fd5b60005b82518110156108f257610b95838281518110610b7457fe5b6020026020010151838381518110610b8857fe5b6020026020010151610acb565b50600101610b5c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610bd08282611004565b5050565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107b35780601f10610788576101008083540402835291602001916107b3565b610c5c33610ce9565b610c6557600080fd5b610afc816110ed565b610c7733611142565b565b600073ffffffffffffffffffffffffffffffffffffffff8316610c9b57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610a59908363ffffffff610d3a16565b6000610ae9338484610d4f565b6000610cfc60068363ffffffff61119716565b92915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600082821115610d4957600080fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff8216610d6f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054610da5908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054610de7908263ffffffff610e4e16565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610e6057600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216610e8757600080fd5b600254610e9a908263ffffffff610e4e16565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054610ed3908263ffffffff610e4e16565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610f5657600080fd5b600254610f69908263ffffffff610d3a16565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054610fa2908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160209081526040808320338452909152902054611045908263ffffffff610d3a16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602090815260408083203384529091529020556110808282610f36565b73ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b6110fe60068263ffffffff6111e616565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61115360068263ffffffff61126a16565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b600073ffffffffffffffffffffffffffffffffffffffff82166111b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b73ffffffffffffffffffffffffffffffffffffffff811661120657600080fd5b6112108282611197565b1561121a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff811661128a57600080fd5b6112948282611197565b61129d57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905556fe4163636f756e747320617272617920616e642076616c75657320617272617920646f6e27742068617665207468652073616d65206c656e677468a265627a7a72305820898281510f2540b52fce958a581aeacd93c6b6f21930cacd4bb07c7f113e4b1264736f6c634300050a0032
Deployed Bytecode Sourcemap
14667:1349:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14667:1349:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12903:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12903:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7316:244;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7316:244:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;15706:305;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15706:305:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;15706:305:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15706:305:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;15706:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15706:305:0;;;;;;;;-1:-1:-1;15706:305:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;15706:305:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15706:305:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;15706:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15706:305:0;;-1:-1:-1;15706:305:0;;-1:-1:-1;;;;;15706:305:0:i;:::-;;5475:91;;;:::i;:::-;;;;;;;;;;;;;;;;8033:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8033:299:0;;;;;;;;;;;;;;;;;;:::i;13219:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8847:323;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8847:323:0;;;;;;;;;:::i;13681:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13681:131:0;;;;;;;;;:::i;14083:79::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14083:79:0;;:::i;15170:297::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15170:297:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;15170:297:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15170:297:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;15170:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15170:297:0;;;;;;;;-1:-1:-1;15170:297:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;15170:297:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15170:297:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;15170:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15170:297:0;;-1:-1:-1;15170:297:0;;-1:-1:-1;;;;;15170:297:0:i;5782:106::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5782:106:0;;;;:::i;14421:95::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14421:95:0;;;;;;;;;:::i;13053:87::-;;;:::i;1479:92::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1479:92:0;;;;:::i;1579:77::-;;;:::i;9690:333::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9690:333:0;;;;;;;;;:::i;6529:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6529:140:0;;;;;;;;;:::i;1362:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1362:109:0;;;;:::i;6227:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6227:131:0;;;;;;;;;;;:::i;12903:83::-;12973:5;12966:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12940:13;;12966:12;;12973:5;;12966:12;;12973:5;12966:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12903:83;:::o;7316:244::-;7381:4;7406:21;;;7398:30;;;;;;7450:10;7441:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:37;;;7494:36;;;;;;;7441:29;;7450:10;7494:36;;;;;;;;;;;-1:-1:-1;7548:4:0;7316:244;;;;:::o;15706:305::-;15829:6;:13;15810:8;:15;:32;15802:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15919:6;15914:90;15933:8;:15;15931:1;:17;15914:90;;;15964:32;15973:8;15982:1;15973:11;;;;;;;;;;;;;;15986:6;15993:1;15986:9;;;;;;;;;;;;;;15964:8;:32::i;:::-;-1:-1:-1;15950:3:0;;15914:90;;;;15706:305;;:::o;5475:91::-;5546:12;;5475:91;:::o;8033:299::-;8158:14;;;8112:4;8158:14;;;:8;:14;;;;;;;;8173:10;8158:26;;;;;;;;:37;;8189:5;8158:37;:30;:37;:::i;:::-;8129:14;;;;;;;:8;:14;;;;;;;;8144:10;8129:26;;;;;;;:66;8206:26;8138:4;8222:2;8226:5;8206:9;:26::i;:::-;8248:54;;;8275:14;;;;:8;:14;;;;;;;;8263:10;8275:26;;;;;;;;;;;8248:54;;;;;;;8263:10;;8248:54;;;;;;;;;;;;-1:-1:-1;8320:4:0;8033:299;;;;;:::o;13219:83::-;13285:9;;;;13219:83;:::o;8847:323::-;8927:4;8952:21;;;8944:30;;;;;;9028:10;9019:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:45;;9053:10;9019:45;:33;:45;:::i;:::-;8996:10;8987:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:77;;;9080:60;;;;;;8987:29;;9080:60;;;;;;;;;;;-1:-1:-1;9158:4:0;8847:323;;;;:::o;13681:131::-;13749:4;1313:20;1322:10;1313:8;:20::i;:::-;1305:29;;;;;;13766:16;13772:2;13776:5;13766;:16::i;:::-;-1:-1:-1;13800:4:0;13681:131;;;;:::o;14083:79::-;14130:24;14136:10;14148:5;14130;:24::i;:::-;14083:79;:::o;15170:297::-;15289:6;:13;15270:8;:15;:32;15262:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15379:6;15374:86;15393:8;:15;15391:1;:17;15374:86;;;15424:28;15429:8;15438:1;15429:11;;;;;;;;;;;;;;15442:6;15449:1;15442:9;;;;;;;;;;;;;;15424:4;:28::i;:::-;-1:-1:-1;15410:3:0;;15374:86;;5782:106;5864:16;;5837:7;5864:16;;;;;;;;;;;;5782:106::o;14421:95::-;14486:22;14496:4;14502:5;14486:9;:22::i;:::-;14421:95;;:::o;13053:87::-;13125:7;13118:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13092:13;;13118:14;;13125:7;;13118:14;;13125:7;13118:14;;;;;;;;;;;;;;;;;;;;;;;;1479:92;1313:20;1322:10;1313:8;:20::i;:::-;1305:29;;;;;;1544:19;1555:7;1544:10;:19::i;1579:77::-;1623:25;1637:10;1623:13;:25::i;:::-;1579:77::o;9690:333::-;9775:4;9800:21;;;9792:30;;;;;;9876:10;9867:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:50;;9901:15;9867:50;:33;:50;:::i;6529:140::-;6590:4;6607:32;6617:10;6629:2;6633:5;6607:9;:32::i;1362:109::-;1418:4;1442:21;:8;1455:7;1442:21;:12;:21;:::i;:::-;1435:28;1362:109;-1:-1:-1;;1362:109:0:o;6227:131::-;6326:15;;;;6299:7;6326:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;6227:131::o;3921:150::-;3979:7;4012:1;4007;:6;;3999:15;;;;;;-1:-1:-1;4037:5:0;;;3921:150::o;10245:262::-;10333:16;;;10325:25;;;;;;10381:15;;;:9;:15;;;;;;;;;;;:26;;10401:5;10381:26;:19;:26;:::i;:::-;10363:15;;;;:9;:15;;;;;;;;;;;:44;;;;10434:13;;;;;;;:24;;10452:5;10434:24;:17;:24;:::i;:::-;10418:13;;;;:9;:13;;;;;;;;;;;;:40;;;;10474:25;;;;;;;10418:13;;10474:25;;;;;;;;;;;;;10245:262;;;:::o;4157:150::-;4215:7;4247:5;;;4271:6;;;;4263:15;;;;;;4298:1;4157:150;-1:-1:-1;;;4157:150:0:o;10859:269::-;10934:21;;;10926:30;;;;;;10984:12;;:23;;11001:5;10984:23;:16;:23;:::i;:::-;10969:12;:38;11039:18;;;:9;:18;;;;;;;;;;;:29;;11062:5;11039:29;:22;:29;:::i;:::-;11018:18;;;:9;:18;;;;;;;;;;;:50;;;;11084:36;;;;;;;11018:18;;:9;;11084:36;;;;;;;;;;10859:269;;:::o;11362:::-;11437:21;;;11429:30;;;;;;11487:12;;:23;;11504:5;11487:23;:16;:23;:::i;:::-;11472:12;:38;11542:18;;;:9;:18;;;;;;;;;;;:29;;11565:5;11542:29;:22;:29;:::i;:::-;11521:18;;;:9;:18;;;;;;;;;;;:50;;;;11587:36;;;;;;;11521:9;;11587:36;;;;;;;;;;;11362:269;;:::o;12030:259::-;12133:17;;;;;;;:8;:17;;;;;;;;12151:10;12133:29;;;;;;;;:40;;12167:5;12133:40;:33;:40;:::i;:::-;12101:17;;;;;;;:8;:17;;;;;;;;12119:10;12101:29;;;;;;;:72;12184:21;12110:7;12199:5;12184;:21::i;:::-;12221:60;;;12251:17;;;;:8;:17;;;;;;;;12239:10;12251:29;;;;;;;;;;;12221:60;;;;;;;12239:10;;12221:60;;;;;;;;;;;;12030:259;;:::o;1664:122::-;1721:21;:8;1734:7;1721:21;:12;:21;:::i;:::-;1758:20;;;;;;;;;;;1664:122;:::o;1794:130::-;1854:24;:8;1870:7;1854:24;:15;:24;:::i;:::-;1894:22;;;;;;;;;;;1794:130;:::o;821:165::-;893:4;918:21;;;910:30;;;;;;-1:-1:-1;958:20:0;;:11;:20;;;;;;;;;;;;;;;821:165::o;273:186::-;350:21;;;342:30;;;;;;392:18;396:4;402:7;392:3;:18::i;:::-;391:19;383:28;;;;;;424:20;;:11;:20;;;;;;;;;;;:27;;;;447:4;424:27;;;273:186::o;538:189::-;618:21;;;610:30;;;;;;659:18;663:4;669:7;659:3;:18::i;:::-;651:27;;;;;;691:20;;714:5;691:20;;;;;;;;;;;:28;;;;;;538:189::o
Swarm Source
bzzr://898281510f2540b52fce958a581aeacd93c6b6f21930cacd4bb07c7f113e4b12
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.