ERC-20
Overview
Max Total Supply
2,000,000,000 WEBI
Holders
1,644
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
10 WEBIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Token
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-26 */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) 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; } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // 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); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) 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); } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) 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 {} } // File: WEBI.sol pragma solidity ^0.8.18; contract Token is ERC20{ constructor() ERC20("WEBILITY", "WEBI") { _mint(0xC14ad7CBc07476A94f65088703dF42b30B08435a, 2000000000 * 10 ** 18); } function batchTransfer(address[] memory recipients, uint256[] memory amounts) external { require(recipients.length == amounts.length, "ERC20: inconsistent arrays"); for (uint256 i = 0; i < recipients.length; i++) { transfer(recipients[i], amounts[i]); } } }
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":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"stateMutability":"nonpayable","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
60806040523480156200001157600080fd5b506040518060400160405280600881526020017f574542494c4954590000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f574542490000000000000000000000000000000000000000000000000000000081525081600390816200008f9190620004cd565b508060049081620000a19190620004cd565b505050620000d673c14ad7cbc07476a94f65088703df42b30b08435a6b06765c793fa10079d0000000620000dc60201b60201c565b620006cf565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200014e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001459062000615565b60405180910390fd5b62000162600083836200024960201b60201c565b806002600082825462000176919062000666565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002299190620006b2565b60405180910390a362000245600083836200024e60201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002d557607f821691505b602082108103620002eb57620002ea6200028d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000316565b62000361868362000316565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003ae620003a8620003a28462000379565b62000383565b62000379565b9050919050565b6000819050919050565b620003ca836200038d565b620003e2620003d982620003b5565b84845462000323565b825550505050565b600090565b620003f9620003ea565b62000406818484620003bf565b505050565b5b818110156200042e5762000422600082620003ef565b6001810190506200040c565b5050565b601f8211156200047d576200044781620002f1565b620004528462000306565b8101602085101562000462578190505b6200047a620004718562000306565b8301826200040b565b50505b505050565b600082821c905092915050565b6000620004a26000198460080262000482565b1980831691505092915050565b6000620004bd83836200048f565b9150826002028217905092915050565b620004d88262000253565b67ffffffffffffffff811115620004f457620004f36200025e565b5b620005008254620002bc565b6200050d82828562000432565b600060209050601f83116001811462000545576000841562000530578287015190505b6200053c8582620004af565b865550620005ac565b601f1984166200055586620002f1565b60005b828110156200057f5784890151825560018201915060208501945060208101905062000558565b868310156200059f57848901516200059b601f8916826200048f565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620005fd601f83620005b4565b91506200060a82620005c5565b602082019050919050565b600060208201905081810360008301526200063081620005ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006738262000379565b9150620006808362000379565b92508282019050808211156200069b576200069a62000637565b5b92915050565b620006ac8162000379565b82525050565b6000602082019050620006c96000830184620006a1565b92915050565b61167280620006df6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101a357806388d695b2146101d357806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610bda565b60405180910390f35b6100f160048036038101906100ec9190610ca4565b61032f565b6040516100fe9190610cff565b60405180910390f35b61010f610352565b60405161011c9190610d29565b60405180910390f35b61013f600480360381019061013a9190610d44565b61035c565b60405161014c9190610cff565b60405180910390f35b61015d61038b565b60405161016a9190610db3565b60405180910390f35b61018d60048036038101906101889190610ca4565b610394565b60405161019a9190610cff565b60405180910390f35b6101bd60048036038101906101b89190610dce565b6103cb565b6040516101ca9190610d29565b60405180910390f35b6101ed60048036038101906101e89190611006565b610413565b005b6101f76104ba565b6040516102049190610bda565b60405180910390f35b61022760048036038101906102229190610ca4565b61054c565b6040516102349190610cff565b60405180910390f35b61025760048036038101906102529190610ca4565b6105c3565b6040516102649190610cff565b60405180910390f35b6102876004803603810190610282919061107e565b6105e6565b6040516102949190610d29565b60405180910390f35b6060600380546102ac906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546102d8906110ed565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a61066d565b9050610347818585610675565b600191505092915050565b6000600254905090565b60008061036761066d565b905061037485828561083e565b61037f8585856108ca565b60019150509392505050565b60006012905090565b60008061039f61066d565b90506103c08185856103b185896105e6565b6103bb919061114d565b610675565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8051825114610457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044e906111cd565b60405180910390fd5b60005b82518110156104b5576104a1838281518110610479576104786111ed565b5b6020026020010151838381518110610494576104936111ed565b5b60200260200101516105c3565b5080806104ad9061121c565b91505061045a565b505050565b6060600480546104c9906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546104f5906110ed565b80156105425780601f1061051757610100808354040283529160200191610542565b820191906000526020600020905b81548152906001019060200180831161052557829003601f168201915b5050505050905090565b60008061055761066d565b9050600061056582866105e6565b9050838110156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a1906112d6565b60405180910390fd5b6105b78286868403610675565b60019250505092915050565b6000806105ce61066d565b90506105db8185856108ca565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611368565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108319190610d29565b60405180910390a3505050565b600061084a84846105e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108c457818110156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad90611466565b60405180910390fd5b6108c38484848403610675565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610930906114f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f9061158a565b60405180910390fd5b6109b3838383610b40565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a309061161c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b279190610d29565b60405180910390a3610b3a848484610b45565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b84578082015181840152602081019050610b69565b60008484015250505050565b6000601f19601f8301169050919050565b6000610bac82610b4a565b610bb68185610b55565b9350610bc6818560208601610b66565b610bcf81610b90565b840191505092915050565b60006020820190508181036000830152610bf48184610ba1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3b82610c10565b9050919050565b610c4b81610c30565b8114610c5657600080fd5b50565b600081359050610c6881610c42565b92915050565b6000819050919050565b610c8181610c6e565b8114610c8c57600080fd5b50565b600081359050610c9e81610c78565b92915050565b60008060408385031215610cbb57610cba610c06565b5b6000610cc985828601610c59565b9250506020610cda85828601610c8f565b9150509250929050565b60008115159050919050565b610cf981610ce4565b82525050565b6000602082019050610d146000830184610cf0565b92915050565b610d2381610c6e565b82525050565b6000602082019050610d3e6000830184610d1a565b92915050565b600080600060608486031215610d5d57610d5c610c06565b5b6000610d6b86828701610c59565b9350506020610d7c86828701610c59565b9250506040610d8d86828701610c8f565b9150509250925092565b600060ff82169050919050565b610dad81610d97565b82525050565b6000602082019050610dc86000830184610da4565b92915050565b600060208284031215610de457610de3610c06565b5b6000610df284828501610c59565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e3882610b90565b810181811067ffffffffffffffff82111715610e5757610e56610e00565b5b80604052505050565b6000610e6a610bfc565b9050610e768282610e2f565b919050565b600067ffffffffffffffff821115610e9657610e95610e00565b5b602082029050602081019050919050565b600080fd5b6000610ebf610eba84610e7b565b610e60565b90508083825260208201905060208402830185811115610ee257610ee1610ea7565b5b835b81811015610f0b5780610ef78882610c59565b845260208401935050602081019050610ee4565b5050509392505050565b600082601f830112610f2a57610f29610dfb565b5b8135610f3a848260208601610eac565b91505092915050565b600067ffffffffffffffff821115610f5e57610f5d610e00565b5b602082029050602081019050919050565b6000610f82610f7d84610f43565b610e60565b90508083825260208201905060208402830185811115610fa557610fa4610ea7565b5b835b81811015610fce5780610fba8882610c8f565b845260208401935050602081019050610fa7565b5050509392505050565b600082601f830112610fed57610fec610dfb565b5b8135610ffd848260208601610f6f565b91505092915050565b6000806040838503121561101d5761101c610c06565b5b600083013567ffffffffffffffff81111561103b5761103a610c0b565b5b61104785828601610f15565b925050602083013567ffffffffffffffff81111561106857611067610c0b565b5b61107485828601610fd8565b9150509250929050565b6000806040838503121561109557611094610c06565b5b60006110a385828601610c59565b92505060206110b485828601610c59565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061110557607f821691505b602082108103611118576111176110be565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061115882610c6e565b915061116383610c6e565b925082820190508082111561117b5761117a61111e565b5b92915050565b7f45524332303a20696e636f6e73697374656e7420617272617973000000000000600082015250565b60006111b7601a83610b55565b91506111c282611181565b602082019050919050565b600060208201905081810360008301526111e6816111aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061122782610c6e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036112595761125861111e565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006112c0602583610b55565b91506112cb82611264565b604082019050919050565b600060208201905081810360008301526112ef816112b3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611352602483610b55565b915061135d826112f6565b604082019050919050565b6000602082019050818103600083015261138181611345565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006113e4602283610b55565b91506113ef82611388565b604082019050919050565b60006020820190508181036000830152611413816113d7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611450601d83610b55565b915061145b8261141a565b602082019050919050565b6000602082019050818103600083015261147f81611443565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114e2602583610b55565b91506114ed82611486565b604082019050919050565b60006020820190508181036000830152611511816114d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611574602383610b55565b915061157f82611518565b604082019050919050565b600060208201905081810360008301526115a381611567565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611606602683610b55565b9150611611826115aa565b604082019050919050565b60006020820190508181036000830152611635816115f9565b905091905056fea264697066735822122061ec984554d7b3c9c1e71dbe4c401a832d681d54ef79847d4c4712ed112cc1e564736f6c63430008120033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101a357806388d695b2146101d357806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610bda565b60405180910390f35b6100f160048036038101906100ec9190610ca4565b61032f565b6040516100fe9190610cff565b60405180910390f35b61010f610352565b60405161011c9190610d29565b60405180910390f35b61013f600480360381019061013a9190610d44565b61035c565b60405161014c9190610cff565b60405180910390f35b61015d61038b565b60405161016a9190610db3565b60405180910390f35b61018d60048036038101906101889190610ca4565b610394565b60405161019a9190610cff565b60405180910390f35b6101bd60048036038101906101b89190610dce565b6103cb565b6040516101ca9190610d29565b60405180910390f35b6101ed60048036038101906101e89190611006565b610413565b005b6101f76104ba565b6040516102049190610bda565b60405180910390f35b61022760048036038101906102229190610ca4565b61054c565b6040516102349190610cff565b60405180910390f35b61025760048036038101906102529190610ca4565b6105c3565b6040516102649190610cff565b60405180910390f35b6102876004803603810190610282919061107e565b6105e6565b6040516102949190610d29565b60405180910390f35b6060600380546102ac906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546102d8906110ed565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a61066d565b9050610347818585610675565b600191505092915050565b6000600254905090565b60008061036761066d565b905061037485828561083e565b61037f8585856108ca565b60019150509392505050565b60006012905090565b60008061039f61066d565b90506103c08185856103b185896105e6565b6103bb919061114d565b610675565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8051825114610457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044e906111cd565b60405180910390fd5b60005b82518110156104b5576104a1838281518110610479576104786111ed565b5b6020026020010151838381518110610494576104936111ed565b5b60200260200101516105c3565b5080806104ad9061121c565b91505061045a565b505050565b6060600480546104c9906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546104f5906110ed565b80156105425780601f1061051757610100808354040283529160200191610542565b820191906000526020600020905b81548152906001019060200180831161052557829003601f168201915b5050505050905090565b60008061055761066d565b9050600061056582866105e6565b9050838110156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a1906112d6565b60405180910390fd5b6105b78286868403610675565b60019250505092915050565b6000806105ce61066d565b90506105db8185856108ca565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611368565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108319190610d29565b60405180910390a3505050565b600061084a84846105e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108c457818110156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad90611466565b60405180910390fd5b6108c38484848403610675565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610930906114f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f9061158a565b60405180910390fd5b6109b3838383610b40565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a309061161c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b279190610d29565b60405180910390a3610b3a848484610b45565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b84578082015181840152602081019050610b69565b60008484015250505050565b6000601f19601f8301169050919050565b6000610bac82610b4a565b610bb68185610b55565b9350610bc6818560208601610b66565b610bcf81610b90565b840191505092915050565b60006020820190508181036000830152610bf48184610ba1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3b82610c10565b9050919050565b610c4b81610c30565b8114610c5657600080fd5b50565b600081359050610c6881610c42565b92915050565b6000819050919050565b610c8181610c6e565b8114610c8c57600080fd5b50565b600081359050610c9e81610c78565b92915050565b60008060408385031215610cbb57610cba610c06565b5b6000610cc985828601610c59565b9250506020610cda85828601610c8f565b9150509250929050565b60008115159050919050565b610cf981610ce4565b82525050565b6000602082019050610d146000830184610cf0565b92915050565b610d2381610c6e565b82525050565b6000602082019050610d3e6000830184610d1a565b92915050565b600080600060608486031215610d5d57610d5c610c06565b5b6000610d6b86828701610c59565b9350506020610d7c86828701610c59565b9250506040610d8d86828701610c8f565b9150509250925092565b600060ff82169050919050565b610dad81610d97565b82525050565b6000602082019050610dc86000830184610da4565b92915050565b600060208284031215610de457610de3610c06565b5b6000610df284828501610c59565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e3882610b90565b810181811067ffffffffffffffff82111715610e5757610e56610e00565b5b80604052505050565b6000610e6a610bfc565b9050610e768282610e2f565b919050565b600067ffffffffffffffff821115610e9657610e95610e00565b5b602082029050602081019050919050565b600080fd5b6000610ebf610eba84610e7b565b610e60565b90508083825260208201905060208402830185811115610ee257610ee1610ea7565b5b835b81811015610f0b5780610ef78882610c59565b845260208401935050602081019050610ee4565b5050509392505050565b600082601f830112610f2a57610f29610dfb565b5b8135610f3a848260208601610eac565b91505092915050565b600067ffffffffffffffff821115610f5e57610f5d610e00565b5b602082029050602081019050919050565b6000610f82610f7d84610f43565b610e60565b90508083825260208201905060208402830185811115610fa557610fa4610ea7565b5b835b81811015610fce5780610fba8882610c8f565b845260208401935050602081019050610fa7565b5050509392505050565b600082601f830112610fed57610fec610dfb565b5b8135610ffd848260208601610f6f565b91505092915050565b6000806040838503121561101d5761101c610c06565b5b600083013567ffffffffffffffff81111561103b5761103a610c0b565b5b61104785828601610f15565b925050602083013567ffffffffffffffff81111561106857611067610c0b565b5b61107485828601610fd8565b9150509250929050565b6000806040838503121561109557611094610c06565b5b60006110a385828601610c59565b92505060206110b485828601610c59565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061110557607f821691505b602082108103611118576111176110be565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061115882610c6e565b915061116383610c6e565b925082820190508082111561117b5761117a61111e565b5b92915050565b7f45524332303a20696e636f6e73697374656e7420617272617973000000000000600082015250565b60006111b7601a83610b55565b91506111c282611181565b602082019050919050565b600060208201905081810360008301526111e6816111aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061122782610c6e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036112595761125861111e565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006112c0602583610b55565b91506112cb82611264565b604082019050919050565b600060208201905081810360008301526112ef816112b3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611352602483610b55565b915061135d826112f6565b604082019050919050565b6000602082019050818103600083015261138181611345565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006113e4602283610b55565b91506113ef82611388565b604082019050919050565b60006020820190508181036000830152611413816113d7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611450601d83610b55565b915061145b8261141a565b602082019050919050565b6000602082019050818103600083015261147f81611443565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114e2602583610b55565b91506114ed82611486565b604082019050919050565b60006020820190508181036000830152611511816114d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611574602383610b55565b915061157f82611518565b604082019050919050565b600060208201905081810360008301526115a381611567565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611606602683610b55565b9150611611826115aa565b604082019050919050565b60006020820190508181036000830152611635816115f9565b905091905056fea264697066735822122061ec984554d7b3c9c1e71dbe4c401a832d681d54ef79847d4c4712ed112cc1e564736f6c63430008120033
Deployed Bytecode Sourcemap
17923:482:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6686:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9037:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7806:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9818:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7648:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10522:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7977:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18092:310;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6905:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11263:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8310:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8566:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6686:100;6740:13;6773:5;6766:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6686:100;:::o;9037:201::-;9120:4;9137:13;9153:12;:10;:12::i;:::-;9137:28;;9176:32;9185:5;9192:7;9201:6;9176:8;:32::i;:::-;9226:4;9219:11;;;9037:201;;;;:::o;7806:108::-;7867:7;7894:12;;7887:19;;7806:108;:::o;9818:295::-;9949:4;9966:15;9984:12;:10;:12::i;:::-;9966:30;;10007:38;10023:4;10029:7;10038:6;10007:15;:38::i;:::-;10056:27;10066:4;10072:2;10076:6;10056:9;:27::i;:::-;10101:4;10094:11;;;9818:295;;;;;:::o;7648:93::-;7706:5;7731:2;7724:9;;7648:93;:::o;10522:238::-;10610:4;10627:13;10643:12;:10;:12::i;:::-;10627:28;;10666:64;10675:5;10682:7;10719:10;10691:25;10701:5;10708:7;10691:9;:25::i;:::-;:38;;;;:::i;:::-;10666:8;:64::i;:::-;10748:4;10741:11;;;10522:238;;;;:::o;7977:127::-;8051:7;8078:9;:18;8088:7;8078:18;;;;;;;;;;;;;;;;8071:25;;7977:127;;;:::o;18092:310::-;18219:7;:14;18198:10;:17;:35;18190:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18290:9;18285:110;18309:10;:17;18305:1;:21;18285:110;;;18348:35;18357:10;18368:1;18357:13;;;;;;;;:::i;:::-;;;;;;;;18372:7;18380:1;18372:10;;;;;;;;:::i;:::-;;;;;;;;18348:8;:35::i;:::-;;18328:3;;;;;:::i;:::-;;;;18285:110;;;;18092:310;;:::o;6905:104::-;6961:13;6994:7;6987:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6905:104;:::o;11263:436::-;11356:4;11373:13;11389:12;:10;:12::i;:::-;11373:28;;11412:24;11439:25;11449:5;11456:7;11439:9;:25::i;:::-;11412:52;;11503:15;11483:16;:35;;11475:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11596:60;11605:5;11612:7;11640:15;11621:16;:34;11596:8;:60::i;:::-;11687:4;11680:11;;;;11263:436;;;;:::o;8310:193::-;8389:4;8406:13;8422:12;:10;:12::i;:::-;8406:28;;8445;8455:5;8462:2;8466:6;8445:9;:28::i;:::-;8491:4;8484:11;;;8310:193;;;;:::o;8566:151::-;8655:7;8682:11;:18;8694:5;8682:18;;;;;;;;;;;;;;;:27;8701:7;8682:27;;;;;;;;;;;;;;;;8675:34;;8566:151;;;;:::o;714:98::-;767:7;794:10;787:17;;714:98;:::o;15290:380::-;15443:1;15426:19;;:5;:19;;;15418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15524:1;15505:21;;:7;:21;;;15497:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15608:6;15578:11;:18;15590:5;15578:18;;;;;;;;;;;;;;;:27;15597:7;15578:27;;;;;;;;;;;;;;;:36;;;;15646:7;15630:32;;15639:5;15630:32;;;15655:6;15630:32;;;;;;:::i;:::-;;;;;;;;15290:380;;;:::o;15961:453::-;16096:24;16123:25;16133:5;16140:7;16123:9;:25::i;:::-;16096:52;;16183:17;16163:16;:37;16159:248;;16245:6;16225:16;:26;;16217:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16329:51;16338:5;16345:7;16373:6;16354:16;:25;16329:8;:51::i;:::-;16159:248;16085:329;15961:453;;;:::o;12169:840::-;12316:1;12300:18;;:4;:18;;;12292:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12393:1;12379:16;;:2;:16;;;12371:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12448:38;12469:4;12475:2;12479:6;12448:20;:38::i;:::-;12499:19;12521:9;:15;12531:4;12521:15;;;;;;;;;;;;;;;;12499:37;;12570:6;12555:11;:21;;12547:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12687:6;12673:11;:20;12655:9;:15;12665:4;12655:15;;;;;;;;;;;;;;;:38;;;;12890:6;12873:9;:13;12883:2;12873:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12940:2;12925:26;;12934:4;12925:26;;;12944:6;12925:26;;;;;;:::i;:::-;;;;;;;;12964:37;12984:4;12990:2;12994:6;12964:19;:37::i;:::-;12281:728;12169:840;;;:::o;17014:125::-;;;;:::o;17743: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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:117::-;5297:1;5294;5287:12;5311:180;5359:77;5356:1;5349:88;5456:4;5453:1;5446:15;5480:4;5477:1;5470:15;5497:281;5580:27;5602:4;5580:27;:::i;:::-;5572:6;5568:40;5710:6;5698:10;5695:22;5674:18;5662:10;5659:34;5656:62;5653:88;;;5721:18;;:::i;:::-;5653:88;5761:10;5757:2;5750:22;5540:238;5497:281;;:::o;5784:129::-;5818:6;5845:20;;:::i;:::-;5835:30;;5874:33;5902:4;5894:6;5874:33;:::i;:::-;5784:129;;;:::o;5919:311::-;5996:4;6086:18;6078:6;6075:30;6072:56;;;6108:18;;:::i;:::-;6072:56;6158:4;6150:6;6146:17;6138:25;;6218:4;6212;6208:15;6200:23;;5919:311;;;:::o;6236:117::-;6345:1;6342;6335:12;6376:710;6472:5;6497:81;6513:64;6570:6;6513:64;:::i;:::-;6497:81;:::i;:::-;6488:90;;6598:5;6627:6;6620:5;6613:21;6661:4;6654:5;6650:16;6643:23;;6714:4;6706:6;6702:17;6694:6;6690:30;6743:3;6735:6;6732:15;6729:122;;;6762:79;;:::i;:::-;6729:122;6877:6;6860:220;6894:6;6889:3;6886:15;6860:220;;;6969:3;6998:37;7031:3;7019:10;6998:37;:::i;:::-;6993:3;6986:50;7065:4;7060:3;7056:14;7049:21;;6936:144;6920:4;6915:3;6911:14;6904:21;;6860:220;;;6864:21;6478:608;;6376:710;;;;;:::o;7109:370::-;7180:5;7229:3;7222:4;7214:6;7210:17;7206:27;7196:122;;7237:79;;:::i;:::-;7196:122;7354:6;7341:20;7379:94;7469:3;7461:6;7454:4;7446:6;7442:17;7379:94;:::i;:::-;7370:103;;7186:293;7109:370;;;;:::o;7485:311::-;7562:4;7652:18;7644:6;7641:30;7638:56;;;7674:18;;:::i;:::-;7638:56;7724:4;7716:6;7712:17;7704:25;;7784:4;7778;7774:15;7766:23;;7485:311;;;:::o;7819:710::-;7915:5;7940:81;7956:64;8013:6;7956:64;:::i;:::-;7940:81;:::i;:::-;7931:90;;8041:5;8070:6;8063:5;8056:21;8104:4;8097:5;8093:16;8086:23;;8157:4;8149:6;8145:17;8137:6;8133:30;8186:3;8178:6;8175:15;8172:122;;;8205:79;;:::i;:::-;8172:122;8320:6;8303:220;8337:6;8332:3;8329:15;8303:220;;;8412:3;8441:37;8474:3;8462:10;8441:37;:::i;:::-;8436:3;8429:50;8508:4;8503:3;8499:14;8492:21;;8379:144;8363:4;8358:3;8354:14;8347:21;;8303:220;;;8307:21;7921:608;;7819:710;;;;;:::o;8552:370::-;8623:5;8672:3;8665:4;8657:6;8653:17;8649:27;8639:122;;8680:79;;:::i;:::-;8639:122;8797:6;8784:20;8822:94;8912:3;8904:6;8897:4;8889:6;8885:17;8822:94;:::i;:::-;8813:103;;8629:293;8552:370;;;;:::o;8928:894::-;9046:6;9054;9103:2;9091:9;9082:7;9078:23;9074:32;9071:119;;;9109:79;;:::i;:::-;9071:119;9257:1;9246:9;9242:17;9229:31;9287:18;9279:6;9276:30;9273:117;;;9309:79;;:::i;:::-;9273:117;9414:78;9484:7;9475:6;9464:9;9460:22;9414:78;:::i;:::-;9404:88;;9200:302;9569:2;9558:9;9554:18;9541:32;9600:18;9592:6;9589:30;9586:117;;;9622:79;;:::i;:::-;9586:117;9727:78;9797:7;9788:6;9777:9;9773:22;9727:78;:::i;:::-;9717:88;;9512:303;8928:894;;;;;:::o;9828:474::-;9896:6;9904;9953:2;9941:9;9932:7;9928:23;9924:32;9921:119;;;9959:79;;:::i;:::-;9921:119;10079:1;10104:53;10149:7;10140:6;10129:9;10125:22;10104:53;:::i;:::-;10094:63;;10050:117;10206:2;10232:53;10277:7;10268:6;10257:9;10253:22;10232:53;:::i;:::-;10222:63;;10177:118;9828:474;;;;;:::o;10308:180::-;10356:77;10353:1;10346:88;10453:4;10450:1;10443:15;10477:4;10474:1;10467:15;10494:320;10538:6;10575:1;10569:4;10565:12;10555:22;;10622:1;10616:4;10612:12;10643:18;10633:81;;10699:4;10691:6;10687:17;10677:27;;10633:81;10761:2;10753:6;10750:14;10730:18;10727:38;10724:84;;10780:18;;:::i;:::-;10724:84;10545:269;10494:320;;;:::o;10820:180::-;10868:77;10865:1;10858:88;10965:4;10962:1;10955:15;10989:4;10986:1;10979:15;11006:191;11046:3;11065:20;11083:1;11065:20;:::i;:::-;11060:25;;11099:20;11117:1;11099:20;:::i;:::-;11094:25;;11142:1;11139;11135:9;11128:16;;11163:3;11160:1;11157:10;11154:36;;;11170:18;;:::i;:::-;11154:36;11006:191;;;;:::o;11203:176::-;11343:28;11339:1;11331:6;11327:14;11320:52;11203:176;:::o;11385:366::-;11527:3;11548:67;11612:2;11607:3;11548:67;:::i;:::-;11541:74;;11624:93;11713:3;11624:93;:::i;:::-;11742:2;11737:3;11733:12;11726:19;;11385:366;;;:::o;11757:419::-;11923:4;11961:2;11950:9;11946:18;11938:26;;12010:9;12004:4;12000:20;11996:1;11985:9;11981:17;11974:47;12038:131;12164:4;12038:131;:::i;:::-;12030:139;;11757:419;;;:::o;12182:180::-;12230:77;12227:1;12220:88;12327:4;12324:1;12317:15;12351:4;12348:1;12341:15;12368:233;12407:3;12430:24;12448:5;12430:24;:::i;:::-;12421:33;;12476:66;12469:5;12466:77;12463:103;;12546:18;;:::i;:::-;12463:103;12593:1;12586:5;12582:13;12575:20;;12368:233;;;:::o;12607:224::-;12747:34;12743:1;12735:6;12731:14;12724:58;12816:7;12811:2;12803:6;12799:15;12792:32;12607:224;:::o;12837:366::-;12979:3;13000:67;13064:2;13059:3;13000:67;:::i;:::-;12993:74;;13076:93;13165:3;13076:93;:::i;:::-;13194:2;13189:3;13185:12;13178:19;;12837:366;;;:::o;13209:419::-;13375:4;13413:2;13402:9;13398:18;13390:26;;13462:9;13456:4;13452:20;13448:1;13437:9;13433:17;13426:47;13490:131;13616:4;13490:131;:::i;:::-;13482:139;;13209:419;;;:::o;13634:223::-;13774:34;13770:1;13762:6;13758:14;13751:58;13843:6;13838:2;13830:6;13826:15;13819:31;13634:223;:::o;13863:366::-;14005:3;14026:67;14090:2;14085:3;14026:67;:::i;:::-;14019:74;;14102:93;14191:3;14102:93;:::i;:::-;14220:2;14215:3;14211:12;14204:19;;13863:366;;;:::o;14235:419::-;14401:4;14439:2;14428:9;14424:18;14416:26;;14488:9;14482:4;14478:20;14474:1;14463:9;14459:17;14452:47;14516:131;14642:4;14516:131;:::i;:::-;14508:139;;14235:419;;;:::o;14660:221::-;14800:34;14796:1;14788:6;14784:14;14777:58;14869:4;14864:2;14856:6;14852:15;14845:29;14660:221;:::o;14887:366::-;15029:3;15050:67;15114:2;15109:3;15050:67;:::i;:::-;15043:74;;15126:93;15215:3;15126:93;:::i;:::-;15244:2;15239:3;15235:12;15228:19;;14887:366;;;:::o;15259:419::-;15425:4;15463:2;15452:9;15448:18;15440:26;;15512:9;15506:4;15502:20;15498:1;15487:9;15483:17;15476:47;15540:131;15666:4;15540:131;:::i;:::-;15532:139;;15259:419;;;:::o;15684:179::-;15824:31;15820:1;15812:6;15808:14;15801:55;15684:179;:::o;15869:366::-;16011:3;16032:67;16096:2;16091:3;16032:67;:::i;:::-;16025:74;;16108:93;16197:3;16108:93;:::i;:::-;16226:2;16221:3;16217:12;16210:19;;15869:366;;;:::o;16241:419::-;16407:4;16445:2;16434:9;16430:18;16422:26;;16494:9;16488:4;16484:20;16480:1;16469:9;16465:17;16458:47;16522:131;16648:4;16522:131;:::i;:::-;16514:139;;16241:419;;;:::o;16666:224::-;16806:34;16802:1;16794:6;16790:14;16783:58;16875:7;16870:2;16862:6;16858:15;16851:32;16666:224;:::o;16896:366::-;17038:3;17059:67;17123:2;17118:3;17059:67;:::i;:::-;17052:74;;17135:93;17224:3;17135:93;:::i;:::-;17253:2;17248:3;17244:12;17237:19;;16896:366;;;:::o;17268:419::-;17434:4;17472:2;17461:9;17457:18;17449:26;;17521:9;17515:4;17511:20;17507:1;17496:9;17492:17;17485:47;17549:131;17675:4;17549:131;:::i;:::-;17541:139;;17268:419;;;:::o;17693:222::-;17833:34;17829:1;17821:6;17817:14;17810:58;17902:5;17897:2;17889:6;17885:15;17878:30;17693:222;:::o;17921:366::-;18063:3;18084:67;18148:2;18143:3;18084:67;:::i;:::-;18077:74;;18160:93;18249:3;18160:93;:::i;:::-;18278:2;18273:3;18269:12;18262:19;;17921:366;;;:::o;18293:419::-;18459:4;18497:2;18486:9;18482:18;18474:26;;18546:9;18540:4;18536:20;18532:1;18521:9;18517:17;18510:47;18574:131;18700:4;18574:131;:::i;:::-;18566:139;;18293:419;;;:::o;18718:225::-;18858:34;18854:1;18846:6;18842:14;18835:58;18927:8;18922:2;18914:6;18910:15;18903:33;18718:225;:::o;18949:366::-;19091:3;19112:67;19176:2;19171:3;19112:67;:::i;:::-;19105:74;;19188:93;19277:3;19188:93;:::i;:::-;19306:2;19301:3;19297:12;19290:19;;18949:366;;;:::o;19321:419::-;19487:4;19525:2;19514:9;19510:18;19502:26;;19574:9;19568:4;19564:20;19560:1;19549:9;19545:17;19538:47;19602:131;19728:4;19602:131;:::i;:::-;19594:139;;19321:419;;;:::o
Swarm Source
ipfs://61ec984554d7b3c9c1e71dbe4c401a832d681d54ef79847d4c4712ed112cc1e5
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.