ERC-20
Overview
Max Total Supply
1,000,000,000,000 FLOPPY
Holders
3,360
Total Transfers
-
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Floppy
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2023-02-20 */ // File @openzeppelin/contracts/token/ERC20/[email protected] // SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: 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 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } pragma solidity ^0.8.0; /** * @dev Extension of {ERC20} that adds a cap to the supply of tokens. */ abstract contract ERC20Capped is ERC20 { uint256 private immutable _cap; /** * @dev Sets the value of the `cap`. This value is immutable, it can only be * set once during construction. */ constructor(uint256 cap_) { require(cap_ > 0, "ERC20Capped: cap is 0"); _cap = cap_; } /** * @dev Returns the cap on the token's total supply. */ function cap() public view virtual returns (uint256) { return _cap; } /** * @dev See {ERC20-_mint}. */ function _mint(address account, uint256 amount) internal virtual override { require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); super._mint(account, amount); } } pragma solidity ^0.8.0; contract Floppy is ERC20Capped { constructor() ERC20Capped(1_000_000_000_000 * 10 ** 18) ERC20("Floppy","FLOPPY") { _mint(msg.sender, 1_000_000_000_000 * 10 ** 18); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b506c0c9f2c9cd04674edea400000006040518060400160405280600681526020017f466c6f70707900000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f464c4f505059000000000000000000000000000000000000000000000000000081525081600390816200009d9190620005bc565b508060049081620000af9190620005bc565b50505060008111620000f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000ef9062000704565b60405180910390fd5b80608081815250505062000120336c0c9f2c9cd04674edea400000006200012660201b60201c565b620008a2565b62000136620001b760201b60201c565b816200014c620001c160201b620003541760201c565b62000158919062000755565b11156200019c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019390620007e0565b60405180910390fd5b620001b38282620001cb60201b620005f01760201c565b5050565b6000608051905090565b6000600254905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200023d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002349062000852565b60405180910390fd5b62000251600083836200033860201b60201c565b806002600082825462000265919062000755565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000318919062000885565b60405180910390a362000334600083836200033d60201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003c457607f821691505b602082108103620003da57620003d96200037c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000405565b62000450868362000405565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200049d62000497620004918462000468565b62000472565b62000468565b9050919050565b6000819050919050565b620004b9836200047c565b620004d1620004c882620004a4565b84845462000412565b825550505050565b600090565b620004e8620004d9565b620004f5818484620004ae565b505050565b5b818110156200051d5762000511600082620004de565b600181019050620004fb565b5050565b601f8211156200056c576200053681620003e0565b6200054184620003f5565b8101602085101562000551578190505b620005696200056085620003f5565b830182620004fa565b50505b505050565b600082821c905092915050565b6000620005916000198460080262000571565b1980831691505092915050565b6000620005ac83836200057e565b9150826002028217905092915050565b620005c78262000342565b67ffffffffffffffff811115620005e357620005e26200034d565b5b620005ef8254620003ab565b620005fc82828562000521565b600060209050601f8311600181146200063457600084156200061f578287015190505b6200062b85826200059e565b8655506200069b565b601f1984166200064486620003e0565b60005b828110156200066e5784890151825560018201915060208501945060208101905062000647565b868310156200068e57848901516200068a601f8916826200057e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332304361707065643a2063617020697320300000000000000000000000600082015250565b6000620006ec601583620006a3565b9150620006f982620006b4565b602082019050919050565b600060208201905081810360008301526200071f81620006dd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007628262000468565b91506200076f8362000468565b92508282019050808211156200078a576200078962000726565b5b92915050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b6000620007c8601983620006a3565b9150620007d58262000790565b602082019050919050565b60006020820190508181036000830152620007fb81620007b9565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200083a601f83620006a3565b9150620008478262000802565b602082019050919050565b600060208201905081810360008301526200086d816200082b565b9050919050565b6200087f8162000468565b82525050565b60006020820190506200089c600083018462000874565b92915050565b608051611442620008be600039600061039a01526114426000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80633950935111610071578063395093511461019157806370a08231146101c157806395d89b41146101f1578063a457c2d71461020f578063a9059cbb1461023f578063dd62ed3e1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce56714610155578063355274ea14610173575b600080fd5b6100c161029f565b6040516100ce9190610cb3565b60405180910390f35b6100f160048036038101906100ec9190610d6e565b610331565b6040516100fe9190610dc9565b60405180910390f35b61010f610354565b60405161011c9190610df3565b60405180910390f35b61013f600480360381019061013a9190610e0e565b61035e565b60405161014c9190610dc9565b60405180910390f35b61015d61038d565b60405161016a9190610e7d565b60405180910390f35b61017b610396565b6040516101889190610df3565b60405180910390f35b6101ab60048036038101906101a69190610d6e565b6103be565b6040516101b89190610dc9565b60405180910390f35b6101db60048036038101906101d69190610e98565b6103f5565b6040516101e89190610df3565b60405180910390f35b6101f961043d565b6040516102069190610cb3565b60405180910390f35b61022960048036038101906102249190610d6e565b6104cf565b6040516102369190610dc9565b60405180910390f35b61025960048036038101906102549190610d6e565b610546565b6040516102669190610dc9565b60405180910390f35b61028960048036038101906102849190610ec5565b610569565b6040516102969190610df3565b60405180910390f35b6060600380546102ae90610f34565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610f34565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b60008061033c610746565b905061034981858561074e565b600191505092915050565b6000600254905090565b600080610369610746565b9050610376858285610917565b6103818585856109a3565b60019150509392505050565b60006012905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000806103c9610746565b90506103ea8185856103db8589610569565b6103e59190610f94565b61074e565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461044c90610f34565b80601f016020809104026020016040519081016040528092919081815260200182805461047890610f34565b80156104c55780601f1061049a576101008083540402835291602001916104c5565b820191906000526020600020905b8154815290600101906020018083116104a857829003601f168201915b5050505050905090565b6000806104da610746565b905060006104e88286610569565b90508381101561052d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105249061103a565b60405180910390fd5b61053a828686840361074e565b60019250505092915050565b600080610551610746565b905061055e8185856109a3565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610656906110a6565b60405180910390fd5b61066b60008383610c19565b806002600082825461067d9190610f94565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161072e9190610df3565b60405180910390a361074260008383610c1e565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b490611138565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610823906111ca565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161090a9190610df3565b60405180910390a3505050565b60006109238484610569565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461099d578181101561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690611236565b60405180910390fd5b61099c848484840361074e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a09906112c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a789061135a565b60405180910390fd5b610a8c838383610c19565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b09906113ec565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c009190610df3565b60405180910390a3610c13848484610c1e565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c5d578082015181840152602081019050610c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c8582610c23565b610c8f8185610c2e565b9350610c9f818560208601610c3f565b610ca881610c69565b840191505092915050565b60006020820190508181036000830152610ccd8184610c7a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d0582610cda565b9050919050565b610d1581610cfa565b8114610d2057600080fd5b50565b600081359050610d3281610d0c565b92915050565b6000819050919050565b610d4b81610d38565b8114610d5657600080fd5b50565b600081359050610d6881610d42565b92915050565b60008060408385031215610d8557610d84610cd5565b5b6000610d9385828601610d23565b9250506020610da485828601610d59565b9150509250929050565b60008115159050919050565b610dc381610dae565b82525050565b6000602082019050610dde6000830184610dba565b92915050565b610ded81610d38565b82525050565b6000602082019050610e086000830184610de4565b92915050565b600080600060608486031215610e2757610e26610cd5565b5b6000610e3586828701610d23565b9350506020610e4686828701610d23565b9250506040610e5786828701610d59565b9150509250925092565b600060ff82169050919050565b610e7781610e61565b82525050565b6000602082019050610e926000830184610e6e565b92915050565b600060208284031215610eae57610ead610cd5565b5b6000610ebc84828501610d23565b91505092915050565b60008060408385031215610edc57610edb610cd5565b5b6000610eea85828601610d23565b9250506020610efb85828601610d23565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f4c57607f821691505b602082108103610f5f57610f5e610f05565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f9f82610d38565b9150610faa83610d38565b9250828201905080821115610fc257610fc1610f65565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611024602583610c2e565b915061102f82610fc8565b604082019050919050565b6000602082019050818103600083015261105381611017565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611090601f83610c2e565b915061109b8261105a565b602082019050919050565b600060208201905081810360008301526110bf81611083565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611122602483610c2e565b915061112d826110c6565b604082019050919050565b6000602082019050818103600083015261115181611115565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006111b4602283610c2e565b91506111bf82611158565b604082019050919050565b600060208201905081810360008301526111e3816111a7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611220601d83610c2e565b915061122b826111ea565b602082019050919050565b6000602082019050818103600083015261124f81611213565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006112b2602583610c2e565b91506112bd82611256565b604082019050919050565b600060208201905081810360008301526112e1816112a5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611344602383610c2e565b915061134f826112e8565b604082019050919050565b6000602082019050818103600083015261137381611337565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006113d6602683610c2e565b91506113e18261137a565b604082019050919050565b60006020820190508181036000830152611405816113c9565b905091905056fea2646970667358221220dc71ffa2825009f7264a35ce4bfae18f0f82332fe65fab7643962c281c1156bd64736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80633950935111610071578063395093511461019157806370a08231146101c157806395d89b41146101f1578063a457c2d71461020f578063a9059cbb1461023f578063dd62ed3e1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce56714610155578063355274ea14610173575b600080fd5b6100c161029f565b6040516100ce9190610cb3565b60405180910390f35b6100f160048036038101906100ec9190610d6e565b610331565b6040516100fe9190610dc9565b60405180910390f35b61010f610354565b60405161011c9190610df3565b60405180910390f35b61013f600480360381019061013a9190610e0e565b61035e565b60405161014c9190610dc9565b60405180910390f35b61015d61038d565b60405161016a9190610e7d565b60405180910390f35b61017b610396565b6040516101889190610df3565b60405180910390f35b6101ab60048036038101906101a69190610d6e565b6103be565b6040516101b89190610dc9565b60405180910390f35b6101db60048036038101906101d69190610e98565b6103f5565b6040516101e89190610df3565b60405180910390f35b6101f961043d565b6040516102069190610cb3565b60405180910390f35b61022960048036038101906102249190610d6e565b6104cf565b6040516102369190610dc9565b60405180910390f35b61025960048036038101906102549190610d6e565b610546565b6040516102669190610dc9565b60405180910390f35b61028960048036038101906102849190610ec5565b610569565b6040516102969190610df3565b60405180910390f35b6060600380546102ae90610f34565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610f34565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b60008061033c610746565b905061034981858561074e565b600191505092915050565b6000600254905090565b600080610369610746565b9050610376858285610917565b6103818585856109a3565b60019150509392505050565b60006012905090565b60007f000000000000000000000000000000000000000c9f2c9cd04674edea40000000905090565b6000806103c9610746565b90506103ea8185856103db8589610569565b6103e59190610f94565b61074e565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461044c90610f34565b80601f016020809104026020016040519081016040528092919081815260200182805461047890610f34565b80156104c55780601f1061049a576101008083540402835291602001916104c5565b820191906000526020600020905b8154815290600101906020018083116104a857829003601f168201915b5050505050905090565b6000806104da610746565b905060006104e88286610569565b90508381101561052d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105249061103a565b60405180910390fd5b61053a828686840361074e565b60019250505092915050565b600080610551610746565b905061055e8185856109a3565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610656906110a6565b60405180910390fd5b61066b60008383610c19565b806002600082825461067d9190610f94565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161072e9190610df3565b60405180910390a361074260008383610c1e565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b490611138565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610823906111ca565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161090a9190610df3565b60405180910390a3505050565b60006109238484610569565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461099d578181101561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690611236565b60405180910390fd5b61099c848484840361074e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a09906112c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a789061135a565b60405180910390fd5b610a8c838383610c19565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b09906113ec565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c009190610df3565b60405180910390a3610c13848484610c1e565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c5d578082015181840152602081019050610c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c8582610c23565b610c8f8185610c2e565b9350610c9f818560208601610c3f565b610ca881610c69565b840191505092915050565b60006020820190508181036000830152610ccd8184610c7a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d0582610cda565b9050919050565b610d1581610cfa565b8114610d2057600080fd5b50565b600081359050610d3281610d0c565b92915050565b6000819050919050565b610d4b81610d38565b8114610d5657600080fd5b50565b600081359050610d6881610d42565b92915050565b60008060408385031215610d8557610d84610cd5565b5b6000610d9385828601610d23565b9250506020610da485828601610d59565b9150509250929050565b60008115159050919050565b610dc381610dae565b82525050565b6000602082019050610dde6000830184610dba565b92915050565b610ded81610d38565b82525050565b6000602082019050610e086000830184610de4565b92915050565b600080600060608486031215610e2757610e26610cd5565b5b6000610e3586828701610d23565b9350506020610e4686828701610d23565b9250506040610e5786828701610d59565b9150509250925092565b600060ff82169050919050565b610e7781610e61565b82525050565b6000602082019050610e926000830184610e6e565b92915050565b600060208284031215610eae57610ead610cd5565b5b6000610ebc84828501610d23565b91505092915050565b60008060408385031215610edc57610edb610cd5565b5b6000610eea85828601610d23565b9250506020610efb85828601610d23565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f4c57607f821691505b602082108103610f5f57610f5e610f05565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f9f82610d38565b9150610faa83610d38565b9250828201905080821115610fc257610fc1610f65565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611024602583610c2e565b915061102f82610fc8565b604082019050919050565b6000602082019050818103600083015261105381611017565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611090601f83610c2e565b915061109b8261105a565b602082019050919050565b600060208201905081810360008301526110bf81611083565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611122602483610c2e565b915061112d826110c6565b604082019050919050565b6000602082019050818103600083015261115181611115565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006111b4602283610c2e565b91506111bf82611158565b604082019050919050565b600060208201905081810360008301526111e3816111a7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611220601d83610c2e565b915061122b826111ea565b602082019050919050565b6000602082019050818103600083015261124f81611213565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006112b2602583610c2e565b91506112bd82611256565b604082019050919050565b600060208201905081810360008301526112e1816112a5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611344602383610c2e565b915061134f826112e8565b604082019050919050565b6000602082019050818103600083015261137381611337565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006113d6602683610c2e565b91506113e18261137a565b604082019050919050565b60006020820190508181036000830152611405816113c9565b905091905056fea2646970667358221220dc71ffa2825009f7264a35ce4bfae18f0f82332fe65fab7643962c281c1156bd64736f6c63430008110033
Deployed Bytecode Sourcemap
18383:205:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6283:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8634:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7403:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9415:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7245:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17997:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10119:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7574:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6502:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10860:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7907:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8163:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6283:100;6337:13;6370:5;6363:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6283:100;:::o;8634:201::-;8717:4;8734:13;8750:12;:10;:12::i;:::-;8734:28;;8773:32;8782:5;8789:7;8798:6;8773:8;:32::i;:::-;8823:4;8816:11;;;8634:201;;;;:::o;7403:108::-;7464:7;7491:12;;7484:19;;7403:108;:::o;9415:295::-;9546:4;9563:15;9581:12;:10;:12::i;:::-;9563:30;;9604:38;9620:4;9626:7;9635:6;9604:15;:38::i;:::-;9653:27;9663:4;9669:2;9673:6;9653:9;:27::i;:::-;9698:4;9691:11;;;9415:295;;;;;:::o;7245:93::-;7303:5;7328:2;7321:9;;7245:93;:::o;17997:83::-;18041:7;18068:4;18061:11;;17997:83;:::o;10119:238::-;10207:4;10224:13;10240:12;:10;:12::i;:::-;10224:28;;10263:64;10272:5;10279:7;10316:10;10288:25;10298:5;10305:7;10288:9;:25::i;:::-;:38;;;;:::i;:::-;10263:8;:64::i;:::-;10345:4;10338:11;;;10119:238;;;;:::o;7574:127::-;7648:7;7675:9;:18;7685:7;7675:18;;;;;;;;;;;;;;;;7668:25;;7574:127;;;:::o;6502:104::-;6558:13;6591:7;6584:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6502:104;:::o;10860:436::-;10953:4;10970:13;10986:12;:10;:12::i;:::-;10970:28;;11009:24;11036:25;11046:5;11053:7;11036:9;:25::i;:::-;11009:52;;11100:15;11080:16;:35;;11072:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11193:60;11202:5;11209:7;11237:15;11218:16;:34;11193:8;:60::i;:::-;11284:4;11277:11;;;;10860:436;;;;:::o;7907:193::-;7986:4;8003:13;8019:12;:10;:12::i;:::-;8003:28;;8042;8052:5;8059:2;8063:6;8042:9;:28::i;:::-;8088:4;8081:11;;;7907:193;;;;:::o;8163:151::-;8252:7;8279:11;:18;8291:5;8279:18;;;;;;;;;;;;;;;:27;8298:7;8279:27;;;;;;;;;;;;;;;;8272:34;;8163:151;;;;:::o;12893:548::-;12996:1;12977:21;;:7;:21;;;12969:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13047:49;13076:1;13080:7;13089:6;13047:20;:49::i;:::-;13125:6;13109:12;;:22;;;;;;;:::i;:::-;;;;;;;;13302:6;13280:9;:18;13290:7;13280:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;13356:7;13335:37;;13352:1;13335:37;;;13365:6;13335:37;;;;;;:::i;:::-;;;;;;;;13385:48;13413:1;13417:7;13426:6;13385:19;:48::i;:::-;12893:548;;:::o;4060:98::-;4113:7;4140:10;4133:17;;4060:98;:::o;14887:380::-;15040:1;15023:19;;:5;:19;;;15015:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15121:1;15102:21;;:7;:21;;;15094:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15205:6;15175:11;:18;15187:5;15175:18;;;;;;;;;;;;;;;:27;15194:7;15175:27;;;;;;;;;;;;;;;:36;;;;15243:7;15227:32;;15236:5;15227:32;;;15252:6;15227:32;;;;;;:::i;:::-;;;;;;;;14887:380;;;:::o;15558:453::-;15693:24;15720:25;15730:5;15737:7;15720:9;:25::i;:::-;15693:52;;15780:17;15760:16;:37;15756:248;;15842:6;15822:16;:26;;15814:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15926:51;15935:5;15942:7;15970:6;15951:16;:25;15926:8;:51::i;:::-;15756:248;15682:329;15558:453;;;:::o;11766:840::-;11913:1;11897:18;;:4;:18;;;11889:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11990:1;11976:16;;:2;:16;;;11968:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12045:38;12066:4;12072:2;12076:6;12045:20;:38::i;:::-;12096:19;12118:9;:15;12128:4;12118:15;;;;;;;;;;;;;;;;12096:37;;12167:6;12152:11;:21;;12144:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12284:6;12270:11;:20;12252:9;:15;12262:4;12252:15;;;;;;;;;;;;;;;:38;;;;12487:6;12470:9;:13;12480:2;12470:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12537:2;12522:26;;12531:4;12522:26;;;12541:6;12522:26;;;;;;:::i;:::-;;;;;;;;12561:37;12581:4;12587:2;12591:6;12561:19;:37::i;:::-;11878:728;11766:840;;;:::o;16611:125::-;;;;:::o;17340:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:180::-;5716:77;5713:1;5706:88;5813:4;5810:1;5803:15;5837:4;5834:1;5827:15;5854:320;5898:6;5935:1;5929:4;5925:12;5915:22;;5982:1;5976:4;5972:12;6003:18;5993:81;;6059:4;6051:6;6047:17;6037:27;;5993:81;6121:2;6113:6;6110:14;6090:18;6087:38;6084:84;;6140:18;;:::i;:::-;6084:84;5905:269;5854:320;;;:::o;6180:180::-;6228:77;6225:1;6218:88;6325:4;6322:1;6315:15;6349:4;6346:1;6339:15;6366:191;6406:3;6425:20;6443:1;6425:20;:::i;:::-;6420:25;;6459:20;6477:1;6459:20;:::i;:::-;6454:25;;6502:1;6499;6495:9;6488:16;;6523:3;6520:1;6517:10;6514:36;;;6530:18;;:::i;:::-;6514:36;6366:191;;;;:::o;6563:224::-;6703:34;6699:1;6691:6;6687:14;6680:58;6772:7;6767:2;6759:6;6755:15;6748:32;6563:224;:::o;6793:366::-;6935:3;6956:67;7020:2;7015:3;6956:67;:::i;:::-;6949:74;;7032:93;7121:3;7032:93;:::i;:::-;7150:2;7145:3;7141:12;7134:19;;6793:366;;;:::o;7165:419::-;7331:4;7369:2;7358:9;7354:18;7346:26;;7418:9;7412:4;7408:20;7404:1;7393:9;7389:17;7382:47;7446:131;7572:4;7446:131;:::i;:::-;7438:139;;7165:419;;;:::o;7590:181::-;7730:33;7726:1;7718:6;7714:14;7707:57;7590:181;:::o;7777:366::-;7919:3;7940:67;8004:2;7999:3;7940:67;:::i;:::-;7933:74;;8016:93;8105:3;8016:93;:::i;:::-;8134:2;8129:3;8125:12;8118:19;;7777:366;;;:::o;8149:419::-;8315:4;8353:2;8342:9;8338:18;8330:26;;8402:9;8396:4;8392:20;8388:1;8377:9;8373:17;8366:47;8430:131;8556:4;8430:131;:::i;:::-;8422:139;;8149:419;;;:::o;8574:223::-;8714:34;8710:1;8702:6;8698:14;8691:58;8783:6;8778:2;8770:6;8766:15;8759:31;8574:223;:::o;8803:366::-;8945:3;8966:67;9030:2;9025:3;8966:67;:::i;:::-;8959:74;;9042:93;9131:3;9042:93;:::i;:::-;9160:2;9155:3;9151:12;9144:19;;8803:366;;;:::o;9175:419::-;9341:4;9379:2;9368:9;9364:18;9356:26;;9428:9;9422:4;9418:20;9414:1;9403:9;9399:17;9392:47;9456:131;9582:4;9456:131;:::i;:::-;9448:139;;9175:419;;;:::o;9600:221::-;9740:34;9736:1;9728:6;9724:14;9717:58;9809:4;9804:2;9796:6;9792:15;9785:29;9600:221;:::o;9827:366::-;9969:3;9990:67;10054:2;10049:3;9990:67;:::i;:::-;9983:74;;10066:93;10155:3;10066:93;:::i;:::-;10184:2;10179:3;10175:12;10168:19;;9827:366;;;:::o;10199:419::-;10365:4;10403:2;10392:9;10388:18;10380:26;;10452:9;10446:4;10442:20;10438:1;10427:9;10423:17;10416:47;10480:131;10606:4;10480:131;:::i;:::-;10472:139;;10199:419;;;:::o;10624:179::-;10764:31;10760:1;10752:6;10748:14;10741:55;10624:179;:::o;10809:366::-;10951:3;10972:67;11036:2;11031:3;10972:67;:::i;:::-;10965:74;;11048:93;11137:3;11048:93;:::i;:::-;11166:2;11161:3;11157:12;11150:19;;10809:366;;;:::o;11181:419::-;11347:4;11385:2;11374:9;11370:18;11362:26;;11434:9;11428:4;11424:20;11420:1;11409:9;11405:17;11398:47;11462:131;11588:4;11462:131;:::i;:::-;11454:139;;11181:419;;;:::o;11606:224::-;11746:34;11742:1;11734:6;11730:14;11723:58;11815:7;11810:2;11802:6;11798:15;11791:32;11606:224;:::o;11836:366::-;11978:3;11999:67;12063:2;12058:3;11999:67;:::i;:::-;11992:74;;12075:93;12164:3;12075:93;:::i;:::-;12193:2;12188:3;12184:12;12177:19;;11836:366;;;:::o;12208:419::-;12374:4;12412:2;12401:9;12397:18;12389:26;;12461:9;12455:4;12451:20;12447:1;12436:9;12432:17;12425:47;12489:131;12615:4;12489:131;:::i;:::-;12481:139;;12208:419;;;:::o;12633:222::-;12773:34;12769:1;12761:6;12757:14;12750:58;12842:5;12837:2;12829:6;12825:15;12818:30;12633:222;:::o;12861:366::-;13003:3;13024:67;13088:2;13083:3;13024:67;:::i;:::-;13017:74;;13100:93;13189:3;13100:93;:::i;:::-;13218:2;13213:3;13209:12;13202:19;;12861:366;;;:::o;13233:419::-;13399:4;13437:2;13426:9;13422:18;13414:26;;13486:9;13480:4;13476:20;13472:1;13461:9;13457:17;13450:47;13514:131;13640:4;13514:131;:::i;:::-;13506:139;;13233:419;;;:::o;13658:225::-;13798:34;13794:1;13786:6;13782:14;13775:58;13867:8;13862:2;13854:6;13850:15;13843:33;13658:225;:::o;13889:366::-;14031:3;14052:67;14116:2;14111:3;14052:67;:::i;:::-;14045:74;;14128:93;14217:3;14128:93;:::i;:::-;14246:2;14241:3;14237:12;14230:19;;13889:366;;;:::o;14261:419::-;14427:4;14465:2;14454:9;14450:18;14442:26;;14514:9;14508:4;14504:20;14500:1;14489:9;14485:17;14478:47;14542:131;14668:4;14542:131;:::i;:::-;14534:139;;14261:419;;;:::o
Swarm Source
ipfs://dc71ffa2825009f7264a35ce4bfae18f0f82332fe65fab7643962c281c1156bd
[ 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.