ERC-20
Music
Overview
Max Total Supply
120,000,000,000 MMT
Holders
166 (0.00%)
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MMT
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-01 */ // 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: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol) pragma solidity ^0.8.0; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { _spendAllowance(account, _msgSender(), amount); _burn(account, amount); } } // File: MMT.sol pragma solidity ^0.8.2; contract MMT is ERC20, ERC20Burnable { constructor() ERC20("MMT", "MMT") { _mint(msg.sender, 120000000000 * 10 ** decimals()); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","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
60806040523480156200001157600080fd5b506040518060400160405280600381526020017f4d4d5400000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d4d5400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200027a565b508060049080519060200190620000af9291906200027a565b505050620000f333620000c7620000f960201b60201c565b600a620000d591906200046a565b641bf08eb000620000e79190620005a7565b6200010260201b60201c565b620006e9565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000175576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200016c9062000362565b60405180910390fd5b62000189600083836200027060201b60201c565b80600260008282546200019d9190620003b2565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000250919062000384565b60405180910390a36200026c600083836200027560201b60201c565b5050565b505050565b505050565b82805462000288906200061f565b90600052602060002090601f016020900481019282620002ac5760008555620002f8565b82601f10620002c757805160ff1916838001178555620002f8565b82800160010185558215620002f8579182015b82811115620002f7578251825591602001919060010190620002da565b5b5090506200030791906200030b565b5090565b5b80821115620003265760008160009055506001016200030c565b5090565b600062000339601f83620003a1565b91506200034682620006c0565b602082019050919050565b6200035c8162000608565b82525050565b600060208201905081810360008301526200037d816200032a565b9050919050565b60006020820190506200039b600083018462000351565b92915050565b600082825260208201905092915050565b6000620003bf8262000608565b9150620003cc8362000608565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000404576200040362000655565b5b828201905092915050565b6000808291508390505b6001851115620004615780860481111562000439576200043862000655565b5b6001851615620004495780820291505b80810290506200045985620006b3565b945062000419565b94509492505050565b6000620004778262000608565b9150620004848362000612565b9250620004b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004bb565b905092915050565b600082620004cd5760019050620005a0565b81620004dd5760009050620005a0565b8160018114620004f65760028114620005015762000537565b6001915050620005a0565b60ff84111562000516576200051562000655565b5b8360020a91508482111562000530576200052f62000655565b5b50620005a0565b5060208310610133831016604e8410600b8410161715620005715782820a9050838111156200056b576200056a62000655565b5b620005a0565b6200058084848460016200040f565b925090508184048111156200059a576200059962000655565b5b81810290505b9392505050565b6000620005b48262000608565b9150620005c18362000608565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620005fd57620005fc62000655565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200063857607f821691505b602082108114156200064f576200064e62000684565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6115f780620006f96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e99190610fdf565b60405180910390f35b61010c60048036038101906101079190610dbe565b610366565b6040516101199190610fc4565b60405180910390f35b61012a610389565b6040516101379190611121565b60405180910390f35b61015a60048036038101906101559190610d6f565b610393565b6040516101679190610fc4565b60405180910390f35b6101786103c2565b604051610185919061113c565b60405180910390f35b6101a860048036038101906101a39190610dbe565b6103cb565b6040516101b59190610fc4565b60405180910390f35b6101d860048036038101906101d39190610dfa565b610402565b005b6101f460048036038101906101ef9190610d0a565b610416565b6040516102019190611121565b60405180910390f35b610224600480360381019061021f9190610dbe565b61045e565b005b61022e61047e565b60405161023b9190610fdf565b60405180910390f35b61025e60048036038101906102599190610dbe565b610510565b60405161026b9190610fc4565b60405180910390f35b61028e60048036038101906102899190610dbe565b610587565b60405161029b9190610fc4565b60405180910390f35b6102be60048036038101906102b99190610d33565b6105aa565b6040516102cb9190611121565b60405180910390f35b6060600380546102e390611251565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611251565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600080610371610631565b905061037e818585610639565b600191505092915050565b6000600254905090565b60008061039e610631565b90506103ab858285610804565b6103b6858585610890565b60019150509392505050565b60006012905090565b6000806103d6610631565b90506103f78185856103e885896105aa565b6103f29190611173565b610639565b600191505092915050565b61041361040d610631565b82610b08565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104708261046a610631565b83610804565b61047a8282610b08565b5050565b60606004805461048d90611251565b80601f01602080910402602001604051908101604052809291908181526020018280546104b990611251565b80156105065780601f106104db57610100808354040283529160200191610506565b820191906000526020600020905b8154815290600101906020018083116104e957829003601f168201915b5050505050905090565b60008061051b610631565b9050600061052982866105aa565b90508381101561056e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056590611101565b60405180910390fd5b61057b8286868403610639565b60019250505092915050565b600080610592610631565b905061059f818585610890565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a0906110e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071090611041565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107f79190611121565b60405180910390a3505050565b600061081084846105aa565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461088a578181101561087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390611061565b60405180910390fd5b6108898484848403610639565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906110c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790611001565b60405180910390fd5b61097b838383610cd6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890611081565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610aef9190611121565b60405180910390a3610b02848484610cdb565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f906110a1565b60405180910390fd5b610b8482600083610cd6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0190611021565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cbd9190611121565b60405180910390a3610cd183600084610cdb565b505050565b505050565b505050565b600081359050610cef81611593565b92915050565b600081359050610d04816115aa565b92915050565b600060208284031215610d1c57600080fd5b6000610d2a84828501610ce0565b91505092915050565b60008060408385031215610d4657600080fd5b6000610d5485828601610ce0565b9250506020610d6585828601610ce0565b9150509250929050565b600080600060608486031215610d8457600080fd5b6000610d9286828701610ce0565b9350506020610da386828701610ce0565b9250506040610db486828701610cf5565b9150509250925092565b60008060408385031215610dd157600080fd5b6000610ddf85828601610ce0565b9250506020610df085828601610cf5565b9150509250929050565b600060208284031215610e0c57600080fd5b6000610e1a84828501610cf5565b91505092915050565b610e2c816111db565b82525050565b6000610e3d82611157565b610e478185611162565b9350610e5781856020860161121e565b610e60816112e1565b840191505092915050565b6000610e78602383611162565b9150610e83826112f2565b604082019050919050565b6000610e9b602283611162565b9150610ea682611341565b604082019050919050565b6000610ebe602283611162565b9150610ec982611390565b604082019050919050565b6000610ee1601d83611162565b9150610eec826113df565b602082019050919050565b6000610f04602683611162565b9150610f0f82611408565b604082019050919050565b6000610f27602183611162565b9150610f3282611457565b604082019050919050565b6000610f4a602583611162565b9150610f55826114a6565b604082019050919050565b6000610f6d602483611162565b9150610f78826114f5565b604082019050919050565b6000610f90602583611162565b9150610f9b82611544565b604082019050919050565b610faf81611207565b82525050565b610fbe81611211565b82525050565b6000602082019050610fd96000830184610e23565b92915050565b60006020820190508181036000830152610ff98184610e32565b905092915050565b6000602082019050818103600083015261101a81610e6b565b9050919050565b6000602082019050818103600083015261103a81610e8e565b9050919050565b6000602082019050818103600083015261105a81610eb1565b9050919050565b6000602082019050818103600083015261107a81610ed4565b9050919050565b6000602082019050818103600083015261109a81610ef7565b9050919050565b600060208201905081810360008301526110ba81610f1a565b9050919050565b600060208201905081810360008301526110da81610f3d565b9050919050565b600060208201905081810360008301526110fa81610f60565b9050919050565b6000602082019050818103600083015261111a81610f83565b9050919050565b60006020820190506111366000830184610fa6565b92915050565b60006020820190506111516000830184610fb5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061117e82611207565b915061118983611207565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111be576111bd611283565b5b828201905092915050565b60006111d4826111e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561123c578082015181840152602081019050611221565b8381111561124b576000848401525b50505050565b6000600282049050600182168061126957607f821691505b6020821081141561127d5761127c6112b2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61159c816111c9565b81146115a757600080fd5b50565b6115b381611207565b81146115be57600080fd5b5056fea264697066735822122042aade1c6b6677e9d2d1b54facb7532ded32b8e4e33226e81048b0216ce2e8ad64736f6c63430008020033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e99190610fdf565b60405180910390f35b61010c60048036038101906101079190610dbe565b610366565b6040516101199190610fc4565b60405180910390f35b61012a610389565b6040516101379190611121565b60405180910390f35b61015a60048036038101906101559190610d6f565b610393565b6040516101679190610fc4565b60405180910390f35b6101786103c2565b604051610185919061113c565b60405180910390f35b6101a860048036038101906101a39190610dbe565b6103cb565b6040516101b59190610fc4565b60405180910390f35b6101d860048036038101906101d39190610dfa565b610402565b005b6101f460048036038101906101ef9190610d0a565b610416565b6040516102019190611121565b60405180910390f35b610224600480360381019061021f9190610dbe565b61045e565b005b61022e61047e565b60405161023b9190610fdf565b60405180910390f35b61025e60048036038101906102599190610dbe565b610510565b60405161026b9190610fc4565b60405180910390f35b61028e60048036038101906102899190610dbe565b610587565b60405161029b9190610fc4565b60405180910390f35b6102be60048036038101906102b99190610d33565b6105aa565b6040516102cb9190611121565b60405180910390f35b6060600380546102e390611251565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611251565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600080610371610631565b905061037e818585610639565b600191505092915050565b6000600254905090565b60008061039e610631565b90506103ab858285610804565b6103b6858585610890565b60019150509392505050565b60006012905090565b6000806103d6610631565b90506103f78185856103e885896105aa565b6103f29190611173565b610639565b600191505092915050565b61041361040d610631565b82610b08565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104708261046a610631565b83610804565b61047a8282610b08565b5050565b60606004805461048d90611251565b80601f01602080910402602001604051908101604052809291908181526020018280546104b990611251565b80156105065780601f106104db57610100808354040283529160200191610506565b820191906000526020600020905b8154815290600101906020018083116104e957829003601f168201915b5050505050905090565b60008061051b610631565b9050600061052982866105aa565b90508381101561056e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056590611101565b60405180910390fd5b61057b8286868403610639565b60019250505092915050565b600080610592610631565b905061059f818585610890565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a0906110e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071090611041565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107f79190611121565b60405180910390a3505050565b600061081084846105aa565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461088a578181101561087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390611061565b60405180910390fd5b6108898484848403610639565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906110c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790611001565b60405180910390fd5b61097b838383610cd6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890611081565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610aef9190611121565b60405180910390a3610b02848484610cdb565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f906110a1565b60405180910390fd5b610b8482600083610cd6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0190611021565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cbd9190611121565b60405180910390a3610cd183600084610cdb565b505050565b505050565b505050565b600081359050610cef81611593565b92915050565b600081359050610d04816115aa565b92915050565b600060208284031215610d1c57600080fd5b6000610d2a84828501610ce0565b91505092915050565b60008060408385031215610d4657600080fd5b6000610d5485828601610ce0565b9250506020610d6585828601610ce0565b9150509250929050565b600080600060608486031215610d8457600080fd5b6000610d9286828701610ce0565b9350506020610da386828701610ce0565b9250506040610db486828701610cf5565b9150509250925092565b60008060408385031215610dd157600080fd5b6000610ddf85828601610ce0565b9250506020610df085828601610cf5565b9150509250929050565b600060208284031215610e0c57600080fd5b6000610e1a84828501610cf5565b91505092915050565b610e2c816111db565b82525050565b6000610e3d82611157565b610e478185611162565b9350610e5781856020860161121e565b610e60816112e1565b840191505092915050565b6000610e78602383611162565b9150610e83826112f2565b604082019050919050565b6000610e9b602283611162565b9150610ea682611341565b604082019050919050565b6000610ebe602283611162565b9150610ec982611390565b604082019050919050565b6000610ee1601d83611162565b9150610eec826113df565b602082019050919050565b6000610f04602683611162565b9150610f0f82611408565b604082019050919050565b6000610f27602183611162565b9150610f3282611457565b604082019050919050565b6000610f4a602583611162565b9150610f55826114a6565b604082019050919050565b6000610f6d602483611162565b9150610f78826114f5565b604082019050919050565b6000610f90602583611162565b9150610f9b82611544565b604082019050919050565b610faf81611207565b82525050565b610fbe81611211565b82525050565b6000602082019050610fd96000830184610e23565b92915050565b60006020820190508181036000830152610ff98184610e32565b905092915050565b6000602082019050818103600083015261101a81610e6b565b9050919050565b6000602082019050818103600083015261103a81610e8e565b9050919050565b6000602082019050818103600083015261105a81610eb1565b9050919050565b6000602082019050818103600083015261107a81610ed4565b9050919050565b6000602082019050818103600083015261109a81610ef7565b9050919050565b600060208201905081810360008301526110ba81610f1a565b9050919050565b600060208201905081810360008301526110da81610f3d565b9050919050565b600060208201905081810360008301526110fa81610f60565b9050919050565b6000602082019050818103600083015261111a81610f83565b9050919050565b60006020820190506111366000830184610fa6565b92915050565b60006020820190506111516000830184610fb5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061117e82611207565b915061118983611207565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111be576111bd611283565b5b828201905092915050565b60006111d4826111e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561123c578082015181840152602081019050611221565b8381111561124b576000848401525b50505050565b6000600282049050600182168061126957607f821691505b6020821081141561127d5761127c6112b2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61159c816111c9565b81146115a757600080fd5b50565b6115b381611207565b81146115be57600080fd5b5056fea264697066735822122042aade1c6b6677e9d2d1b54facb7532ded32b8e4e33226e81048b0216ce2e8ad64736f6c63430008020033
Deployed Bytecode Sourcemap
19056:150:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9002:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7771:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9783:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7613:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10487:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18422:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7942:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18832:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6870:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11228:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8275:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8531:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6651:100;6705:13;6738:5;6731:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:100;:::o;9002:201::-;9085:4;9102:13;9118:12;:10;:12::i;:::-;9102:28;;9141:32;9150:5;9157:7;9166:6;9141:8;:32::i;:::-;9191:4;9184:11;;;9002:201;;;;:::o;7771:108::-;7832:7;7859:12;;7852:19;;7771:108;:::o;9783:295::-;9914:4;9931:15;9949:12;:10;:12::i;:::-;9931:30;;9972:38;9988:4;9994:7;10003:6;9972:15;:38::i;:::-;10021:27;10031:4;10037:2;10041:6;10021:9;:27::i;:::-;10066:4;10059:11;;;9783:295;;;;;:::o;7613:93::-;7671:5;7696:2;7689:9;;7613:93;:::o;10487:238::-;10575:4;10592:13;10608:12;:10;:12::i;:::-;10592:28;;10631:64;10640:5;10647:7;10684:10;10656:25;10666:5;10673:7;10656:9;:25::i;:::-;:38;;;;:::i;:::-;10631:8;:64::i;:::-;10713:4;10706:11;;;10487:238;;;;:::o;18422:91::-;18478:27;18484:12;:10;:12::i;:::-;18498:6;18478:5;:27::i;:::-;18422:91;:::o;7942:127::-;8016:7;8043:9;:18;8053:7;8043:18;;;;;;;;;;;;;;;;8036:25;;7942:127;;;:::o;18832:164::-;18909:46;18925:7;18934:12;:10;:12::i;:::-;18948:6;18909:15;:46::i;:::-;18966:22;18972:7;18981:6;18966:5;:22::i;:::-;18832:164;;:::o;6870:104::-;6926:13;6959:7;6952:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:104;:::o;11228:436::-;11321:4;11338:13;11354:12;:10;:12::i;:::-;11338:28;;11377:24;11404:25;11414:5;11421:7;11404:9;:25::i;:::-;11377:52;;11468:15;11448:16;:35;;11440:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11561:60;11570:5;11577:7;11605:15;11586:16;:34;11561:8;:60::i;:::-;11652:4;11645:11;;;;11228:436;;;;:::o;8275:193::-;8354:4;8371:13;8387:12;:10;:12::i;:::-;8371:28;;8410;8420:5;8427:2;8431:6;8410:9;:28::i;:::-;8456:4;8449:11;;;8275:193;;;;:::o;8531:151::-;8620:7;8647:11;:18;8659:5;8647:18;;;;;;;;;;;;;;;:27;8666:7;8647:27;;;;;;;;;;;;;;;;8640:34;;8531:151;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;15255:380::-;15408:1;15391:19;;:5;:19;;;;15383:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15489:1;15470:21;;:7;:21;;;;15462:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15573:6;15543:11;:18;15555:5;15543:18;;;;;;;;;;;;;;;:27;15562:7;15543:27;;;;;;;;;;;;;;;:36;;;;15611:7;15595:32;;15604:5;15595:32;;;15620:6;15595:32;;;;;;:::i;:::-;;;;;;;;15255:380;;;:::o;15926:453::-;16061:24;16088:25;16098:5;16105:7;16088:9;:25::i;:::-;16061:52;;16148:17;16128:16;:37;16124:248;;16210:6;16190:16;:26;;16182:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16294:51;16303:5;16310:7;16338:6;16319:16;:25;16294:8;:51::i;:::-;16124:248;15926:453;;;;:::o;12134:840::-;12281:1;12265:18;;:4;:18;;;;12257:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12358:1;12344:16;;:2;:16;;;;12336:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12413:38;12434:4;12440:2;12444:6;12413:20;:38::i;:::-;12464:19;12486:9;:15;12496:4;12486:15;;;;;;;;;;;;;;;;12464:37;;12535:6;12520:11;:21;;12512:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12652:6;12638:11;:20;12620:9;:15;12630:4;12620:15;;;;;;;;;;;;;;;:38;;;;12855:6;12838:9;:13;12848:2;12838:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12905:2;12890:26;;12899:4;12890:26;;;12909:6;12890:26;;;;;;:::i;:::-;;;;;;;;12929:37;12949:4;12955:2;12959:6;12929:19;:37::i;:::-;12134:840;;;;:::o;14142:675::-;14245:1;14226:21;;:7;:21;;;;14218:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14298:49;14319:7;14336:1;14340:6;14298:20;:49::i;:::-;14360:22;14385:9;:18;14395:7;14385:18;;;;;;;;;;;;;;;;14360:43;;14440:6;14422:14;:24;;14414:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14559:6;14542:14;:23;14521:9;:18;14531:7;14521:18;;;;;;;;;;;;;;;:44;;;;14676:6;14660:12;;:22;;;;;;;;;;;14737:1;14711:37;;14720:7;14711:37;;;14741:6;14711:37;;;;;;:::i;:::-;;;;;;;;14761:48;14781:7;14798:1;14802:6;14761:19;:48::i;:::-;14142:675;;;:::o;16979:125::-;;;;:::o;17708:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:262::-;;2057:2;2045:9;2036:7;2032:23;2028:32;2025:2;;;2073:1;2070;2063:12;2025:2;2116:1;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2087:117;2015:196;;;;:::o;2217:109::-;2298:21;2313:5;2298:21;:::i;:::-;2293:3;2286:34;2276:50;;:::o;2332:364::-;;2448:39;2481:5;2448:39;:::i;:::-;2503:71;2567:6;2562:3;2503:71;:::i;:::-;2496:78;;2583:52;2628:6;2623:3;2616:4;2609:5;2605:16;2583:52;:::i;:::-;2660:29;2682:6;2660:29;:::i;:::-;2655:3;2651:39;2644:46;;2424:272;;;;;:::o;2702:366::-;;2865:67;2929:2;2924:3;2865:67;:::i;:::-;2858:74;;2941:93;3030:3;2941:93;:::i;:::-;3059:2;3054:3;3050:12;3043:19;;2848:220;;;:::o;3074:366::-;;3237:67;3301:2;3296:3;3237:67;:::i;:::-;3230:74;;3313:93;3402:3;3313:93;:::i;:::-;3431:2;3426:3;3422:12;3415:19;;3220:220;;;:::o;3446:366::-;;3609:67;3673:2;3668:3;3609:67;:::i;:::-;3602:74;;3685:93;3774:3;3685:93;:::i;:::-;3803:2;3798:3;3794:12;3787:19;;3592:220;;;:::o;3818:366::-;;3981:67;4045:2;4040:3;3981:67;:::i;:::-;3974:74;;4057:93;4146:3;4057:93;:::i;:::-;4175:2;4170:3;4166:12;4159:19;;3964:220;;;:::o;4190:366::-;;4353:67;4417:2;4412:3;4353:67;:::i;:::-;4346:74;;4429:93;4518:3;4429:93;:::i;:::-;4547:2;4542:3;4538:12;4531:19;;4336:220;;;:::o;4562:366::-;;4725:67;4789:2;4784:3;4725:67;:::i;:::-;4718:74;;4801:93;4890:3;4801:93;:::i;:::-;4919:2;4914:3;4910:12;4903:19;;4708:220;;;:::o;4934:366::-;;5097:67;5161:2;5156:3;5097:67;:::i;:::-;5090:74;;5173:93;5262:3;5173:93;:::i;:::-;5291:2;5286:3;5282:12;5275:19;;5080:220;;;:::o;5306:366::-;;5469:67;5533:2;5528:3;5469:67;:::i;:::-;5462:74;;5545:93;5634:3;5545:93;:::i;:::-;5663:2;5658:3;5654:12;5647:19;;5452:220;;;:::o;5678:366::-;;5841:67;5905:2;5900:3;5841:67;:::i;:::-;5834:74;;5917:93;6006:3;5917:93;:::i;:::-;6035:2;6030:3;6026:12;6019:19;;5824:220;;;:::o;6050:118::-;6137:24;6155:5;6137:24;:::i;:::-;6132:3;6125:37;6115:53;;:::o;6174:112::-;6257:22;6273:5;6257:22;:::i;:::-;6252:3;6245:35;6235:51;;:::o;6292:210::-;;6417:2;6406:9;6402:18;6394:26;;6430:65;6492:1;6481:9;6477:17;6468:6;6430:65;:::i;:::-;6384:118;;;;:::o;6508:313::-;;6659:2;6648:9;6644:18;6636:26;;6708:9;6702:4;6698:20;6694:1;6683:9;6679:17;6672:47;6736:78;6809:4;6800:6;6736:78;:::i;:::-;6728:86;;6626:195;;;;:::o;6827:419::-;;7031:2;7020:9;7016:18;7008:26;;7080:9;7074:4;7070:20;7066:1;7055:9;7051:17;7044:47;7108:131;7234:4;7108:131;:::i;:::-;7100:139;;6998:248;;;:::o;7252:419::-;;7456:2;7445:9;7441:18;7433:26;;7505:9;7499:4;7495:20;7491:1;7480:9;7476:17;7469:47;7533:131;7659:4;7533:131;:::i;:::-;7525:139;;7423:248;;;:::o;7677:419::-;;7881:2;7870:9;7866:18;7858:26;;7930:9;7924:4;7920:20;7916:1;7905:9;7901:17;7894:47;7958:131;8084:4;7958:131;:::i;:::-;7950:139;;7848:248;;;:::o;8102:419::-;;8306:2;8295:9;8291:18;8283:26;;8355:9;8349:4;8345:20;8341:1;8330:9;8326:17;8319:47;8383:131;8509:4;8383:131;:::i;:::-;8375:139;;8273:248;;;:::o;8527:419::-;;8731:2;8720:9;8716:18;8708:26;;8780:9;8774:4;8770:20;8766:1;8755:9;8751:17;8744:47;8808:131;8934:4;8808:131;:::i;:::-;8800:139;;8698:248;;;:::o;8952:419::-;;9156:2;9145:9;9141:18;9133:26;;9205:9;9199:4;9195:20;9191:1;9180:9;9176:17;9169:47;9233:131;9359:4;9233:131;:::i;:::-;9225:139;;9123:248;;;:::o;9377:419::-;;9581:2;9570:9;9566:18;9558:26;;9630:9;9624:4;9620:20;9616:1;9605:9;9601:17;9594:47;9658:131;9784:4;9658:131;:::i;:::-;9650:139;;9548:248;;;:::o;9802:419::-;;10006:2;9995:9;9991:18;9983:26;;10055:9;10049:4;10045:20;10041:1;10030:9;10026:17;10019:47;10083:131;10209:4;10083:131;:::i;:::-;10075:139;;9973:248;;;:::o;10227:419::-;;10431:2;10420:9;10416:18;10408:26;;10480:9;10474:4;10470:20;10466:1;10455:9;10451:17;10444:47;10508:131;10634:4;10508:131;:::i;:::-;10500:139;;10398:248;;;:::o;10652:222::-;;10783:2;10772:9;10768:18;10760:26;;10796:71;10864:1;10853:9;10849:17;10840:6;10796:71;:::i;:::-;10750:124;;;;:::o;10880:214::-;;11007:2;10996:9;10992:18;10984:26;;11020:67;11084:1;11073:9;11069:17;11060:6;11020:67;:::i;:::-;10974:120;;;;:::o;11100:99::-;;11186:5;11180:12;11170:22;;11159:40;;;:::o;11205:169::-;;11323:6;11318:3;11311:19;11363:4;11358:3;11354:14;11339:29;;11301:73;;;;:::o;11380:305::-;;11439:20;11457:1;11439:20;:::i;:::-;11434:25;;11473:20;11491:1;11473:20;:::i;:::-;11468:25;;11627:1;11559:66;11555:74;11552:1;11549:81;11546:2;;;11633:18;;:::i;:::-;11546:2;11677:1;11674;11670:9;11663:16;;11424:261;;;;:::o;11691:96::-;;11757:24;11775:5;11757:24;:::i;:::-;11746:35;;11736:51;;;:::o;11793:90::-;;11870:5;11863:13;11856:21;11845:32;;11835:48;;;:::o;11889:126::-;;11966:42;11959:5;11955:54;11944:65;;11934:81;;;:::o;12021:77::-;;12087:5;12076:16;;12066:32;;;:::o;12104:86::-;;12179:4;12172:5;12168:16;12157:27;;12147:43;;;:::o;12196:307::-;12264:1;12274:113;12288:6;12285:1;12282:13;12274:113;;;12373:1;12368:3;12364:11;12358:18;12354:1;12349:3;12345:11;12338:39;12310:2;12307:1;12303:10;12298:15;;12274:113;;;12405:6;12402:1;12399:13;12396:2;;;12485:1;12476:6;12471:3;12467:16;12460:27;12396:2;12245:258;;;;:::o;12509:320::-;;12590:1;12584:4;12580:12;12570:22;;12637:1;12631:4;12627:12;12658:18;12648:2;;12714:4;12706:6;12702:17;12692:27;;12648:2;12776;12768:6;12765:14;12745:18;12742:38;12739:2;;;12795:18;;:::i;:::-;12739:2;12560:269;;;;:::o;12835:180::-;12883:77;12880:1;12873:88;12980:4;12977:1;12970:15;13004:4;13001:1;12994:15;13021:180;13069:77;13066:1;13059:88;13166:4;13163:1;13156:15;13190:4;13187:1;13180:15;13207:102;;13299:2;13295:7;13290:2;13283:5;13279:14;13275:28;13265:38;;13255:54;;;:::o;13315:222::-;13455:34;13451:1;13443:6;13439:14;13432:58;13524:5;13519:2;13511:6;13507:15;13500:30;13421:116;:::o;13543:221::-;13683:34;13679:1;13671:6;13667:14;13660:58;13752:4;13747:2;13739:6;13735:15;13728:29;13649:115;:::o;13770:221::-;13910:34;13906:1;13898:6;13894:14;13887:58;13979:4;13974:2;13966:6;13962:15;13955:29;13876:115;:::o;13997:179::-;14137:31;14133:1;14125:6;14121:14;14114:55;14103:73;:::o;14182:225::-;14322:34;14318:1;14310:6;14306:14;14299:58;14391:8;14386:2;14378:6;14374:15;14367:33;14288:119;:::o;14413:220::-;14553:34;14549:1;14541:6;14537:14;14530:58;14622:3;14617:2;14609:6;14605:15;14598:28;14519:114;:::o;14639:224::-;14779:34;14775:1;14767:6;14763:14;14756:58;14848:7;14843:2;14835:6;14831:15;14824:32;14745:118;:::o;14869:223::-;15009:34;15005:1;14997:6;14993:14;14986:58;15078:6;15073:2;15065:6;15061:15;15054:31;14975:117;:::o;15098:224::-;15238:34;15234:1;15226:6;15222:14;15215:58;15307:7;15302:2;15294:6;15290:15;15283:32;15204:118;:::o;15328:122::-;15401:24;15419:5;15401:24;:::i;:::-;15394:5;15391:35;15381:2;;15440:1;15437;15430:12;15381:2;15371:79;:::o;15456:122::-;15529:24;15547:5;15529:24;:::i;:::-;15522:5;15519:35;15509:2;;15568:1;15565;15558:12;15509:2;15499:79;:::o
Swarm Source
ipfs://42aade1c6b6677e9d2d1b54facb7532ded32b8e4e33226e81048b0216ce2e8ad
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.