Feature Tip: Add private address tag to any address under My Name Tag !
ERC-1155
Overview
Max Total Supply
392 HPPRPASS
Holders
213
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CollectibleMintPassFactory
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT/*...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................';:ccc:,.......................................,:ccc:;'...................................................................;dOXNWMMMWNKkl,...............................,lkKNWMMMWNKOd;..............................................................:ONMMMMMMMMMMMMMXx,...........................,xXMMMMMMMMMMMMMNO:...........................................................dNMMMMMMWNXNWMMMMMMKc.........................cKMMMMMMWNXNWMMMMMMNd.........................................................dWMMMMWKo:,',cxNMMMMMX:.......................:XMMMMMNxc,',:oKMMMMMWd.......................................................;KMMMMMO, ......cXMMMMMx.......................kMMMMMXc. .....,OMMMMMK;......................................................cXMMMMWo....... .OMMMMMO'.....................'OMMMMMO. .......oWMMMMXc......................................................cNMMMMWo....... .kMMMMMO'.....................'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMM0'.....................'0MMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMM0'.....................'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMM0'.....................'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMM0'.....................'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMM0, .cl,................'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMMO, .dWXx;...'oO;.......'OMMMMMk. .......oWMMMMNc......................................................cNMMMMWo....... .kMMMMMO'..'kWMNx,;xKWd.;l'...'OMMMMMk. .......oWMMMMNc...........................
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IAccessControl.sol";import "../utils/Context.sol";import "../utils/Strings.sol";import "../utils/introspection/ERC165.sol";/*** @dev Contract module that allows children to implement role-based access* control mechanisms. This is a lightweight version that doesn't allow enumerating role* members except through off-chain means by accessing the contract event logs. Some* applications may benefit from on-chain enumerability, for those cases see* {AccessControlEnumerable}.** Roles are referred to by their `bytes32` identifier. These should be exposed* in the external API and be unique. The best way to achieve this is by* using `public constant` hash digests:** ```* bytes32 public constant MY_ROLE = keccak256("MY_ROLE");* ```** Roles can be used to represent a set of permissions. To restrict access to a* function call, use {hasRole}:
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IERC1155.sol";import "./IERC1155Receiver.sol";import "./extensions/IERC1155MetadataURI.sol";import "../../utils/Address.sol";import "../../utils/Context.sol";import "../../utils/introspection/ERC165.sol";/*** @dev Implementation of the basic standard multi-token.* See https://eips.ethereum.org/EIPS/eip-1155* Originally based on code by Enjin: https://github.com/enjin/erc-1155** _Available since v3.1._*/contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {using Address for address;// Mapping from token ID to account balancesmapping(uint256 => mapping(address => uint256)) private _balances;// Mapping from account to operator approvalsmapping(address => mapping(address => bool)) private _operatorApprovals;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev These functions deal with verification of Merkle Trees proofs.** The proofs can be generated using the JavaScript library* https://github.com/miguelmota/merkletreejs[merkletreejs].* Note: the hashing algorithm should be keccak256 and pair sorting should be enabled.** See `test/utils/cryptography/MerkleProof.test.js` for some examples.*/library MerkleProof {/*** @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree* defined by `root`. For this, a `proof` must be provided, containing* sibling hashes on the branch from the leaf to the root of the tree. Each* pair of leaves and each pair of pre-images are assumed to be sorted.*/function verify(bytes32[] memory proof,bytes32 root,bytes32 leaf) internal pure returns (bool) {bytes32 computedHash = leaf;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev String operations.*/library Strings {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {// Inspired by OraclizeAPI's implementation - MIT licence// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.solif (value == 0) {return "0";}uint256 temp = value;uint256 digits;while (temp != 0) {digits++;temp /= 10;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;// CAUTION// This version of SafeMath should only be used with Solidity 0.8 or later,// because it relies on the compiler's built in overflow checks./*** @dev Wrappers over Solidity's arithmetic operations.** NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler* now has built in overflow checking.*/library SafeMath {/*** @dev Returns the addition of two unsigned integers, with an overflow flag.** _Available since v3.4._*/function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {unchecked {uint256 c = a + b;if (c < a) return (false, 0);return (true, c);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @title Counters* @author Matt Condon (@shrugs)* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number* of elements in a mapping, issuing ERC721 ids, or counting request ids.** Include with `using Counters for Counters.Counter;`*/library Counters {struct Counter {// This variable should never be directly accessed by users of the library: interactions must be restricted to// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add// this feature: see https://github.com/ethereum/solidity/issues/4637uint256 _value; // default: 0}function current(Counter storage counter) internal view returns (uint256) {return counter._value;}function increment(Counter storage counter) internal {unchecked {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;import "@openzeppelin/contracts/access/AccessControl.sol";import '@openzeppelin/contracts/access/Ownable.sol';import '@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol';import '@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol';import '@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol';abstract contract AbstractMintPassFactory is AccessControl, ERC1155Pausable, ERC1155Supply, ERC1155Burnable, Ownable {string public name_;string public symbol_;function pause() external onlyOwner {_pause();}function unpause() external onlyOwner {_unpause();}function setURI(string memory baseURI) external onlyOwner {_setURI(baseURI);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >= 0.4.22 <0.9.0;library console {address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);function _sendLogPayload(bytes memory payload) private view {uint256 payloadLength = payload.length;address consoleAddress = CONSOLE_ADDRESS;assembly {let payloadStart := add(payload, 32)let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)}}function log() internal view {_sendLogPayload(abi.encodeWithSignature("log()"));}function logInt(int p0) internal view {_sendLogPayload(abi.encodeWithSignature("log(int)", p0));}function logUint(uint p0) internal view {_sendLogPayload(abi.encodeWithSignature("log(uint)", p0));}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev External interface of AccessControl declared to support ERC165 detection.*/interface IAccessControl {/*** @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`** `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite* {RoleAdminChanged} not being emitted signaling this.** _Available since v3.1._*/event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);/*** @dev Emitted when `account` is granted `role`.** `sender` is the account that originated the contract call, an admin role* bearer except when using {AccessControl-_setupRole}.*/event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
1234567891011121314151617181920212223// SPDX-License-Identifier: MITpragma 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;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {return interfaceId == type(IERC165).interfaceId;
123456789101112131415161718192021222324// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC1155 compliant contract, as defined in the* https://eips.ethereum.org/EIPS/eip-1155[EIP].** _Available since v3.1._*/interface IERC1155 is IERC165 {/*** @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.*/event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);/*** @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all* transfers.*/event TransferBatch(address indexed operator,address indexed from,address indexed to,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev _Available since v3.1._*/interface IERC1155Receiver is IERC165 {/**@dev Handles the receipt of a single ERC1155 token type. This function iscalled at the end of a `safeTransferFrom` after the balance has been updated.To accept the transfer, this must return`bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`(i.e. 0xf23a6e61, or its own function selector).@param operator The address which initiated the transfer (i.e. msg.sender)@param from The address which previously owned the token@param id The ID of the token being transferred@param value The amount of tokens being transferred@param data Additional data with no specified format@return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed*/function onERC1155Received(address operator,address from,
123456789101112131415161718192021// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../IERC1155.sol";/*** @dev Interface of the optional ERC1155MetadataExtension interface, as defined* in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].** _Available since v3.1._*/interface IERC1155MetadataURI is IERC1155 {/*** @dev Returns the URI for token type `id`.** If the `\{id\}` substring is present in the URI, it must be replaced by* clients with the actual token type ID.*/function uri(uint256 id) external view returns (string memory);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed* ====*/function isContract(address account) internal view returns (bool) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../ERC1155.sol";/*** @dev Extension of {ERC1155} that allows token holders to destroy both their* own tokens and those that they have been approved to use.** _Available since v3.1._*/abstract contract ERC1155Burnable is ERC1155 {function burn(address account,uint256 id,uint256 value) public virtual {require(account == _msgSender() || isApprovedForAll(account, _msgSender()),"ERC1155: caller is not owner nor approved");_burn(account, id, value);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../ERC1155.sol";import "../../../security/Pausable.sol";/*** @dev ERC1155 token with pausable token transfers, minting and burning.** Useful for scenarios such as preventing trades until the end of an evaluation* period, or having an emergency switch for freezing all token transfers in the* event of a large bug.** _Available since v3.1._*/abstract contract ERC1155Pausable is ERC1155, Pausable {/*** @dev See {ERC1155-_beforeTokenTransfer}.** Requirements:** - the contract must not be paused.*/function _beforeTokenTransfer(address operator,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../ERC1155.sol";/*** @dev Extension of ERC1155 that adds tracking of total supply per id.** Useful for scenarios where Fungible and Non-fungible tokens have to be* clearly identified. Note: While a totalSupply of 1 might mean the* corresponding is an NFT, there is no guarantees that no other token with the* same id are not going to be minted.*/abstract contract ERC1155Supply is ERC1155 {mapping(uint256 => uint256) private _totalSupply;/*** @dev Total amount of tokens in with a given id.*/function totalSupply(uint256 id) public view virtual returns (uint256) {return _totalSupply[id];}/*** @dev Indicates weither any token exist with a given id, or not.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which allows children to implement an emergency stop* mechanism that can be triggered by an authorized account.** This module is used through inheritance. It will make available the* modifiers `whenNotPaused` and `whenPaused`, which can be applied to* the functions of your contract. Note that they will not be pausable by* simply including this module, only once the modifiers are put in place.*/abstract contract Pausable is Context {/*** @dev Emitted when the pause is triggered by `account`.*/event Paused(address account);/*** @dev Emitted when the pause is lifted by `account`.*/event Unpaused(address account);
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"metaDataURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"index","type":"uint256[]"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"ClaimedMultiple","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_windowOpens","type":"uint256"},{"internalType":"uint256","name":"_windowCloses","type":"uint256"},{"internalType":"uint256","name":"_mintPrice","type":"uint256"},{"internalType":"uint256","name":"_maxSupply","type":"uint256"},{"internalType":"uint256","name":"_maxMintPerTxn","type":"uint256"},{"internalType":"string","name":"_ipfsMetadataHash","type":"string"},{"internalType":"address","name":"_redeemableContract","type":"address"},{"internalType":"uint256","name":"_maxPerWallet","type":"uint256"}],"name":"addMintPass","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"mpIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFromRedeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numPasses","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"mpIndex","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"numPasses","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"mpIndexs","type":"uint256[]"},{"internalType":"bytes32[][]","name":"merkleProofs","type":"bytes32[][]"}],"name":"claimMultiple","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxPerWallet","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editMaxPerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_windowOpens","type":"uint256"},{"internalType":"uint256","name":"_windowCloses","type":"uint256"},{"internalType":"uint256","name":"_mintPrice","type":"uint256"},{"internalType":"uint256","name":"_maxSupply","type":"uint256"},{"internalType":"uint256","name":"_maxMintPerTxn","type":"uint256"},{"internalType":"string","name":"_ipfsMetadataHash","type":"string"},{"internalType":"address","name":"_redeemableContract","type":"address"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"},{"internalType":"bool","name":"_saleIsOpen","type":"bool"},{"internalType":"uint256","name":"_maxPerWallet","type":"uint256"}],"name":"editMintPass","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_ipfsMetadataHash","type":"string"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenIPFSMetaDataHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxMintPerTxn","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenMaxMintPerTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSupply","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintPrice","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenMintPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_redeemableContract","type":"address"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenRedeemableContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenWhiteListMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_windowCloses","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenWindowCloses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_windowOpens","type":"uint256"},{"internalType":"uint256","name":"_mpIndex","type":"uint256"}],"name":"editTokenWindowOpens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"userAdress","type":"address"}],"name":"getClaimedMps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mpIndex","type":"uint256"}],"name":"getTokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mpIndex","type":"uint256"}],"name":"isSaleOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"makeLeaf","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"numPasses","type":"uint256"},{"internalType":"uint256","name":"mpIndex","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"numPasses","type":"uint256[]"},{"internalType":"uint256[]","name":"mpIndexs","type":"uint256[]"}],"name":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintPasses","outputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"bool","name":"saleIsOpen","type":"bool"},{"internalType":"uint256","name":"windowOpens","type":"uint256"},{"internalType":"uint256","name":"windowCloses","type":"uint256"},{"internalType":"uint256","name":"mintPrice","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint256","name":"maxPerWallet","type":"uint256"},{"internalType":"uint256","name":"maxMintPerTxn","type":"uint256"},{"internalType":"string","name":"ipfsMetadataHash","type":"string"},{"internalType":"address","name":"redeemableContract","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name_","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol_","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mpIndex","type":"uint256"}],"name":"turnSaleOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mpIndex","type":"uint256"}],"name":"turnSaleOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"},{"internalType":"uint256","name":"mpIndex","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"verifyMerkleProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620053c7380380620053c783398101604081905262000034916200037f565b60408051808201909152600c81526b697066733a2f2f697066732f60a01b6020820152620000628162000112565b506004805460ff1916905562000078336200012b565b82516200008d90600790602086019062000226565b508151620000a390600890602085019062000226565b50620000b16000336200017d565b620000d260007381745b7339d5067e82b93ca6bbad125f214525d36200017d565b620000f360007390bfa85209df7d86ca5f845f9cd017fd85179f986200017d565b80516200010890600b90602084019062000226565b505050506200045f565b80516200012790600390602084019062000226565b5050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000828152602081815260408083206001600160a01b038516845290915290205462000127908390839060ff1662000127576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001e23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b82805462000234906200040c565b90600052602060002090601f016020900481019282620002585760008555620002a3565b82601f106200027357805160ff1916838001178555620002a3565b82800160010185558215620002a3579182015b82811115620002a357825182559160200191906001019062000286565b50620002b1929150620002b5565b5090565b5b80821115620002b15760008155600101620002b6565b600082601f830112620002dd578081fd5b81516001600160401b0380821115620002fa57620002fa62000449565b604051601f8301601f19908116603f0116810190828211818310171562000325576200032562000449565b8160405283815260209250868385880101111562000341578485fd5b8491505b8382101562000364578582018301518183018401529082019062000345565b838211156200037557848385830101525b9695505050505050565b60008060006060848603121562000394578283fd5b83516001600160401b0380821115620003ab578485fd5b620003b987838801620002cc565b94506020860151915080821115620003cf578384fd5b620003dd87838801620002cc565b93506040860151915080821115620003f3578283fd5b506200040286828701620002cc565b9150509250925092565b600181811c908216806200042157607f821691505b602082108114156200044357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b614f58806200046f6000396000f3fe6080604052600436106103805760003560e01c80637fe25b13116101d1578063c0e7274011610102578063e66e31f7116100a0578063ea25e1761161006f578063ea25e17614610a9a578063f242432a14610aad578063f2fde38b14610acd578063f5298aca14610aed57600080fd5b8063e66e31f7146109fc578063e6d1aea014610a1c578063e8a3d48514610a3c578063e985e9c514610a5157600080fd5b8063cec8a33a116100dc578063cec8a33a14610987578063d547741f146109a7578063d81d0a15146109c7578063e2b9e186146109e757600080fd5b8063c0e727401461090c578063c195a4ef14610921578063c332191b1461096757600080fd5b8063a22cb4651161016f578063af17dea611610149578063af17dea614610874578063af95f9fb14610889578063b064aa41146108bf578063bd85b039146108df57600080fd5b8063a22cb46514610814578063a3ed0b5914610834578063aae33b971461085457600080fd5b806391d14854116101ab57806391d14854146107aa578063938e3d7b146107ca57806395d89b41146107ea578063a217fddf146107ff57600080fd5b80637fe25b131461074d5780638456cb591461076d5780638da5cb5b1461078257600080fd5b80633c70c771116102b65780635951c99c116102545780636b20c454116102235780636b20c454146106d85780636d51188b146106f8578063715018a61461071857806375efad6a1461072d57600080fd5b80635951c99c1461066d5780635c975abb1461068d5780635dc709e2146106a5578063632c6f1f146106c557600080fd5b80634e1273f4116102905780634e1273f4146105d15780634e29f441146105fe5780634f558e791461061e578063522f68151461064d57600080fd5b80633c70c7711461057c5780633f4ba83a1461059c5780634044556d146105b157600080fd5b8063156e29f6116103235780632eb2c2d6116102fd5780632eb2c2d6146104fc5780632f2ff15d1461051c57806336568abe1461053c5780633aeca2101461055c57600080fd5b8063156e29f61461048c57806319b88edb146104ac578063248a9ca3146104cc57600080fd5b806306fdde031161035f57806306fdde031461040a5780630e89341c1461042c57806313af40351461044c57806314cd43901461046c57600080fd5b8062fdd58e1461038557806301ffc9a7146103b857806302fe5305146103e8575b600080fd5b34801561039157600080fd5b506103a56103a036600461405f565b610b0d565b6040519081526020015b60405180910390f35b3480156103c457600080fd5b506103d86103d336600461441b565b610ba9565b60405190151581526020016103af565b3480156103f457600080fd5b50610408610403366004614453565b610bb4565b005b34801561041657600080fd5b5061041f610bea565b6040516103af9190614881565b34801561043857600080fd5b5061041f61044736600461427d565b610c7c565b34801561045857600080fd5b50610408610467366004613dac565b610d16565b34801561047857600080fd5b5061041f61048736600461405f565b610d49565b34801561049857600080fd5b506104086104a7366004614071565b610d85565b3480156104b857600080fd5b506103a56104c736600461427d565b610dcf565b3480156104d857600080fd5b506103a56104e736600461427d565b60009081526020819052604090206001015490565b34801561050857600080fd5b50610408610517366004613e2b565b610de3565b34801561052857600080fd5b50610408610537366004614295565b610e7a565b34801561054857600080fd5b50610408610557366004614295565b610ea0565b34801561056857600080fd5b50610408610577366004614071565b610f1e565b34801561058857600080fd5b506103d8610597366004614171565b610faa565b3480156105a857600080fd5b50610408611079565b3480156105bd57600080fd5b506103d86105cc36600461427d565b6110ad565b3480156105dd57600080fd5b506105f16105ec3660046140a5565b611123565b6040516103af91906147d8565b34801561060a57600080fd5b5061040861061936600461427d565b611284565b34801561062a57600080fd5b506103d861063936600461427d565b600090815260056020526040902054151590565b34801561065957600080fd5b50610408610668366004613dc8565b6112b1565b34801561067957600080fd5b506104086106883660046142b9565b611311565b34801561069957600080fd5b5060045460ff166103d8565b3480156106b157600080fd5b506104086106c036600461436d565b611332565b6104086106d33660046141bf565b6114a8565b3480156106e457600080fd5b506104086106f3366004613fb9565b6117c7565b34801561070457600080fd5b506104086107133660046142da565b61180a565b34801561072457600080fd5b50610408611981565b34801561073957600080fd5b506104086107483660046142b9565b6119b5565b34801561075957600080fd5b506104086107683660046142b9565b6119d6565b34801561077957600080fd5b506104086119f7565b34801561078e57600080fd5b506006546040516001600160a01b0390911681526020016103af565b3480156107b657600080fd5b506103d86107c5366004614295565b611a29565b3480156107d657600080fd5b506104086107e5366004614453565b611a52565b3480156107f657600080fd5b5061041f611a71565b34801561080b57600080fd5b506103a5600081565b34801561082057600080fd5b5061040861082f36600461402b565b611a80565b34801561084057600080fd5b5061040861084f3660046142b9565b611b57565b34801561086057600080fd5b5061040861086f36600461427d565b611b78565b34801561088057600080fd5b5061041f611ba0565b34801561089557600080fd5b506108a96108a436600461427d565b611c2e565b6040516103af9a99989796959493929190614819565b3480156108cb57600080fd5b506104086108da3660046142b9565b611d16565b3480156108eb57600080fd5b506103a56108fa36600461427d565b60009081526005602052604090205490565b34801561091857600080fd5b5061041f611d34565b34801561092d57600080fd5b506103a561093c366004614295565b6000828152600a602081815260408084206001600160a01b0386168552909201905290205492915050565b34801561097357600080fd5b5061040861098236600461405f565b611d41565b34801561099357600080fd5b506104086109a23660046142b9565b611d7f565b3480156109b357600080fd5b506104086109c2366004614295565b611da0565b3480156109d357600080fd5b506104086109e2366004613f3a565b611dc6565b3480156109f357600080fd5b5061041f611e6c565b348015610a0857600080fd5b50610408610a173660046142b9565b611e79565b348015610a2857600080fd5b50610408610a37366004614485565b611e9a565b348015610a4857600080fd5b5061041f611ed1565b348015610a5d57600080fd5b506103d8610a6c366004613df3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b610408610aa83660046144c7565b611ee0565b348015610ab957600080fd5b50610408610ac8366004613ed4565b612061565b348015610ad957600080fd5b50610408610ae8366004613dac565b6120a6565b348015610af957600080fd5b50610408610b08366004614071565b61213e565b60006001600160a01b038316610b7e5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b5060008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b6000610ba382612176565b6006546001600160a01b03163314610bde5760405162461bcd60e51b8152600401610b7590614a3b565b610be7816121b6565b50565b606060078054610bf990614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2590614d7e565b8015610c725780601f10610c4757610100808354040283529160200191610c72565b820191906000526020600020905b815481529060010190602001808311610c5557829003601f168201915b5050505050905090565b60008181526005602052604081205460609110610cd45760405162461bcd60e51b81526020600482015260166024820152752aa9249d103737b732bc34b9ba32b73a103a37b5b2b760511b6044820152606401610b75565b610cdd826121c9565b6000838152600a60209081526040918290209151610d00939260080191016145ae565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610d405760405162461bcd60e51b8152600401610b7590614a3b565b610be7816120a6565b6060610d548361225d565b610d5d836123c0565b604051602001610d6e92919061465d565b604051602081830303815290604052905092915050565b6006546001600160a01b03163314610daf5760405162461bcd60e51b8152600401610b7590614a3b565b610dca838284604051806020016040528060008152506124d9565b505050565b600081815260056020526040812054610ba3565b6001600160a01b038516331480610dff5750610dff8533610a6c565b610e665760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610b75565b610e7385858585856124e5565b5050505050565b600082815260208190526040902060010154610e9681336126ae565b610dca8383612712565b6001600160a01b0381163314610f105760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610b75565b610f1a8282612796565b5050565b6000828152600a60205260409020600901546001600160a01b03163314610f9f5760405162461bcd60e51b815260206004820152602f60248201527f4275726e61626c653a204f6e6c7920616c6c6f7765642066726f6d207265646560448201526e195b58589b194818dbdb9d1c9858dd608a1b6064820152608401610b75565b610dca8383836127fb565b6000828152600a60205260408120547f1e0fa23b9aeab82ec0dd34d09000e75c6fd16dccda9c8d2694ecd4f190213f451415610fe857506001611071565b6000610ff43384610d49565b90506000816040516020016110099190614881565b60405160208183030381529060405280519060200120905061106c87878080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508a8152600a602052604090205492508591506128069050565b925050505b949350505050565b6006546001600160a01b031633146110a35760405162461bcd60e51b8152600401610b7590614a3b565b6110ab6128c3565b565b60006110bb60045460ff1690565b156110c857506000919050565b6000828152600a6020526040902060020154421180156110f857506000828152600a602052604090206003015442105b1561111657506000908152600a602052604090206001015460ff1690565b506000919050565b919050565b606081518351146111885760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610b75565b600083516001600160401b038111156111b157634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156111da578160200160208202803683370190505b50905060005b845181101561127c5761124185828151811061120c57634e487b7160e01b600052603260045260246000fd5b602002602001015185838151811061123457634e487b7160e01b600052603260045260246000fd5b6020026020010151610b0d565b82828151811061126157634e487b7160e01b600052603260045260246000fd5b602090810291909101015261127581614de5565b90506111e0565b509392505050565b600061129081336126ae565b506000908152600a602052604090206001908101805460ff19169091179055565b6006546001600160a01b031633146112db5760405162461bcd60e51b8152600401610b7590614a3b565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610dca573d6000803e3d6000fd5b600061131d81336126ae565b506000908152600a6020526040902060060155565b600061133e81336126ae565b898b106113ab5760405162461bcd60e51b815260206004820152603560248201527f656469744d696e74506173733a206f70656e2077696e646f77206d757374206260448201527465206265666f726520636c6f73652077696e646f7760581b6064820152608401610b75565b60008b1180156113bb575060008a115b6114075760405162461bcd60e51b815260206004820181905260248201527f656469744d696e74506173733a2077696e646f772063616e6e6f7420626520306044820152606401610b75565b6000848152600a602090815260409091208d8155600281018d9055600381018c9055600481018b9055600581018a905560078101899055875161145292600890920191890190613bd8565b50506000928352600a60205260409092206009810180546001600160a01b0319166001600160a01b03959095169490941790935560018301805460ff191691151591909117905560069091015550505050505050565b60045460ff16156114f75760405162461bcd60e51b815260206004820152601960248201527810db185a5b4e8818db185a5b5a5b99c81a5cc81c185d5cd959603a1b6044820152606401610b75565b60005b8381101561160f576115b189898381811061152557634e487b7160e01b600052603260045260246000fd5b9050602002013588888481811061154c57634e487b7160e01b600052603260045260246000fd5b9050602002013587878581811061157357634e487b7160e01b600052603260045260246000fd5b9050602002013586868681811061159a57634e487b7160e01b600052603260045260246000fd5b90506020028101906115ac9190614af9565b612956565b6115fd5760405162461bcd60e51b815260206004820152601e60248201527f4f6e65206f72206d6f726520636c61696d732061726520696e76616c696400006044820152606401610b75565b8061160781614de5565b9150506114fa565b5060005b838110156116f95761169989898381811061163e57634e487b7160e01b600052603260045260246000fd5b90506020020135600a600088888681811061166957634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508181019290925260409081016000908120338252600a0190925290205490612db2565b600a60008787858181106116bd57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508181019290925260409081016000908120338252600a01909252902055806116f181614de5565b915050611613565b506117763385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808f0282810182019093528e82529093508e92508d918291850190849080828437600092018290525060408051602081019091529081529250612dc5915050565b336001600160a01b03167f1f36743b8f77937c5a06ebeca4819ea0c795222f7ecf5a42583ff5d0063adabf85858b8b6040516117b594939291906147b1565b60405180910390a25050505050505050565b6001600160a01b0383163314806117e357506117e38333610a6c565b6117ff5760405162461bcd60e51b8152600401610b7590614920565b610dca838383612dd1565b600061181681336126ae565b8789106118825760405162461bcd60e51b815260206004820152603460248201527f6164644d696e74506173733a206f70656e2077696e646f77206d757374206265604482015273206265666f726520636c6f73652077696e646f7760601b6064820152608401610b75565b6000891180156118925750600088115b6118de5760405162461bcd60e51b815260206004820152601f60248201527f6164644d696e74506173733a2077696e646f772063616e6e6f742062652030006044820152606401610b75565b6000600a60006118ed60095490565b815260208082019290925260400160002060018101805460ff191690558c8155600281018c9055600381018b9055600481018a9055600581018990556007810188905560068101859055865190925061194e91600884019190880190613bd8565b50600981810180546001600160a01b0319166001600160a01b038716179055805460010190555050505050505050505050565b6006546001600160a01b031633146119ab5760405162461bcd60e51b8152600401610b7590614a3b565b6110ab6000612ddc565b60006119c181336126ae565b506000908152600a6020526040902060040155565b60006119e281336126ae565b506000908152600a6020526040902060030155565b6006546001600160a01b03163314611a215760405162461bcd60e51b8152600401610b7590614a3b565b6110ab612e2e565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000611a5e81336126ae565b8151610dca90600b906020850190613bd8565b606060088054610bf990614d7e565b336001600160a01b0383161415611aeb5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610b75565b3360008181526002602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000611b6381336126ae565b506000908152600a6020526040902060070155565b6000611b8481336126ae565b506000908152600a60205260409020600101805460ff19169055565b60088054611bad90614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611bd990614d7e565b8015611c265780601f10611bfb57610100808354040283529160200191611c26565b820191906000526020600020905b815481529060010190602001808311611c0957829003601f168201915b505050505081565b600a60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889018054989960ff90981698969795969495939492939192611c8490614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611cb090614d7e565b8015611cfd5780601f10611cd257610100808354040283529160200191611cfd565b820191906000526020600020905b815481529060010190602001808311611ce057829003601f168201915b505050600990930154919250506001600160a01b03168a565b6000611d2281336126ae565b506000908152600a6020526040902055565b600b8054611bad90614d7e565b6000611d4d81336126ae565b506000908152600a6020526040902060090180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611d8b81336126ae565b506000908152600a6020526040902060050155565b600082815260208190526040902060010154611dbc81336126ae565b610dca8383612796565b6006546001600160a01b03163314611df05760405162461bcd60e51b8152600401610b7590614a3b565b610e738583838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a925089918291850190849080828437600092018290525060408051602081019091529081529250612dc5915050565b60078054611bad90614d7e565b6000611e8581336126ae565b506000908152600a6020526040902060020155565b6000611ea681336126ae565b6000828152600a602090815260409091208451611ecb92600890920191860190613bd8565b50505050565b6060600b8054610bf990614d7e565b611eed8585858585612956565b611ef657600080fd5b6000838152600a6020526040812060040154611f1e90611f17908890612ea9565b3490612eb5565b90508015611fc057604051600090339083908381818185875af1925050503d8060008114611f68576040519150601f19603f3d011682016040523d82523d6000602084013e611f6d565b606091505b5050905080611fbe5760405162461bcd60e51b815260206004820152601e60248201527f4572726f722072657475726e696e6720657863657373207061796d656e7400006044820152606401610b75565b505b6000848152600a602081815260408084203385529092019052902054611fe69087612db2565b6000858152600a60208181526040808420338086529301825280842094909455835190810190935290825261201e91869089906124d9565b604080518581526020810188905233917f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026910160405180910390a2505050505050565b6001600160a01b03851633148061207d575061207d8533610a6c565b6120995760405162461bcd60e51b8152600401610b7590614920565b610e738585858585612ec1565b6006546001600160a01b031633146120d05760405162461bcd60e51b8152600401610b7590614a3b565b6001600160a01b0381166121355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b75565b610be781612ddc565b6001600160a01b03831633148061215a575061215a8333610a6c565b610f9f5760405162461bcd60e51b8152600401610b7590614920565b60006001600160e01b03198216636cdb3d1360e11b14806121a757506001600160e01b031982166303a24d0760e21b145b80610ba35750610ba382612ff1565b8051610f1a906003906020840190613bd8565b6060600380546121d890614d7e565b80601f016020809104026020016040519081016040528092919081815260200182805461220490614d7e565b80156122515780601f1061222657610100808354040283529160200191612251565b820191906000526020600020905b81548152906001019060200180831161223457829003601f168201915b50505050509050919050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b60148110156123b957600061229a826013614d01565b6122a5906008614cc1565b6122b0906002614c19565b6122c3906001600160a01b038716614ba0565b60f81b9050600060108260f81c6122da9190614bb4565b60f81b905060008160f81c60106122f19190614ce0565b8360f81c6122ff9190614d18565b60f81b905061230d82613026565b85612319866002614cc1565b8151811061233757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535061235781613026565b85612363866002614cc1565b61236e906001614b63565b8151811061238c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535050505080806123b190614de5565b915050612284565b5092915050565b6060816123e45750506040805180820190915260018152600360fc1b602082015290565b8160005b811561240e57806123f881614de5565b91506124079050600a83614ba0565b91506123e8565b6000816001600160401b0381111561243657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612460576020820181803683370190505b5090505b841561107157612475600183614d01565b9150612482600a86614e00565b61248d906030614b63565b60f81b8183815181106124b057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506124d2600a86614ba0565b9450612464565b611ecb8484848461305c565b81518351146125065760405162461bcd60e51b8152600401610b7590614a70565b6001600160a01b03841661252c5760405162461bcd60e51b8152600401610b7590614969565b3361253b818787878787613091565b60005b845181101561264057600085828151811061256957634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061259557634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526001835260408082206001600160a01b038e1683529093529190912054909150818110156125e65760405162461bcd60e51b8152600401610b75906149f1565b60008381526001602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290612625908490614b63565b925050819055505050508061263990614de5565b905061253e565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516126909291906147eb565b60405180910390a46126a681878787878761309f565b505050505050565b6126b88282611a29565b610f1a576126d0816001600160a01b0316601461320a565b6126db83602061320a565b6040516020016126ec929190614699565b60408051601f198184030181529082905262461bcd60e51b8252610b7591600401614881565b61271c8282611a29565b610f1a576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556127523390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127a08282611a29565b15610f1a576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610dca8383836133eb565b600081815b85518110156128b857600086828151811061283657634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116128785760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506128a5565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806128b081614de5565b91505061280b565b509092149392505050565b60045460ff1661290c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b75565b6004805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000838152600a602052604081206001015460ff166129a85760405162461bcd60e51b815260206004820152600e60248201526d14d85b19481a5cc81c185d5cd95960921b6044820152606401610b75565b60045460ff16156129f75760405162461bcd60e51b815260206004820152601960248201527810db185a5b4e8818db185a5b5a5b99c81a5cc81c185d5cd959603a1b6044820152606401610b75565b6000848152600a6020526040902060020154612a555760405162461bcd60e51b815260206004820152601f60248201527f436c61696d3a204d696e74207061737320646f6573206e6f74206578697374006044820152606401610b75565b6000848152600a602052604090206002015442118015612a8557506000848152600a602052604090206003015442105b612ad15760405162461bcd60e51b815260206004820152601960248201527f436c61696d3a2074696d652077696e646f7720636c6f736564000000000000006044820152606401610b75565b6000848152600a6020526040902060040154612aee908790612ea9565b341015612b3d5760405162461bcd60e51b815260206004820152601c60248201527f436c61696d3a2045746865722076616c756520696e636f7272656374000000006044820152606401610b75565b6000848152600a6020818152604080842033855290920190529020548590612b659088612db2565b1115612bc45760405162461bcd60e51b815260206004820152602860248201527f436c61696d3a204e6f7420616c6c6f77656420746f20636c61696d20676976656044820152671b88185b5bdd5b9d60c21b6064820152608401610b75565b6000848152600a602081815260408084206006810154338652930190915290912054612bf09088612db2565b1115612c5c5760405162461bcd60e51b815260206004820152603560248201527f436c61696d3a204e6f7420616c6c6f77656420746f20636c61696d2074686174604482015274081b585b9e48199c9bdb481bdb99481dd85b1b195d605a1b6064820152608401610b75565b6000848152600a6020526040902060070154861115612ccb5760405162461bcd60e51b815260206004820152602560248201527f4d6178207175616e7469747920706572207472616e73616374696f6e20657863604482015264195959195960da1b6064820152608401610b75565b6000848152600a60209081526040808320600590810154925290912054612cf3908890614b63565b1115612d415760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c796044820152606401610b75565b6000612d4f84848789610faa565b905080612da85760405162461bcd60e51b815260206004820152602160248201527f4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f666044820152601760f91b6064820152608401610b75565b9695505050505050565b6000612dbe8284614b63565b9392505050565b611ecb8484848461341e565b610dca8383836134bd565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60045460ff1615612e745760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b75565b6004805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129393390565b6000612dbe8284614cc1565b6000612dbe8284614d01565b6001600160a01b038416612ee75760405162461bcd60e51b8152600401610b7590614969565b33612f06818787612ef78861355b565b612f008861355b565b87613091565b60008481526001602090815260408083206001600160a01b038a16845290915290205483811015612f495760405162461bcd60e51b8152600401610b75906149f1565b60008581526001602090815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290612f88908490614b63565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612fe88288888888886135b4565b50505050505050565b60006001600160e01b03198216637965db0b60e01b1480610ba357506301ffc9a760e01b6001600160e01b0319831614610ba3565b6000600a60f883901c101561304d5761304460f883901c6030614b7b565b60f81b92915050565b61304460f883901c6057614b7b565b6130688484848461367e565b60008381526005602052604081208054849290613086908490614b63565b909155505050505050565b6126a6868686868686613747565b6001600160a01b0384163b156126a65760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906130e3908990899088908890889060040161470e565b602060405180830381600087803b1580156130fd57600080fd5b505af192505050801561312d575060408051601f3d908101601f1916820190925261312a91810190614437565b60015b6131da57613139614e56565b806308c379a01415613173575061314e614e6e565b806131595750613175565b8060405162461bcd60e51b8152600401610b759190614881565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610b75565b6001600160e01b0319811663bc197c8160e01b14612fe85760405162461bcd60e51b8152600401610b7590614894565b60606000613219836002614cc1565b613224906002614b63565b6001600160401b0381111561324957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613273576020820181803683370190505b509050600360fc1b8160008151811061329c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106132d957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006132fd846002614cc1565b613308906001614b63565b90505b600181111561339c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061334a57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061336e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361339581614d67565b905061330b565b508315612dbe5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610b75565b6133f68383836137af565b60008281526005602052604081208054839290613414908490614d01565b9091555050505050565b61342a848484846138b4565b60005b8351811015610e735782818151811061345657634e487b7160e01b600052603260045260246000fd5b60200260200101516005600086848151811061348257634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008282546134a79190614b63565b909155506134b6905081614de5565b905061342d565b6134c8838383613a2b565b60005b8251811015611ecb578181815181106134f457634e487b7160e01b600052603260045260246000fd5b60200260200101516005600085848151811061352057634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008282546135459190614d01565b90915550613554905081614de5565b90506134cb565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106135a357634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b156126a65760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906135f8908990899088908890889060040161476c565b602060405180830381600087803b15801561361257600080fd5b505af1925050508015613642575060408051601f3d908101601f1916820190925261363f91810190614437565b60015b61364e57613139614e56565b6001600160e01b0319811663f23a6e6160e01b14612fe85760405162461bcd60e51b8152600401610b7590614894565b6001600160a01b0384166136a45760405162461bcd60e51b8152600401610b7590614ab8565b336136b581600087612ef78861355b565b60008481526001602090815260408083206001600160a01b0389168452909152812080548592906136e7908490614b63565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610e73816000878787876135b4565b60045460ff16156126a65760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201526b1dda1a5b19481c185d5cd95960a21b6064820152608401610b75565b6001600160a01b0383166137d55760405162461bcd60e51b8152600401610b75906149ae565b33613804818560006137e68761355b565b6137ef8761355b565b60405180602001604052806000815250613091565b60008381526001602090815260408083206001600160a01b0388168452909152902054828110156138475760405162461bcd60e51b8152600401610b75906148dc565b60008481526001602090815260408083206001600160a01b03898116808652918452828520888703905582518981529384018890529092908616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6001600160a01b0384166138da5760405162461bcd60e51b8152600401610b7590614ab8565b81518351146138fb5760405162461bcd60e51b8152600401610b7590614a70565b3361390b81600087878787613091565b60005b84518110156139c35783818151811061393757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600087848151811061396357634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546139ab9190614b63565b909155508190506139bb81614de5565b91505061390e565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613a149291906147eb565b60405180910390a4610e738160008787878761309f565b6001600160a01b038316613a515760405162461bcd60e51b8152600401610b75906149ae565b8051825114613a725760405162461bcd60e51b8152600401610b7590614a70565b6000339050613a9581856000868660405180602001604052806000815250613091565b60005b8351811015613b79576000848281518110613ac357634e487b7160e01b600052603260045260246000fd5b602002602001015190506000848381518110613aef57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526001835260408082206001600160a01b038c168352909352919091205490915081811015613b405760405162461bcd60e51b8152600401610b75906148dc565b60009283526001602090815260408085206001600160a01b038b1686529091529092209103905580613b7181614de5565b915050613a98565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051613bca9291906147eb565b60405180910390a450505050565b828054613be490614d7e565b90600052602060002090601f016020900481019282613c065760008555613c4c565b82601f10613c1f57805160ff1916838001178555613c4c565b82800160010185558215613c4c579182015b82811115613c4c578251825591602001919060010190613c31565b50613c58929150613c5c565b5090565b5b80821115613c585760008155600101613c5d565b60008083601f840112613c82578182fd5b5081356001600160401b03811115613c98578182fd5b6020830191508360208260051b8501011115613cb357600080fd5b9250929050565b600082601f830112613cca578081fd5b81356020613cd782614b40565b604051613ce48282614db9565b8381528281019150858301600585901b87018401881015613d03578586fd5b855b85811015613d2157813584529284019290840190600101613d05565b5090979650505050505050565b8035801515811461111e57600080fd5b600082601f830112613d4e578081fd5b81356001600160401b03811115613d6757613d67614e40565b604051613d7e601f8301601f191660200182614db9565b818152846020838601011115613d92578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215613dbd578081fd5b8135612dbe81614ef7565b60008060408385031215613dda578081fd5b8235613de581614ef7565b946020939093013593505050565b60008060408385031215613e05578182fd5b8235613e1081614ef7565b91506020830135613e2081614ef7565b809150509250929050565b600080600080600060a08688031215613e42578081fd5b8535613e4d81614ef7565b94506020860135613e5d81614ef7565b935060408601356001600160401b0380821115613e78578283fd5b613e8489838a01613cba565b94506060880135915080821115613e99578283fd5b613ea589838a01613cba565b93506080880135915080821115613eba578283fd5b50613ec788828901613d3e565b9150509295509295909350565b600080600080600060a08688031215613eeb578081fd5b8535613ef681614ef7565b94506020860135613f0681614ef7565b9350604086013592506060860135915060808601356001600160401b03811115613f2e578182fd5b613ec788828901613d3e565b600080600080600060608688031215613f51578283fd5b8535613f5c81614ef7565b945060208601356001600160401b0380821115613f77578485fd5b613f8389838a01613c71565b90965094506040880135915080821115613f9b578283fd5b50613fa888828901613c71565b969995985093965092949392505050565b600080600060608486031215613fcd578081fd5b8335613fd881614ef7565b925060208401356001600160401b0380821115613ff3578283fd5b613fff87838801613cba565b93506040860135915080821115614014578283fd5b5061402186828701613cba565b9150509250925092565b6000806040838503121561403d578182fd5b823561404881614ef7565b915061405660208401613d2e565b90509250929050565b60008060408385031215613dda578182fd5b600080600060608486031215614085578081fd5b833561409081614ef7565b95602085013595506040909401359392505050565b600080604083850312156140b7578182fd5b82356001600160401b03808211156140cd578384fd5b818501915085601f8301126140e0578384fd5b813560206140ed82614b40565b6040516140fa8282614db9565b8381528281019150858301600585901b870184018b1015614119578889fd5b8896505b8487101561414457803561413081614ef7565b83526001969096019591830191830161411d565b509650508601359250508082111561415a578283fd5b5061416785828601613cba565b9150509250929050565b60008060008060608587031215614186578182fd5b84356001600160401b0381111561419b578283fd5b6141a787828801613c71565b90989097506020870135966040013595509350505050565b6000806000806000806000806080898b0312156141da578586fd5b88356001600160401b03808211156141f0578788fd5b6141fc8c838d01613c71565b909a50985060208b0135915080821115614214578788fd5b6142208c838d01613c71565b909850965060408b0135915080821115614238578485fd5b6142448c838d01613c71565b909650945060608b013591508082111561425c578384fd5b506142698b828c01613c71565b999c989b5096995094979396929594505050565b60006020828403121561428e578081fd5b5035919050565b600080604083850312156142a7578182fd5b823591506020830135613e2081614ef7565b600080604083850312156142cb578182fd5b50508035926020909101359150565b60008060008060008060008060006101208a8c0312156142f8578283fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a01356001600160401b03811115614337578384fd5b6143438c828d01613d3e565b93505060e08a013561435481614ef7565b809250506101008a013590509295985092959850929598565b60008060008060008060008060008060006101608c8e03121561438e578485fd5b8b359a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c01356001600160401b038111156143cd578586fd5b6143d98e828f01613d3e565b95505060e08c01356143ea81614ef7565b93506101008c013592506144016101208d01613d2e565b91506101408c013590509295989b509295989b9093969950565b60006020828403121561442c578081fd5b8135612dbe81614f0c565b600060208284031215614448578081fd5b8151612dbe81614f0c565b600060208284031215614464578081fd5b81356001600160401b03811115614479578182fd5b61107184828501613d3e565b60008060408385031215614497578182fd5b82356001600160401b038111156144ac578283fd5b6144b885828601613d3e565b95602094909401359450505050565b6000806000806000608086880312156144de578283fd5b85359450602086013593506040860135925060608601356001600160401b03811115614508578182fd5b613fa888828901613c71565b81835260006001600160fb1b0383111561452c578081fd5b8260051b80836020870137939093016020019283525090919050565b6000815180845260208085019450808401835b838110156145775781518752958201959082019060010161455b565b509495945050505050565b6000815180845261459a816020860160208601614d3b565b601f01601f19169290920160200192915050565b6000835160206145c18285838901614d3b565b8454918401918390600181811c90808316806145de57607f831692505b8583108114156145fc57634e487b7160e01b88526022600452602488fd5b80801561461057600181146146215761464d565b60ff1985168852838801955061464d565b60008b815260209020895b858110156146455781548a82015290840190880161462c565b505083880195505b50939a9950505050505050505050565b6000835161466f818460208801614d3b565b605f60f81b908301908152835161468d816001840160208801614d3b565b01600101949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516146d1816017850160208801614d3b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614702816028840160208801614d3b565b01602801949350505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061473a90830186614548565b828103606084015261474c8186614548565b905082810360808401526147608185614582565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906147a690830184614582565b979650505050505050565b6040815260006147c5604083018688614514565b82810360208401526147a6818587614514565b602081526000612dbe6020830184614548565b6040815260006147fe6040830185614548565b82810360208401526148108185614548565b95945050505050565b60006101408c83528b151560208401528a60408401528960608401528860808401528760a08401528660c08401528560e08401528061010084015261486081840186614582565b91505060018060a01b0383166101208301529b9a5050505050505050505050565b602081526000612dbe6020830184614582565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6000808335601e19843603018112614b0f578283fd5b8301803591506001600160401b03821115614b28578283fd5b6020019150600581901b3603821315613cb357600080fd5b60006001600160401b03821115614b5957614b59614e40565b5060051b60200190565b60008219821115614b7657614b76614e14565b500190565b600060ff821660ff84168060ff03821115614b9857614b98614e14565b019392505050565b600082614baf57614baf614e2a565b500490565b600060ff831680614bc757614bc7614e2a565b8060ff84160491505092915050565b600181815b80851115614c11578160001904821115614bf757614bf7614e14565b80851615614c0457918102915b93841c9390800290614bdb565b509250929050565b6000612dbe8383600082614c2f57506001610ba3565b81614c3c57506000610ba3565b8160018114614c525760028114614c5c57614c78565b6001915050610ba3565b60ff841115614c6d57614c6d614e14565b50506001821b610ba3565b5060208310610133831016604e8410600b8410161715614c9b575081810a610ba3565b614ca58383614bd6565b8060001904821115614cb957614cb9614e14565b029392505050565b6000816000190483118215151615614cdb57614cdb614e14565b500290565b600060ff821660ff84168160ff0481118215151615614cb957614cb9614e14565b600082821015614d1357614d13614e14565b500390565b600060ff821660ff841680821015614d3257614d32614e14565b90039392505050565b60005b83811015614d56578181015183820152602001614d3e565b83811115611ecb5750506000910152565b600081614d7657614d76614e14565b506000190190565b600181811c90821680614d9257607f821691505b60208210811415614db357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f191681016001600160401b0381118282101715614dde57614dde614e40565b6040525050565b6000600019821415614df957614df9614e14565b5060010190565b600082614e0f57614e0f614e2a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115614e6b57600481823e5160e01c5b90565b600060443d1015614e7c5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715614eab57505050505090565b8285019150815181811115614ec35750505050505090565b843d8701016020828501011115614edd5750505050505090565b614eec60208286010187614db9565b509095945050505050565b6001600160a01b0381168114610be757600080fd5b6001600160e01b031981168114610be757600080fdfea264697066735822122010647ae204f4dc0d8137057ad3e45ff4c81627d3bf211f63b7406f888b60fc7664736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010485050522048616c6c2050617373657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000848505052504153530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d645464696e6b3865746f6452775045536768667353474d6b5558423962557977414a694272744374433348520000000000000000000000
Deployed Bytecode
0x6080604052600436106103805760003560e01c80637fe25b13116101d1578063c0e7274011610102578063e66e31f7116100a0578063ea25e1761161006f578063ea25e17614610a9a578063f242432a14610aad578063f2fde38b14610acd578063f5298aca14610aed57600080fd5b8063e66e31f7146109fc578063e6d1aea014610a1c578063e8a3d48514610a3c578063e985e9c514610a5157600080fd5b8063cec8a33a116100dc578063cec8a33a14610987578063d547741f146109a7578063d81d0a15146109c7578063e2b9e186146109e757600080fd5b8063c0e727401461090c578063c195a4ef14610921578063c332191b1461096757600080fd5b8063a22cb4651161016f578063af17dea611610149578063af17dea614610874578063af95f9fb14610889578063b064aa41146108bf578063bd85b039146108df57600080fd5b8063a22cb46514610814578063a3ed0b5914610834578063aae33b971461085457600080fd5b806391d14854116101ab57806391d14854146107aa578063938e3d7b146107ca57806395d89b41146107ea578063a217fddf146107ff57600080fd5b80637fe25b131461074d5780638456cb591461076d5780638da5cb5b1461078257600080fd5b80633c70c771116102b65780635951c99c116102545780636b20c454116102235780636b20c454146106d85780636d51188b146106f8578063715018a61461071857806375efad6a1461072d57600080fd5b80635951c99c1461066d5780635c975abb1461068d5780635dc709e2146106a5578063632c6f1f146106c557600080fd5b80634e1273f4116102905780634e1273f4146105d15780634e29f441146105fe5780634f558e791461061e578063522f68151461064d57600080fd5b80633c70c7711461057c5780633f4ba83a1461059c5780634044556d146105b157600080fd5b8063156e29f6116103235780632eb2c2d6116102fd5780632eb2c2d6146104fc5780632f2ff15d1461051c57806336568abe1461053c5780633aeca2101461055c57600080fd5b8063156e29f61461048c57806319b88edb146104ac578063248a9ca3146104cc57600080fd5b806306fdde031161035f57806306fdde031461040a5780630e89341c1461042c57806313af40351461044c57806314cd43901461046c57600080fd5b8062fdd58e1461038557806301ffc9a7146103b857806302fe5305146103e8575b600080fd5b34801561039157600080fd5b506103a56103a036600461405f565b610b0d565b6040519081526020015b60405180910390f35b3480156103c457600080fd5b506103d86103d336600461441b565b610ba9565b60405190151581526020016103af565b3480156103f457600080fd5b50610408610403366004614453565b610bb4565b005b34801561041657600080fd5b5061041f610bea565b6040516103af9190614881565b34801561043857600080fd5b5061041f61044736600461427d565b610c7c565b34801561045857600080fd5b50610408610467366004613dac565b610d16565b34801561047857600080fd5b5061041f61048736600461405f565b610d49565b34801561049857600080fd5b506104086104a7366004614071565b610d85565b3480156104b857600080fd5b506103a56104c736600461427d565b610dcf565b3480156104d857600080fd5b506103a56104e736600461427d565b60009081526020819052604090206001015490565b34801561050857600080fd5b50610408610517366004613e2b565b610de3565b34801561052857600080fd5b50610408610537366004614295565b610e7a565b34801561054857600080fd5b50610408610557366004614295565b610ea0565b34801561056857600080fd5b50610408610577366004614071565b610f1e565b34801561058857600080fd5b506103d8610597366004614171565b610faa565b3480156105a857600080fd5b50610408611079565b3480156105bd57600080fd5b506103d86105cc36600461427d565b6110ad565b3480156105dd57600080fd5b506105f16105ec3660046140a5565b611123565b6040516103af91906147d8565b34801561060a57600080fd5b5061040861061936600461427d565b611284565b34801561062a57600080fd5b506103d861063936600461427d565b600090815260056020526040902054151590565b34801561065957600080fd5b50610408610668366004613dc8565b6112b1565b34801561067957600080fd5b506104086106883660046142b9565b611311565b34801561069957600080fd5b5060045460ff166103d8565b3480156106b157600080fd5b506104086106c036600461436d565b611332565b6104086106d33660046141bf565b6114a8565b3480156106e457600080fd5b506104086106f3366004613fb9565b6117c7565b34801561070457600080fd5b506104086107133660046142da565b61180a565b34801561072457600080fd5b50610408611981565b34801561073957600080fd5b506104086107483660046142b9565b6119b5565b34801561075957600080fd5b506104086107683660046142b9565b6119d6565b34801561077957600080fd5b506104086119f7565b34801561078e57600080fd5b506006546040516001600160a01b0390911681526020016103af565b3480156107b657600080fd5b506103d86107c5366004614295565b611a29565b3480156107d657600080fd5b506104086107e5366004614453565b611a52565b3480156107f657600080fd5b5061041f611a71565b34801561080b57600080fd5b506103a5600081565b34801561082057600080fd5b5061040861082f36600461402b565b611a80565b34801561084057600080fd5b5061040861084f3660046142b9565b611b57565b34801561086057600080fd5b5061040861086f36600461427d565b611b78565b34801561088057600080fd5b5061041f611ba0565b34801561089557600080fd5b506108a96108a436600461427d565b611c2e565b6040516103af9a99989796959493929190614819565b3480156108cb57600080fd5b506104086108da3660046142b9565b611d16565b3480156108eb57600080fd5b506103a56108fa36600461427d565b60009081526005602052604090205490565b34801561091857600080fd5b5061041f611d34565b34801561092d57600080fd5b506103a561093c366004614295565b6000828152600a602081815260408084206001600160a01b0386168552909201905290205492915050565b34801561097357600080fd5b5061040861098236600461405f565b611d41565b34801561099357600080fd5b506104086109a23660046142b9565b611d7f565b3480156109b357600080fd5b506104086109c2366004614295565b611da0565b3480156109d357600080fd5b506104086109e2366004613f3a565b611dc6565b3480156109f357600080fd5b5061041f611e6c565b348015610a0857600080fd5b50610408610a173660046142b9565b611e79565b348015610a2857600080fd5b50610408610a37366004614485565b611e9a565b348015610a4857600080fd5b5061041f611ed1565b348015610a5d57600080fd5b506103d8610a6c366004613df3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b610408610aa83660046144c7565b611ee0565b348015610ab957600080fd5b50610408610ac8366004613ed4565b612061565b348015610ad957600080fd5b50610408610ae8366004613dac565b6120a6565b348015610af957600080fd5b50610408610b08366004614071565b61213e565b60006001600160a01b038316610b7e5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b5060008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b6000610ba382612176565b6006546001600160a01b03163314610bde5760405162461bcd60e51b8152600401610b7590614a3b565b610be7816121b6565b50565b606060078054610bf990614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2590614d7e565b8015610c725780601f10610c4757610100808354040283529160200191610c72565b820191906000526020600020905b815481529060010190602001808311610c5557829003601f168201915b5050505050905090565b60008181526005602052604081205460609110610cd45760405162461bcd60e51b81526020600482015260166024820152752aa9249d103737b732bc34b9ba32b73a103a37b5b2b760511b6044820152606401610b75565b610cdd826121c9565b6000838152600a60209081526040918290209151610d00939260080191016145ae565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610d405760405162461bcd60e51b8152600401610b7590614a3b565b610be7816120a6565b6060610d548361225d565b610d5d836123c0565b604051602001610d6e92919061465d565b604051602081830303815290604052905092915050565b6006546001600160a01b03163314610daf5760405162461bcd60e51b8152600401610b7590614a3b565b610dca838284604051806020016040528060008152506124d9565b505050565b600081815260056020526040812054610ba3565b6001600160a01b038516331480610dff5750610dff8533610a6c565b610e665760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610b75565b610e7385858585856124e5565b5050505050565b600082815260208190526040902060010154610e9681336126ae565b610dca8383612712565b6001600160a01b0381163314610f105760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610b75565b610f1a8282612796565b5050565b6000828152600a60205260409020600901546001600160a01b03163314610f9f5760405162461bcd60e51b815260206004820152602f60248201527f4275726e61626c653a204f6e6c7920616c6c6f7765642066726f6d207265646560448201526e195b58589b194818dbdb9d1c9858dd608a1b6064820152608401610b75565b610dca8383836127fb565b6000828152600a60205260408120547f1e0fa23b9aeab82ec0dd34d09000e75c6fd16dccda9c8d2694ecd4f190213f451415610fe857506001611071565b6000610ff43384610d49565b90506000816040516020016110099190614881565b60405160208183030381529060405280519060200120905061106c87878080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508a8152600a602052604090205492508591506128069050565b925050505b949350505050565b6006546001600160a01b031633146110a35760405162461bcd60e51b8152600401610b7590614a3b565b6110ab6128c3565b565b60006110bb60045460ff1690565b156110c857506000919050565b6000828152600a6020526040902060020154421180156110f857506000828152600a602052604090206003015442105b1561111657506000908152600a602052604090206001015460ff1690565b506000919050565b919050565b606081518351146111885760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610b75565b600083516001600160401b038111156111b157634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156111da578160200160208202803683370190505b50905060005b845181101561127c5761124185828151811061120c57634e487b7160e01b600052603260045260246000fd5b602002602001015185838151811061123457634e487b7160e01b600052603260045260246000fd5b6020026020010151610b0d565b82828151811061126157634e487b7160e01b600052603260045260246000fd5b602090810291909101015261127581614de5565b90506111e0565b509392505050565b600061129081336126ae565b506000908152600a602052604090206001908101805460ff19169091179055565b6006546001600160a01b031633146112db5760405162461bcd60e51b8152600401610b7590614a3b565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610dca573d6000803e3d6000fd5b600061131d81336126ae565b506000908152600a6020526040902060060155565b600061133e81336126ae565b898b106113ab5760405162461bcd60e51b815260206004820152603560248201527f656469744d696e74506173733a206f70656e2077696e646f77206d757374206260448201527465206265666f726520636c6f73652077696e646f7760581b6064820152608401610b75565b60008b1180156113bb575060008a115b6114075760405162461bcd60e51b815260206004820181905260248201527f656469744d696e74506173733a2077696e646f772063616e6e6f7420626520306044820152606401610b75565b6000848152600a602090815260409091208d8155600281018d9055600381018c9055600481018b9055600581018a905560078101899055875161145292600890920191890190613bd8565b50506000928352600a60205260409092206009810180546001600160a01b0319166001600160a01b03959095169490941790935560018301805460ff191691151591909117905560069091015550505050505050565b60045460ff16156114f75760405162461bcd60e51b815260206004820152601960248201527810db185a5b4e8818db185a5b5a5b99c81a5cc81c185d5cd959603a1b6044820152606401610b75565b60005b8381101561160f576115b189898381811061152557634e487b7160e01b600052603260045260246000fd5b9050602002013588888481811061154c57634e487b7160e01b600052603260045260246000fd5b9050602002013587878581811061157357634e487b7160e01b600052603260045260246000fd5b9050602002013586868681811061159a57634e487b7160e01b600052603260045260246000fd5b90506020028101906115ac9190614af9565b612956565b6115fd5760405162461bcd60e51b815260206004820152601e60248201527f4f6e65206f72206d6f726520636c61696d732061726520696e76616c696400006044820152606401610b75565b8061160781614de5565b9150506114fa565b5060005b838110156116f95761169989898381811061163e57634e487b7160e01b600052603260045260246000fd5b90506020020135600a600088888681811061166957634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508181019290925260409081016000908120338252600a0190925290205490612db2565b600a60008787858181106116bd57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508181019290925260409081016000908120338252600a01909252902055806116f181614de5565b915050611613565b506117763385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808f0282810182019093528e82529093508e92508d918291850190849080828437600092018290525060408051602081019091529081529250612dc5915050565b336001600160a01b03167f1f36743b8f77937c5a06ebeca4819ea0c795222f7ecf5a42583ff5d0063adabf85858b8b6040516117b594939291906147b1565b60405180910390a25050505050505050565b6001600160a01b0383163314806117e357506117e38333610a6c565b6117ff5760405162461bcd60e51b8152600401610b7590614920565b610dca838383612dd1565b600061181681336126ae565b8789106118825760405162461bcd60e51b815260206004820152603460248201527f6164644d696e74506173733a206f70656e2077696e646f77206d757374206265604482015273206265666f726520636c6f73652077696e646f7760601b6064820152608401610b75565b6000891180156118925750600088115b6118de5760405162461bcd60e51b815260206004820152601f60248201527f6164644d696e74506173733a2077696e646f772063616e6e6f742062652030006044820152606401610b75565b6000600a60006118ed60095490565b815260208082019290925260400160002060018101805460ff191690558c8155600281018c9055600381018b9055600481018a9055600581018990556007810188905560068101859055865190925061194e91600884019190880190613bd8565b50600981810180546001600160a01b0319166001600160a01b038716179055805460010190555050505050505050505050565b6006546001600160a01b031633146119ab5760405162461bcd60e51b8152600401610b7590614a3b565b6110ab6000612ddc565b60006119c181336126ae565b506000908152600a6020526040902060040155565b60006119e281336126ae565b506000908152600a6020526040902060030155565b6006546001600160a01b03163314611a215760405162461bcd60e51b8152600401610b7590614a3b565b6110ab612e2e565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000611a5e81336126ae565b8151610dca90600b906020850190613bd8565b606060088054610bf990614d7e565b336001600160a01b0383161415611aeb5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610b75565b3360008181526002602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000611b6381336126ae565b506000908152600a6020526040902060070155565b6000611b8481336126ae565b506000908152600a60205260409020600101805460ff19169055565b60088054611bad90614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611bd990614d7e565b8015611c265780601f10611bfb57610100808354040283529160200191611c26565b820191906000526020600020905b815481529060010190602001808311611c0957829003601f168201915b505050505081565b600a60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889018054989960ff90981698969795969495939492939192611c8490614d7e565b80601f0160208091040260200160405190810160405280929190818152602001828054611cb090614d7e565b8015611cfd5780601f10611cd257610100808354040283529160200191611cfd565b820191906000526020600020905b815481529060010190602001808311611ce057829003601f168201915b505050600990930154919250506001600160a01b03168a565b6000611d2281336126ae565b506000908152600a6020526040902055565b600b8054611bad90614d7e565b6000611d4d81336126ae565b506000908152600a6020526040902060090180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611d8b81336126ae565b506000908152600a6020526040902060050155565b600082815260208190526040902060010154611dbc81336126ae565b610dca8383612796565b6006546001600160a01b03163314611df05760405162461bcd60e51b8152600401610b7590614a3b565b610e738583838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a925089918291850190849080828437600092018290525060408051602081019091529081529250612dc5915050565b60078054611bad90614d7e565b6000611e8581336126ae565b506000908152600a6020526040902060020155565b6000611ea681336126ae565b6000828152600a602090815260409091208451611ecb92600890920191860190613bd8565b50505050565b6060600b8054610bf990614d7e565b611eed8585858585612956565b611ef657600080fd5b6000838152600a6020526040812060040154611f1e90611f17908890612ea9565b3490612eb5565b90508015611fc057604051600090339083908381818185875af1925050503d8060008114611f68576040519150601f19603f3d011682016040523d82523d6000602084013e611f6d565b606091505b5050905080611fbe5760405162461bcd60e51b815260206004820152601e60248201527f4572726f722072657475726e696e6720657863657373207061796d656e7400006044820152606401610b75565b505b6000848152600a602081815260408084203385529092019052902054611fe69087612db2565b6000858152600a60208181526040808420338086529301825280842094909455835190810190935290825261201e91869089906124d9565b604080518581526020810188905233917f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026910160405180910390a2505050505050565b6001600160a01b03851633148061207d575061207d8533610a6c565b6120995760405162461bcd60e51b8152600401610b7590614920565b610e738585858585612ec1565b6006546001600160a01b031633146120d05760405162461bcd60e51b8152600401610b7590614a3b565b6001600160a01b0381166121355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b75565b610be781612ddc565b6001600160a01b03831633148061215a575061215a8333610a6c565b610f9f5760405162461bcd60e51b8152600401610b7590614920565b60006001600160e01b03198216636cdb3d1360e11b14806121a757506001600160e01b031982166303a24d0760e21b145b80610ba35750610ba382612ff1565b8051610f1a906003906020840190613bd8565b6060600380546121d890614d7e565b80601f016020809104026020016040519081016040528092919081815260200182805461220490614d7e565b80156122515780601f1061222657610100808354040283529160200191612251565b820191906000526020600020905b81548152906001019060200180831161223457829003601f168201915b50505050509050919050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b60148110156123b957600061229a826013614d01565b6122a5906008614cc1565b6122b0906002614c19565b6122c3906001600160a01b038716614ba0565b60f81b9050600060108260f81c6122da9190614bb4565b60f81b905060008160f81c60106122f19190614ce0565b8360f81c6122ff9190614d18565b60f81b905061230d82613026565b85612319866002614cc1565b8151811061233757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535061235781613026565b85612363866002614cc1565b61236e906001614b63565b8151811061238c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535050505080806123b190614de5565b915050612284565b5092915050565b6060816123e45750506040805180820190915260018152600360fc1b602082015290565b8160005b811561240e57806123f881614de5565b91506124079050600a83614ba0565b91506123e8565b6000816001600160401b0381111561243657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612460576020820181803683370190505b5090505b841561107157612475600183614d01565b9150612482600a86614e00565b61248d906030614b63565b60f81b8183815181106124b057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506124d2600a86614ba0565b9450612464565b611ecb8484848461305c565b81518351146125065760405162461bcd60e51b8152600401610b7590614a70565b6001600160a01b03841661252c5760405162461bcd60e51b8152600401610b7590614969565b3361253b818787878787613091565b60005b845181101561264057600085828151811061256957634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061259557634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526001835260408082206001600160a01b038e1683529093529190912054909150818110156125e65760405162461bcd60e51b8152600401610b75906149f1565b60008381526001602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290612625908490614b63565b925050819055505050508061263990614de5565b905061253e565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516126909291906147eb565b60405180910390a46126a681878787878761309f565b505050505050565b6126b88282611a29565b610f1a576126d0816001600160a01b0316601461320a565b6126db83602061320a565b6040516020016126ec929190614699565b60408051601f198184030181529082905262461bcd60e51b8252610b7591600401614881565b61271c8282611a29565b610f1a576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556127523390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127a08282611a29565b15610f1a576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610dca8383836133eb565b600081815b85518110156128b857600086828151811061283657634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116128785760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506128a5565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806128b081614de5565b91505061280b565b509092149392505050565b60045460ff1661290c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610b75565b6004805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000838152600a602052604081206001015460ff166129a85760405162461bcd60e51b815260206004820152600e60248201526d14d85b19481a5cc81c185d5cd95960921b6044820152606401610b75565b60045460ff16156129f75760405162461bcd60e51b815260206004820152601960248201527810db185a5b4e8818db185a5b5a5b99c81a5cc81c185d5cd959603a1b6044820152606401610b75565b6000848152600a6020526040902060020154612a555760405162461bcd60e51b815260206004820152601f60248201527f436c61696d3a204d696e74207061737320646f6573206e6f74206578697374006044820152606401610b75565b6000848152600a602052604090206002015442118015612a8557506000848152600a602052604090206003015442105b612ad15760405162461bcd60e51b815260206004820152601960248201527f436c61696d3a2074696d652077696e646f7720636c6f736564000000000000006044820152606401610b75565b6000848152600a6020526040902060040154612aee908790612ea9565b341015612b3d5760405162461bcd60e51b815260206004820152601c60248201527f436c61696d3a2045746865722076616c756520696e636f7272656374000000006044820152606401610b75565b6000848152600a6020818152604080842033855290920190529020548590612b659088612db2565b1115612bc45760405162461bcd60e51b815260206004820152602860248201527f436c61696d3a204e6f7420616c6c6f77656420746f20636c61696d20676976656044820152671b88185b5bdd5b9d60c21b6064820152608401610b75565b6000848152600a602081815260408084206006810154338652930190915290912054612bf09088612db2565b1115612c5c5760405162461bcd60e51b815260206004820152603560248201527f436c61696d3a204e6f7420616c6c6f77656420746f20636c61696d2074686174604482015274081b585b9e48199c9bdb481bdb99481dd85b1b195d605a1b6064820152608401610b75565b6000848152600a6020526040902060070154861115612ccb5760405162461bcd60e51b815260206004820152602560248201527f4d6178207175616e7469747920706572207472616e73616374696f6e20657863604482015264195959195960da1b6064820152608401610b75565b6000848152600a60209081526040808320600590810154925290912054612cf3908890614b63565b1115612d415760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c796044820152606401610b75565b6000612d4f84848789610faa565b905080612da85760405162461bcd60e51b815260206004820152602160248201527f4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f666044820152601760f91b6064820152608401610b75565b9695505050505050565b6000612dbe8284614b63565b9392505050565b611ecb8484848461341e565b610dca8383836134bd565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60045460ff1615612e745760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b75565b6004805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129393390565b6000612dbe8284614cc1565b6000612dbe8284614d01565b6001600160a01b038416612ee75760405162461bcd60e51b8152600401610b7590614969565b33612f06818787612ef78861355b565b612f008861355b565b87613091565b60008481526001602090815260408083206001600160a01b038a16845290915290205483811015612f495760405162461bcd60e51b8152600401610b75906149f1565b60008581526001602090815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290612f88908490614b63565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612fe88288888888886135b4565b50505050505050565b60006001600160e01b03198216637965db0b60e01b1480610ba357506301ffc9a760e01b6001600160e01b0319831614610ba3565b6000600a60f883901c101561304d5761304460f883901c6030614b7b565b60f81b92915050565b61304460f883901c6057614b7b565b6130688484848461367e565b60008381526005602052604081208054849290613086908490614b63565b909155505050505050565b6126a6868686868686613747565b6001600160a01b0384163b156126a65760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906130e3908990899088908890889060040161470e565b602060405180830381600087803b1580156130fd57600080fd5b505af192505050801561312d575060408051601f3d908101601f1916820190925261312a91810190614437565b60015b6131da57613139614e56565b806308c379a01415613173575061314e614e6e565b806131595750613175565b8060405162461bcd60e51b8152600401610b759190614881565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610b75565b6001600160e01b0319811663bc197c8160e01b14612fe85760405162461bcd60e51b8152600401610b7590614894565b60606000613219836002614cc1565b613224906002614b63565b6001600160401b0381111561324957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613273576020820181803683370190505b509050600360fc1b8160008151811061329c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106132d957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006132fd846002614cc1565b613308906001614b63565b90505b600181111561339c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061334a57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061336e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361339581614d67565b905061330b565b508315612dbe5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610b75565b6133f68383836137af565b60008281526005602052604081208054839290613414908490614d01565b9091555050505050565b61342a848484846138b4565b60005b8351811015610e735782818151811061345657634e487b7160e01b600052603260045260246000fd5b60200260200101516005600086848151811061348257634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008282546134a79190614b63565b909155506134b6905081614de5565b905061342d565b6134c8838383613a2b565b60005b8251811015611ecb578181815181106134f457634e487b7160e01b600052603260045260246000fd5b60200260200101516005600085848151811061352057634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008282546135459190614d01565b90915550613554905081614de5565b90506134cb565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106135a357634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b156126a65760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906135f8908990899088908890889060040161476c565b602060405180830381600087803b15801561361257600080fd5b505af1925050508015613642575060408051601f3d908101601f1916820190925261363f91810190614437565b60015b61364e57613139614e56565b6001600160e01b0319811663f23a6e6160e01b14612fe85760405162461bcd60e51b8152600401610b7590614894565b6001600160a01b0384166136a45760405162461bcd60e51b8152600401610b7590614ab8565b336136b581600087612ef78861355b565b60008481526001602090815260408083206001600160a01b0389168452909152812080548592906136e7908490614b63565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610e73816000878787876135b4565b60045460ff16156126a65760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201526b1dda1a5b19481c185d5cd95960a21b6064820152608401610b75565b6001600160a01b0383166137d55760405162461bcd60e51b8152600401610b75906149ae565b33613804818560006137e68761355b565b6137ef8761355b565b60405180602001604052806000815250613091565b60008381526001602090815260408083206001600160a01b0388168452909152902054828110156138475760405162461bcd60e51b8152600401610b75906148dc565b60008481526001602090815260408083206001600160a01b03898116808652918452828520888703905582518981529384018890529092908616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6001600160a01b0384166138da5760405162461bcd60e51b8152600401610b7590614ab8565b81518351146138fb5760405162461bcd60e51b8152600401610b7590614a70565b3361390b81600087878787613091565b60005b84518110156139c35783818151811061393757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600087848151811061396357634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546139ab9190614b63565b909155508190506139bb81614de5565b91505061390e565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613a149291906147eb565b60405180910390a4610e738160008787878761309f565b6001600160a01b038316613a515760405162461bcd60e51b8152600401610b75906149ae565b8051825114613a725760405162461bcd60e51b8152600401610b7590614a70565b6000339050613a9581856000868660405180602001604052806000815250613091565b60005b8351811015613b79576000848281518110613ac357634e487b7160e01b600052603260045260246000fd5b602002602001015190506000848381518110613aef57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526001835260408082206001600160a01b038c168352909352919091205490915081811015613b405760405162461bcd60e51b8152600401610b75906148dc565b60009283526001602090815260408085206001600160a01b038b1686529091529092209103905580613b7181614de5565b915050613a98565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051613bca9291906147eb565b60405180910390a450505050565b828054613be490614d7e565b90600052602060002090601f016020900481019282613c065760008555613c4c565b82601f10613c1f57805160ff1916838001178555613c4c565b82800160010185558215613c4c579182015b82811115613c4c578251825591602001919060010190613c31565b50613c58929150613c5c565b5090565b5b80821115613c585760008155600101613c5d565b60008083601f840112613c82578182fd5b5081356001600160401b03811115613c98578182fd5b6020830191508360208260051b8501011115613cb357600080fd5b9250929050565b600082601f830112613cca578081fd5b81356020613cd782614b40565b604051613ce48282614db9565b8381528281019150858301600585901b87018401881015613d03578586fd5b855b85811015613d2157813584529284019290840190600101613d05565b5090979650505050505050565b8035801515811461111e57600080fd5b600082601f830112613d4e578081fd5b81356001600160401b03811115613d6757613d67614e40565b604051613d7e601f8301601f191660200182614db9565b818152846020838601011115613d92578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215613dbd578081fd5b8135612dbe81614ef7565b60008060408385031215613dda578081fd5b8235613de581614ef7565b946020939093013593505050565b60008060408385031215613e05578182fd5b8235613e1081614ef7565b91506020830135613e2081614ef7565b809150509250929050565b600080600080600060a08688031215613e42578081fd5b8535613e4d81614ef7565b94506020860135613e5d81614ef7565b935060408601356001600160401b0380821115613e78578283fd5b613e8489838a01613cba565b94506060880135915080821115613e99578283fd5b613ea589838a01613cba565b93506080880135915080821115613eba578283fd5b50613ec788828901613d3e565b9150509295509295909350565b600080600080600060a08688031215613eeb578081fd5b8535613ef681614ef7565b94506020860135613f0681614ef7565b9350604086013592506060860135915060808601356001600160401b03811115613f2e578182fd5b613ec788828901613d3e565b600080600080600060608688031215613f51578283fd5b8535613f5c81614ef7565b945060208601356001600160401b0380821115613f77578485fd5b613f8389838a01613c71565b90965094506040880135915080821115613f9b578283fd5b50613fa888828901613c71565b969995985093965092949392505050565b600080600060608486031215613fcd578081fd5b8335613fd881614ef7565b925060208401356001600160401b0380821115613ff3578283fd5b613fff87838801613cba565b93506040860135915080821115614014578283fd5b5061402186828701613cba565b9150509250925092565b6000806040838503121561403d578182fd5b823561404881614ef7565b915061405660208401613d2e565b90509250929050565b60008060408385031215613dda578182fd5b600080600060608486031215614085578081fd5b833561409081614ef7565b95602085013595506040909401359392505050565b600080604083850312156140b7578182fd5b82356001600160401b03808211156140cd578384fd5b818501915085601f8301126140e0578384fd5b813560206140ed82614b40565b6040516140fa8282614db9565b8381528281019150858301600585901b870184018b1015614119578889fd5b8896505b8487101561414457803561413081614ef7565b83526001969096019591830191830161411d565b509650508601359250508082111561415a578283fd5b5061416785828601613cba565b9150509250929050565b60008060008060608587031215614186578182fd5b84356001600160401b0381111561419b578283fd5b6141a787828801613c71565b90989097506020870135966040013595509350505050565b6000806000806000806000806080898b0312156141da578586fd5b88356001600160401b03808211156141f0578788fd5b6141fc8c838d01613c71565b909a50985060208b0135915080821115614214578788fd5b6142208c838d01613c71565b909850965060408b0135915080821115614238578485fd5b6142448c838d01613c71565b909650945060608b013591508082111561425c578384fd5b506142698b828c01613c71565b999c989b5096995094979396929594505050565b60006020828403121561428e578081fd5b5035919050565b600080604083850312156142a7578182fd5b823591506020830135613e2081614ef7565b600080604083850312156142cb578182fd5b50508035926020909101359150565b60008060008060008060008060006101208a8c0312156142f8578283fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a01356001600160401b03811115614337578384fd5b6143438c828d01613d3e565b93505060e08a013561435481614ef7565b809250506101008a013590509295985092959850929598565b60008060008060008060008060008060006101608c8e03121561438e578485fd5b8b359a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c01356001600160401b038111156143cd578586fd5b6143d98e828f01613d3e565b95505060e08c01356143ea81614ef7565b93506101008c013592506144016101208d01613d2e565b91506101408c013590509295989b509295989b9093969950565b60006020828403121561442c578081fd5b8135612dbe81614f0c565b600060208284031215614448578081fd5b8151612dbe81614f0c565b600060208284031215614464578081fd5b81356001600160401b03811115614479578182fd5b61107184828501613d3e565b60008060408385031215614497578182fd5b82356001600160401b038111156144ac578283fd5b6144b885828601613d3e565b95602094909401359450505050565b6000806000806000608086880312156144de578283fd5b85359450602086013593506040860135925060608601356001600160401b03811115614508578182fd5b613fa888828901613c71565b81835260006001600160fb1b0383111561452c578081fd5b8260051b80836020870137939093016020019283525090919050565b6000815180845260208085019450808401835b838110156145775781518752958201959082019060010161455b565b509495945050505050565b6000815180845261459a816020860160208601614d3b565b601f01601f19169290920160200192915050565b6000835160206145c18285838901614d3b565b8454918401918390600181811c90808316806145de57607f831692505b8583108114156145fc57634e487b7160e01b88526022600452602488fd5b80801561461057600181146146215761464d565b60ff1985168852838801955061464d565b60008b815260209020895b858110156146455781548a82015290840190880161462c565b505083880195505b50939a9950505050505050505050565b6000835161466f818460208801614d3b565b605f60f81b908301908152835161468d816001840160208801614d3b565b01600101949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516146d1816017850160208801614d3b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614702816028840160208801614d3b565b01602801949350505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061473a90830186614548565b828103606084015261474c8186614548565b905082810360808401526147608185614582565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906147a690830184614582565b979650505050505050565b6040815260006147c5604083018688614514565b82810360208401526147a6818587614514565b602081526000612dbe6020830184614548565b6040815260006147fe6040830185614548565b82810360208401526148108185614548565b95945050505050565b60006101408c83528b151560208401528a60408401528960608401528860808401528760a08401528660c08401528560e08401528061010084015261486081840186614582565b91505060018060a01b0383166101208301529b9a5050505050505050505050565b602081526000612dbe6020830184614582565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6000808335601e19843603018112614b0f578283fd5b8301803591506001600160401b03821115614b28578283fd5b6020019150600581901b3603821315613cb357600080fd5b60006001600160401b03821115614b5957614b59614e40565b5060051b60200190565b60008219821115614b7657614b76614e14565b500190565b600060ff821660ff84168060ff03821115614b9857614b98614e14565b019392505050565b600082614baf57614baf614e2a565b500490565b600060ff831680614bc757614bc7614e2a565b8060ff84160491505092915050565b600181815b80851115614c11578160001904821115614bf757614bf7614e14565b80851615614c0457918102915b93841c9390800290614bdb565b509250929050565b6000612dbe8383600082614c2f57506001610ba3565b81614c3c57506000610ba3565b8160018114614c525760028114614c5c57614c78565b6001915050610ba3565b60ff841115614c6d57614c6d614e14565b50506001821b610ba3565b5060208310610133831016604e8410600b8410161715614c9b575081810a610ba3565b614ca58383614bd6565b8060001904821115614cb957614cb9614e14565b029392505050565b6000816000190483118215151615614cdb57614cdb614e14565b500290565b600060ff821660ff84168160ff0481118215151615614cb957614cb9614e14565b600082821015614d1357614d13614e14565b500390565b600060ff821660ff841680821015614d3257614d32614e14565b90039392505050565b60005b83811015614d56578181015183820152602001614d3e565b83811115611ecb5750506000910152565b600081614d7657614d76614e14565b506000190190565b600181811c90821680614d9257607f821691505b60208210811415614db357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f191681016001600160401b0381118282101715614dde57614dde614e40565b6040525050565b6000600019821415614df957614df9614e14565b5060010190565b600082614e0f57614e0f614e2a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115614e6b57600481823e5160e01c5b90565b600060443d1015614e7c5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715614eab57505050505090565b8285019150815181811115614ec35750505050505090565b843d8701016020828501011115614edd5750505050505090565b614eec60208286010187614db9565b509095945050505050565b6001600160a01b0381168114610be757600080fd5b6001600160e01b031981168114610be757600080fdfea264697066735822122010647ae204f4dc0d8137057ad3e45ff4c81627d3bf211f63b7406f888b60fc7664736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010485050522048616c6c2050617373657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000848505052504153530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d645464696e6b3865746f6452775045536768667353474d6b5558423962557977414a694272744374433348520000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): HPPR Hall Passes
Arg [1] : _symbol (string): HPPRPASS
Arg [2] : metaDataURI (string): ipfs://QmdTdink8etodRwPESghfsSGMkUXB9bUywAJiBrtCtC3HR
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [4] : 485050522048616c6c2050617373657300000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 4850505250415353000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000035
Arg [8] : 697066733a2f2f516d645464696e6b3865746f6452775045536768667353474d
Arg [9] : 6b5558423962557977414a694272744374433348520000000000000000000000
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.