ERC-1155
Overview
Max Total Supply
15 BigBPosters
Holders
830
Total Transfers
-
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
Contract Name:
BigBPosters
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-11-17 */ // SPDX-License-Identifier:UNLICENSED pragma solidity ^0.8.9; library Strings { function toString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); uint256 index = digits - 1; temp = value; while (temp != 0) { buffer[index--] = bytes1(uint8(48 + temp % 10)); temp /= 10; } return string(buffer); } } library EnumerableMap { struct MapEntry { bytes32 _key; bytes32 _value; } struct Map { MapEntry[] _entries; mapping (bytes32 => uint256) _indexes; } function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) { uint256 keyIndex = map._indexes[key]; if (keyIndex == 0) { // Equivalent to !contains(map, key) map._entries.push(MapEntry({ _key: key, _value: value })); map._indexes[key] = map._entries.length; return true; } else { map._entries[keyIndex - 1]._value = value; return false; } } function _remove(Map storage map, bytes32 key) private returns (bool) { uint256 keyIndex = map._indexes[key]; if (keyIndex != 0) { // Equivalent to contains(map, key) uint256 toDeleteIndex = keyIndex - 1; uint256 lastIndex = map._entries.length - 1; MapEntry storage lastEntry = map._entries[lastIndex]; map._entries[toDeleteIndex] = lastEntry; map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based map._entries.pop(); delete map._indexes[key]; return true; } else { return false; } } function _contains(Map storage map, bytes32 key) private view returns (bool) { return map._indexes[key] != 0; } function _length(Map storage map) private view returns (uint256) { return map._entries.length; } function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) { require(map._entries.length > index, "EnumerableMap: index out of bounds"); MapEntry storage entry = map._entries[index]; return (entry._key, entry._value); } function _tryGet(Map storage map, bytes32 key) private view returns (bool, bytes32) { uint256 keyIndex = map._indexes[key]; if (keyIndex == 0) return (false, 0); // Equivalent to contains(map, key) return (true, map._entries[keyIndex - 1]._value); // All indexes are 1-based } function _get(Map storage map, bytes32 key) private view returns (bytes32) { uint256 keyIndex = map._indexes[key]; require(keyIndex != 0, "EnumerableMap: nonexistent key"); // Equivalent to contains(map, key) return map._entries[keyIndex - 1]._value; // All indexes are 1-based } function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) { uint256 keyIndex = map._indexes[key]; require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key) return map._entries[keyIndex - 1]._value; // All indexes are 1-based } struct UintToAddressMap { Map _inner; } function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) { return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value)))); } function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) { return _remove(map._inner, bytes32(key)); } function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) { return _contains(map._inner, bytes32(key)); } function length(UintToAddressMap storage map) internal view returns (uint256) { return _length(map._inner); } function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) { (bytes32 key, bytes32 value) = _at(map._inner, index); return (uint256(key), address(uint160(uint256(value)))); } function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) { (bool success, bytes32 value) = _tryGet(map._inner, bytes32(key)); return (success, address(uint160(uint256(value)))); } function get(UintToAddressMap storage map, uint256 key) internal view returns (address) { return address(uint160(uint256(_get(map._inner, bytes32(key))))); } function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) { return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage)))); } } library EnumerableSet { struct Set { bytes32[] _values; mapping (bytes32 => uint256) _indexes; } function _add(Set storage set, bytes32 value) private returns (bool) { if (!_contains(set, value)) { set._values.push(value); set._indexes[value] = set._values.length; return true; } else { return false; } } function _remove(Set storage set, bytes32 value) private returns (bool) { uint256 valueIndex = set._indexes[value]; if (valueIndex != 0) { // Equivalent to contains(set, value) uint256 toDeleteIndex = valueIndex - 1; uint256 lastIndex = set._values.length - 1; bytes32 lastvalue = set._values[lastIndex]; set._values[toDeleteIndex] = lastvalue; set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based set._values.pop(); delete set._indexes[value]; return true; } else { return false; } } function _contains(Set storage set, bytes32 value) private view returns (bool) { return set._indexes[value] != 0; } function _length(Set storage set) private view returns (uint256) { return set._values.length; } function _at(Set storage set, uint256 index) private view returns (bytes32) { require(set._values.length > index, "EnumerableSet: index out of bounds"); return set._values[index]; } struct Bytes32Set { Set _inner; } function add(Bytes32Set storage set, bytes32 value) internal returns (bool) { return _add(set._inner, value); } function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) { return _remove(set._inner, value); } function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) { return _contains(set._inner, value); } function length(Bytes32Set storage set) internal view returns (uint256) { return _length(set._inner); } function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) { return _at(set._inner, index); } struct AddressSet { Set _inner; } function add(AddressSet storage set, address value) internal returns (bool) { return _add(set._inner, bytes32(uint256(uint160(value)))); } function remove(AddressSet storage set, address value) internal returns (bool) { return _remove(set._inner, bytes32(uint256(uint160(value)))); } function contains(AddressSet storage set, address value) internal view returns (bool) { return _contains(set._inner, bytes32(uint256(uint160(value)))); } function length(AddressSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(AddressSet storage set, uint256 index) internal view returns (address) { return address(uint160(uint256(_at(set._inner, index)))); } struct UintSet { Set _inner; } function add(UintSet storage set, uint256 value) internal returns (bool) { return _add(set._inner, bytes32(value)); } function remove(UintSet storage set, uint256 value) internal returns (bool) { return _remove(set._inner, bytes32(value)); } function contains(UintSet storage set, uint256 value) internal view returns (bool) { return _contains(set._inner, bytes32(value)); } function length(UintSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(UintSet storage set, uint256 index) internal view returns (uint256) { return uint256(_at(set._inner, index)); } } 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); } interface IERC1155 is IERC165 { event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values); event ApprovalForAll(address indexed account, address indexed operator, bool approved); event URI(string value, uint256 indexed id); event tokenBaseURI(string value); function name() external view returns (string memory); function symbol() external view returns (string memory); function AssignedNFTs() external view returns (uint256); function balanceOf(address account, uint256 id) external view returns (uint256); function tokenURI(uint256 tokenId) external view returns (string memory); function setApprovalForAll(address operator, bool approved) external; function isApprovedForAll(address account, address operator) external view returns (bool); function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external; } interface IERC1155MetadataURI is IERC1155 { } interface IERC1155Receiver is IERC165 { function onERC1155Received( address operator, address from, uint256 id, uint256 value, bytes calldata data ) external returns(bytes4); function onERC1155BatchReceived( address operator, address from, uint256[] calldata ids, uint256[] calldata values, bytes calldata data ) external returns(bytes4); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract ERC165 is IERC165 { bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7; mapping(bytes4 => bool) private _supportedInterfaces; constructor () { _registerInterface(_INTERFACE_ID_ERC165); } function supportsInterface(bytes4 interfaceId) public view override returns (bool) { return _supportedInterfaces[interfaceId]; } function _registerInterface(bytes4 interfaceId) internal virtual { require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); _supportedInterfaces[interfaceId] = true; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI { using SafeMath for uint256; using Address for address; using Strings for uint256; using EnumerableMap for EnumerableMap.UintToAddressMap; mapping (uint256 => mapping(address => uint256)) private _balances; // Mapping from account to operator approvals mapping (address => mapping(address => bool)) private _operatorApprovals; string public tokenURIPrefix; uint256 public totalSupply; // Optional mapping for token URIs mapping(uint256 => string) private _tokenURIs; EnumerableMap.UintToAddressMap private _tokenOwners; string private _name; string private _symbol; uint256 public royaltyFee; bytes4 private constant _INTERFACE_ID_ERC1155 = 0xd9b67a26; bytes4 private constant _INTERFACE_ID_ERC1155_METADATA_URI = 0x0e89341c; constructor (string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; totalSupply = 15; royaltyFee = 5; _registerInterface(_INTERFACE_ID_ERC1155); _registerInterface(_INTERFACE_ID_ERC1155_METADATA_URI); } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Internal function to set the token URI for a given token. * Reverts if the token ID does not exist. * @param tokenId uint256 ID of the token to set its URI * @param uri string URI to assign */ function _setTokenURI(uint256 tokenId, string memory uri) internal { require(_exists(tokenId), "ERC1155Metadata: URI query for nonexistent token"); _tokenURIs[tokenId] = uri; } function AssignedNFTs() public view virtual override returns (uint256) { return _tokenOwners.length(); } function _setTokenURIPrefix(string memory _tokenURIPrefix) internal { tokenURIPrefix = _tokenURIPrefix; emit tokenBaseURI(_tokenURIPrefix); } /** * @dev Returns an URI for a given token ID. * Throws if the token ID does not exist. May return an empty string. * @param tokenId uint256 ID of the token to query */ function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC1155Metadata: URI query for nonexistent token"); string memory base = tokenURIPrefix; string memory _tokenURI = _tokenURIs[tokenId]; if (bytes(base).length == 0) { return _tokenURI; } if (bytes(_tokenURI).length > 0) { return string(abi.encodePacked(base, _tokenURI)); } return string(abi.encodePacked(base, tokenId.toString())); } function _exists(uint256 tokenId) internal view virtual returns (bool) { return _tokenOwners.contains(tokenId); } /** @notice Get the balance of an account's Tokens. @param account The address of the token holder @param tokenId ID of the Token @return The owner's balance of the Token type requested */ function balanceOf(address account, uint256 tokenId) public view override returns (uint256) { require(_exists(tokenId), "ERC1155Metadata: balance query for nonexistent token"); require(account != address(0), "ERC1155: balance query for the zero address"); return _balances[tokenId][account]; } /** @notice Enable or disable approval for a third party ("operator") to manage all of the caller's tokens. @dev MUST emit the ApprovalForAll event on success. @param operator Address to add to the set of authorized operators @param approved True if the operator is approved, false to revoke approval */ function setApprovalForAll(address operator, bool approved) public virtual override { require(_msgSender() != operator, "ERC1155: setting approval status for self"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } /** @notice Queries the approval status of an operator for a given owner. @param account The owner of the Tokens @param operator Address of authorized operator @return True if the operator is approved, false if not */ function isApprovedForAll(address account, address operator) public view override returns (bool) { return _operatorApprovals[account][operator]; } /** @notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call). @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard). MUST revert if `_to` is the zero address. MUST revert if balance of holder for token `_id` is lower than the `_value` sent. MUST revert on any other error. MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard). After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard). @param from Source address @param to Target address @param tokenId ID of the token type @param amount Transfer amount @param data Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to` */ function safeTransferFrom( address from, address to, uint256 tokenId, uint256 amount, bytes memory data ) public virtual override { require(to != address(0), "ERC1155: transfer to the zero address"); require( from == _msgSender() || isApprovedForAll(from, _msgSender()), "ERC1155: caller is not owner nor approved" ); address operator = _msgSender(); _beforeTokenTransfer(operator, from, to, _asSingletonArray(tokenId), _asSingletonArray(amount), data); _balances[tokenId][from] = _balances[tokenId][from].sub(amount, "ERC1155: insufficient balance for transfer"); _balances[tokenId][to] = _balances[tokenId][to].add(amount); emit TransferSingle(operator, from, to, tokenId, amount); _doSafeTransferAcceptanceCheck(operator, from, to, tokenId, amount, data); } /** * @dev Internal function to mint a new token. * Reverts if the given token ID already exists. * @param tokenId uint256 ID of the token to be minted * @param _supply uint256 supply of the token to be minted * @param _uri string memory URI of the token to be minte */ function _mint(address from, uint256 tokenId, uint256 _supply, string memory _uri) internal { require(!_exists(tokenId), "ERC1155: token already minted"); require(from != address(0),"ERC1155: address should not be Zero"); require(_supply != 0, "Supply should be positive"); require(bytes(_uri).length > 0, "uri should be set"); _operatorApprovals[from][msg.sender] = true; _tokenOwners.set(tokenId, from); _balances[tokenId][from] = _supply; _setTokenURI(tokenId, _uri); emit ApprovalForAll(from, msg.sender, true); emit TransferSingle(from, address(0x0), from, tokenId, _supply); emit URI(_uri, tokenId); } /** * @dev Internal function to burn a specific token. * Reverts if the token does not exist. * Deprecated, use {ERC1155-_burn} instead. * @param account owner of the token to burn * @param tokenId uint256 ID of the token being burned * @param amount uint256 amount of supply being burned */ function _burn(address account, uint256 tokenId, uint256 amount) internal virtual { require(_exists(tokenId), "ERC1155Metadata: burn query for nonexistent token"); require(account != address(0), "ERC1155: burn from the zero address"); address operator = _msgSender(); _beforeTokenTransfer(operator, account, address(0), _asSingletonArray(tokenId), _asSingletonArray(amount), ""); _balances[tokenId][account] = _balances[tokenId][account].sub( amount, "ERC_holderTokens1155: burn amount exceeds balance" ); emit TransferSingle(operator, account, address(0), tokenId, amount); } function _beforeTokenTransfer( address operator, address from, address to, uint256[] memory tokenIds, uint256[] memory amounts, bytes memory data ) internal virtual { } function _doSafeTransferAcceptanceCheck( address operator, address from, address to, uint256 tokenId, uint256 amount, bytes memory data ) private { if (to.isContract()) { try IERC1155Receiver(to).onERC1155Received(operator, from, tokenId, amount, data) returns (bytes4 response) { if (response != IERC1155Receiver(to).onERC1155Received.selector) { revert("ERC1155: ERC1155Receiver rejected tokens"); } } catch Error(string memory reason) { revert(reason); } catch { revert("ERC1155: transfer to non ERC1155Receiver implementer"); } } } function _doSafeBatchTransferAcceptanceCheck( address operator, address from, address to, uint256[] memory tokenIds, uint256[] memory amounts, bytes memory data ) private { if (to.isContract()) { try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, tokenIds, amounts, data) returns (bytes4 response) { if (response != IERC1155Receiver(to).onERC1155BatchReceived.selector) { revert("ERC1155: ERC1155Receiver rejected tokens"); } } catch Error(string memory reason) { revert(reason); } catch { revert("ERC1155: transfer to non ERC1155Receiver implementer"); } } } function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) { uint256[] memory array = new uint256[](1); array[0] = element; return array; } } interface IBaseNFT1155 { function mint(address creator, string memory uri, uint256 supply) external returns(uint256); function setRoyaltyFee(uint256 _royalty) external returns(bool); } contract BigBPosters is ERC1155 { address public owner; address public operator; uint256 public tokenCount; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event OperatorChanged(address indexed operator, address indexed _Operator); constructor (string memory name, string memory symbol, string memory tokenURIPrefix, address _operator) ERC1155 (name, symbol) { owner = msg.sender; tokenCount = 1; _setTokenURIPrefix(tokenURIPrefix); setOperator(_operator); } modifier onlyOwner() { require(owner == msg.sender, "Ownable: caller is not the owner"); _; } /** @dev change the Ownership from current owner to newOwner address @param newOwner : newOwner address */ function ownerTransfership(address newOwner) public onlyOwner returns(bool) { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; return true; } function setOperator(address _operator) public onlyOwner returns(bool) { require(_operator!= address(0),"Operator: operator is the Zero address"); emit OperatorChanged(operator, _operator); operator = _operator; return true; } function mint(address creator, string memory uri, uint256 supply) public returns(uint256){ require(msg.sender == operator,"ERC1155: caller doesn't have operator Role"); require(tokenCount <= totalSupply,"ERC1555Mint: Minting is not available"); require(supply <= 222,"ERC1155: supply must less than or equal to 222"); if( tokenCount == 15){ supply = 444; } uint256 tokenId = tokenCount; _mint(creator, tokenId, supply, uri); tokenCount += 1; return tokenId; } function setRoyaltyFee(uint256 _royalty) public returns(bool) { require(msg.sender == operator,"ERC721: caller doesn't operator role"); royaltyFee = _royalty; return true; } function setBaseURI(string memory _baseURI) public onlyOwner { _setTokenURIPrefix(_baseURI); } function burn(uint256 tokenId, uint256 supply) public { _burn(msg.sender, tokenId, supply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"tokenURIPrefix","type":"string"},{"internalType":"address","name":"_operator","type":"address"}],"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":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"_Operator","type":"address"}],"name":"OperatorChanged","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":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":"string","name":"value","type":"string"}],"name":"tokenBaseURI","type":"event"},{"inputs":[],"name":"AssignedNFTs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":"address","name":"creator","type":"address"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"ownerTransfership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"royaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"_baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_royalty","type":"uint256"}],"name":"setRoyaltyFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"tokenCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenURIPrefix","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200243f3803806200243f833981016040819052620000349162000458565b8383620000486301ffc9a760e01b620000dc565b81516200005d906008906020850190620002d8565b50805162000073906009906020840190620002d8565b50600f6004556005600a5562000090636cdb3d1360e11b620000dc565b620000a26303a24d0760e21b620000dc565b5050600b80546001600160a01b031916331790556001600d55620000c68262000161565b620000d181620001b3565b50505050506200057d565b6001600160e01b031980821614156200013c5760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b805162000176906003906020840190620002d8565b507f5514cc7324ac64a875ba50a1849367d39c8b030fe0f563c3c7142984552bc30681604051620001a891906200050b565b60405180910390a150565b600b546000906001600160a01b03163314620002125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000133565b6001600160a01b038216620002795760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f723a206f70657261746f7220697320746865205a65726f206160448201526564647265737360d01b606482015260840162000133565b600c546040516001600160a01b038085169216907fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c90600090a350600c80546001600160a01b0383166001600160a01b03199091161790556001919050565b828054620002e69062000540565b90600052602060002090601f0160209004810192826200030a576000855562000355565b82601f106200032557805160ff191683800117855562000355565b8280016001018555821562000355579182015b828111156200035557825182559160200191906001019062000338565b506200036392915062000367565b5090565b5b8082111562000363576000815560010162000368565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003b157818101518382015260200162000397565b83811115620003c1576000848401525b50505050565b600082601f830112620003d957600080fd5b81516001600160401b0380821115620003f657620003f66200037e565b604051601f8301601f19908116603f011681019082821181831017156200042157620004216200037e565b816040528381528660208588010111156200043b57600080fd5b6200044e84602083016020890162000394565b9695505050505050565b600080600080608085870312156200046f57600080fd5b84516001600160401b03808211156200048757600080fd5b6200049588838901620003c7565b95506020870151915080821115620004ac57600080fd5b620004ba88838901620003c7565b94506040870151915080821115620004d157600080fd5b50620004e087828801620003c7565b606087015190935090506001600160a01b03811681146200050057600080fd5b939692955090935050565b60208152600082518060208401526200052c81604085016020870162000394565b601f01601f19169190910160400192915050565b600181811c908216806200055557607f821691505b602082108114156200057757634e487b7160e01b600052602260045260246000fd5b50919050565b611eb2806200058d6000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395d89b41116100b8578063b8997a971161007c578063b8997a9714610287578063ba7aef4314610290578063c0ac9983146102a3578063c87b56dd146102ab578063e985e9c5146102be578063f242432a146102fa57600080fd5b806395d89b411461023d5780639f181b5e14610245578063a22cb4651461024e578063b390c0ab14610261578063b3ab15fb1461027457600080fd5b806355f804b3116100ff57806355f804b3146101cf578063570ca735146101e45780636fdc202f1461020f57806388f862e3146102225780638da5cb5b1461022a57600080fd5b8062fdd58e1461013b57806301ffc9a71461016157806306fdde031461019e57806318160ddd146101b35780633e4086e5146101bc575b600080fd5b61014e6101493660046117fb565b61030d565b6040519081526020015b60405180910390f35b61018e61016f36600461183b565b6001600160e01b03191660009081526020819052604090205460ff1690565b6040519015158152602001610158565b6101a6610418565b60405161015891906118b4565b61014e60045481565b61018e6101ca3660046118c7565b6104aa565b6101e26101dd3660046119a1565b61051c565b005b600c546101f7906001600160a01b031681565b6040516001600160a01b039091168152602001610158565b61018e61021d3660046119d6565b610552565b61014e610642565b600b546101f7906001600160a01b031681565b6101a6610653565b61014e600d5481565b6101e261025c3660046119f1565b610662565b6101e261026f366004611a2d565b610739565b61018e6102823660046119d6565b610748565b61014e600a5481565b61014e61029e366004611a4f565b610839565b6101a66109b6565b6101a66102b93660046118c7565b610a44565b61018e6102cc366004611aa6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b6101e2610308366004611ad9565b610bf8565b600061031882610df1565b6103865760405162461bcd60e51b815260206004820152603460248201527f455243313135354d657461646174613a2062616c616e6365207175657279206660448201527337b9103737b732bc34b9ba32b73a103a37b5b2b760611b60648201526084015b60405180910390fd5b6001600160a01b0383166103f05760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b606482015260840161037d565b5060009081526001602090815260408083206001600160a01b03949094168352929052205490565b60606008805461042790611b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461045390611b5f565b80156104a05780601f10610475576101008083540402835291602001916104a0565b820191906000526020600020905b81548152906001019060200180831161048357829003601f168201915b5050505050905090565b600c546000906001600160a01b031633146105135760405162461bcd60e51b8152602060048201526024808201527f4552433732313a2063616c6c657220646f65736e2774206f70657261746f7220604482015263726f6c6560e01b606482015260840161037d565b50600a55600190565b600b546001600160a01b031633146105465760405162461bcd60e51b815260040161037d90611b9a565b61054f81610e04565b50565b600b546000906001600160a01b0316331461057f5760405162461bcd60e51b815260040161037d90611b9a565b6001600160a01b0382166105e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161037d565b600b546040516001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350600b80546001600160a01b0319166001600160a01b03831617905560015b919050565b600061064e6006610e52565b905090565b60606009805461042790611b5f565b336001600160a01b03831614156106cd5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161037d565b3360008181526002602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610744338383610e5c565b5050565b600b546000906001600160a01b031633146107755760405162461bcd60e51b815260040161037d90611b9a565b6001600160a01b0382166107da5760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f723a206f70657261746f7220697320746865205a65726f206160448201526564647265737360d01b606482015260840161037d565b600c546040516001600160a01b038085169216907fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c90600090a350600c80546001600160a01b0383166001600160a01b03199091161790556001919050565b600c546000906001600160a01b031633146108a95760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2063616c6c657220646f65736e27742068617665206f70656044820152697261746f7220526f6c6560b01b606482015260840161037d565b600454600d54111561090b5760405162461bcd60e51b815260206004820152602560248201527f455243313535354d696e743a204d696e74696e67206973206e6f7420617661696044820152646c61626c6560d81b606482015260840161037d565b60de8211156109735760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a20737570706c79206d757374206c657373207468616e206f60448201526d391032b8bab0b6103a379019191960911b606482015260840161037d565b600d54600f1415610984576101bc91505b600d546109938582858761100e565b6001600d60008282546109a69190611be5565b90915550909150505b9392505050565b600380546109c390611b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ef90611b5f565b8015610a3c5780601f10610a1157610100808354040283529160200191610a3c565b820191906000526020600020905b815481529060010190602001808311610a1f57829003601f168201915b505050505081565b6060610a4f82610df1565b610a6b5760405162461bcd60e51b815260040161037d90611bfd565b600060038054610a7a90611b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa690611b5f565b8015610af35780601f10610ac857610100808354040283529160200191610af3565b820191906000526020600020905b815481529060010190602001808311610ad657829003601f168201915b505050505090506000600560008581526020019081526020016000208054610b1a90611b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4690611b5f565b8015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b50505050509050815160001415610bab579392505050565b805115610bdd578181604051602001610bc5929190611c4d565b60405160208183030381529060405292505050919050565b81610be78561128a565b604051602001610bc5929190611c4d565b6001600160a01b038416610c5c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161037d565b6001600160a01b038516331480610c785750610c7885336102cc565b610cd65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b606482015260840161037d565b33610cf6818787610ce6886113a1565b610cef886113a1565b5050505050565b610d3d836040518060600160405280602a8152602001611e22602a913960008781526001602090815260408083206001600160a01b038d16845290915290205491906113ec565b60008581526001602090815260408083206001600160a01b038b81168552925280832093909355871681522054610d749084611426565b60008581526001602090815260408083206001600160a01b038a811680865291845293829020949094558051888152918201879052898316928516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610de9818787878787611485565b505050505050565b6000610dfe60068361162b565b92915050565b8051610e1790600390602084019061174b565b507f5514cc7324ac64a875ba50a1849367d39c8b030fe0f563c3c7142984552bc30681604051610e4791906118b4565b60405180910390a150565b6000610dfe825490565b610e6582610df1565b610ecb5760405162461bcd60e51b815260206004820152603160248201527f455243313135354d657461646174613a206275726e20717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b606482015260840161037d565b6001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161037d565b33610f5d81856000610f3e876113a1565b610f47876113a1565b5050604080516020810190915260009052505050565b610fa482604051806060016040528060318152602001611e4c6031913960008681526001602090815260408083206001600160a01b038b16845290915290205491906113ec565b60008481526001602090815260408083206001600160a01b0389811680865291845282852095909555815188815292830187905292938516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b61101783610df1565b156110645760405162461bcd60e51b815260206004820152601d60248201527f455243313135353a20746f6b656e20616c7265616479206d696e746564000000604482015260640161037d565b6001600160a01b0384166110c65760405162461bcd60e51b815260206004820152602360248201527f455243313135353a20616464726573732073686f756c64206e6f74206265205a60448201526265726f60e81b606482015260840161037d565b816111135760405162461bcd60e51b815260206004820152601960248201527f537570706c792073686f756c6420626520706f73697469766500000000000000604482015260640161037d565b60008151116111585760405162461bcd60e51b81526020600482015260116024820152701d5c9a481cda1bdd5b19081899481cd95d607a1b604482015260640161037d565b6001600160a01b03841660009081526002602090815260408083203384529091529020805460ff1916600117905561119260068486611643565b5060008381526001602090815260408083206001600160a01b038816845290915290208290556111c28382611661565b6040516001815233906001600160a01b038616907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319060200160405180910390a360408051848152602081018490526001600160a01b0386169160009183917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8260405161127c91906118b4565b60405180910390a250505050565b6060816112ae5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156112d857806112c281611c7c565b91506112d19050600a83611cad565b91506112b2565b60008167ffffffffffffffff8111156112f3576112f36118e0565b6040519080825280601f01601f19166020018201604052801561131d576020820181803683370190505b509050600061132d600184611cc1565b90508593505b831561139857611344600a85611cd8565b61134f906030611be5565b60f81b828261135d81611cec565b93508151811061136f5761136f611d03565b60200101906001600160f81b031916908160001a905350611391600a85611cad565b9350611333565b50949350505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106113db576113db611d03565b602090810291909101015292915050565b600081848411156114105760405162461bcd60e51b815260040161037d91906118b4565b50600061141d8486611cc1565b95945050505050565b6000806114338385611be5565b9050838110156109af5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161037d565b6001600160a01b0384163b15610de95760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114c99089908990889088908890600401611d19565b6020604051808303816000875af1925050508015611504575060408051601f3d908101601f1916820190925261150191810190611d5e565b60015b6115b157611510611d7b565b806308c379a0141561154a5750611525611d97565b80611530575061154c565b8060405162461bcd60e51b815260040161037d91906118b4565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161037d565b6001600160e01b0319811663f23a6e6160e01b146116225760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b606482015260840161037d565b50505050505050565b600081815260018301602052604081205415156109af565b600061165984846001600160a01b0385166116aa565b949350505050565b61166a82610df1565b6116865760405162461bcd60e51b815260040161037d90611bfd565b600082815260056020908152604090912082516116a59284019061174b565b505050565b60008281526001840160205260408120548061170f5750506040805180820182528381526020808201848152865460018181018955600089815284812095516002909302909501918255915190820155865486845281880190925292909120556109af565b828561171c600184611cc1565b8154811061172c5761172c611d03565b90600052602060002090600202016001018190555060009150506109af565b82805461175790611b5f565b90600052602060002090601f01602090048101928261177957600085556117bf565b82601f1061179257805160ff19168380011785556117bf565b828001600101855582156117bf579182015b828111156117bf5782518255916020019190600101906117a4565b506117cb9291506117cf565b5090565b5b808211156117cb57600081556001016117d0565b80356001600160a01b038116811461063d57600080fd5b6000806040838503121561180e57600080fd5b611817836117e4565b946020939093013593505050565b6001600160e01b03198116811461054f57600080fd5b60006020828403121561184d57600080fd5b81356109af81611825565b60005b8381101561187357818101518382015260200161185b565b83811115611882576000848401525b50505050565b600081518084526118a0816020860160208601611858565b601f01601f19169290920160200192915050565b6020815260006109af6020830184611888565b6000602082840312156118d957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171561191c5761191c6118e0565b6040525050565b600067ffffffffffffffff83111561193d5761193d6118e0565b604051611954601f8501601f1916602001826118f6565b80915083815284848401111561196957600080fd5b83836020830137600060208583010152509392505050565b600082601f83011261199257600080fd5b6109af83833560208501611923565b6000602082840312156119b357600080fd5b813567ffffffffffffffff8111156119ca57600080fd5b61165984828501611981565b6000602082840312156119e857600080fd5b6109af826117e4565b60008060408385031215611a0457600080fd5b611a0d836117e4565b915060208301358015158114611a2257600080fd5b809150509250929050565b60008060408385031215611a4057600080fd5b50508035926020909101359150565b600080600060608486031215611a6457600080fd5b611a6d846117e4565b9250602084013567ffffffffffffffff811115611a8957600080fd5b611a9586828701611981565b925050604084013590509250925092565b60008060408385031215611ab957600080fd5b611ac2836117e4565b9150611ad0602084016117e4565b90509250929050565b600080600080600060a08688031215611af157600080fd5b611afa866117e4565b9450611b08602087016117e4565b93506040860135925060608601359150608086013567ffffffffffffffff811115611b3257600080fd5b8601601f81018813611b4357600080fd5b611b5288823560208401611923565b9150509295509295909350565b600181811c90821680611b7357607f821691505b60208210811415611b9457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611bf857611bf8611bcf565b500190565b60208082526030908201527f455243313135354d657461646174613a2055524920717565727920666f72206e60408201526f37b732bc34b9ba32b73a103a37b5b2b760811b606082015260800190565b60008351611c5f818460208801611858565b835190830190611c73818360208801611858565b01949350505050565b6000600019821415611c9057611c90611bcf565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611cbc57611cbc611c97565b500490565b600082821015611cd357611cd3611bcf565b500390565b600082611ce757611ce7611c97565b500690565b600081611cfb57611cfb611bcf565b506000190190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611d5390830184611888565b979650505050505050565b600060208284031215611d7057600080fd5b81516109af81611825565b600060033d1115611d945760046000803e5060005160e01c5b90565b600060443d1015611da55790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611dd557505050505090565b8285019150815181811115611ded5750505050505090565b843d8701016020828501011115611e075750505050505090565b611e16602082860101876118f6565b50909594505050505056fe455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e736665724552435f686f6c646572546f6b656e73313135353a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220e3b2499166a2604695d82dcef615f4910a986ac0b8941e85c8bd2c494e5f5d6f64736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000098d5a089074be1af5c54fd0dda96f92a29246966000000000000000000000000000000000000000000000000000000000000000b42696742506f7374657273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b42696742506f7374657273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002268747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101365760003560e01c806395d89b41116100b8578063b8997a971161007c578063b8997a9714610287578063ba7aef4314610290578063c0ac9983146102a3578063c87b56dd146102ab578063e985e9c5146102be578063f242432a146102fa57600080fd5b806395d89b411461023d5780639f181b5e14610245578063a22cb4651461024e578063b390c0ab14610261578063b3ab15fb1461027457600080fd5b806355f804b3116100ff57806355f804b3146101cf578063570ca735146101e45780636fdc202f1461020f57806388f862e3146102225780638da5cb5b1461022a57600080fd5b8062fdd58e1461013b57806301ffc9a71461016157806306fdde031461019e57806318160ddd146101b35780633e4086e5146101bc575b600080fd5b61014e6101493660046117fb565b61030d565b6040519081526020015b60405180910390f35b61018e61016f36600461183b565b6001600160e01b03191660009081526020819052604090205460ff1690565b6040519015158152602001610158565b6101a6610418565b60405161015891906118b4565b61014e60045481565b61018e6101ca3660046118c7565b6104aa565b6101e26101dd3660046119a1565b61051c565b005b600c546101f7906001600160a01b031681565b6040516001600160a01b039091168152602001610158565b61018e61021d3660046119d6565b610552565b61014e610642565b600b546101f7906001600160a01b031681565b6101a6610653565b61014e600d5481565b6101e261025c3660046119f1565b610662565b6101e261026f366004611a2d565b610739565b61018e6102823660046119d6565b610748565b61014e600a5481565b61014e61029e366004611a4f565b610839565b6101a66109b6565b6101a66102b93660046118c7565b610a44565b61018e6102cc366004611aa6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b6101e2610308366004611ad9565b610bf8565b600061031882610df1565b6103865760405162461bcd60e51b815260206004820152603460248201527f455243313135354d657461646174613a2062616c616e6365207175657279206660448201527337b9103737b732bc34b9ba32b73a103a37b5b2b760611b60648201526084015b60405180910390fd5b6001600160a01b0383166103f05760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b606482015260840161037d565b5060009081526001602090815260408083206001600160a01b03949094168352929052205490565b60606008805461042790611b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461045390611b5f565b80156104a05780601f10610475576101008083540402835291602001916104a0565b820191906000526020600020905b81548152906001019060200180831161048357829003601f168201915b5050505050905090565b600c546000906001600160a01b031633146105135760405162461bcd60e51b8152602060048201526024808201527f4552433732313a2063616c6c657220646f65736e2774206f70657261746f7220604482015263726f6c6560e01b606482015260840161037d565b50600a55600190565b600b546001600160a01b031633146105465760405162461bcd60e51b815260040161037d90611b9a565b61054f81610e04565b50565b600b546000906001600160a01b0316331461057f5760405162461bcd60e51b815260040161037d90611b9a565b6001600160a01b0382166105e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161037d565b600b546040516001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350600b80546001600160a01b0319166001600160a01b03831617905560015b919050565b600061064e6006610e52565b905090565b60606009805461042790611b5f565b336001600160a01b03831614156106cd5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161037d565b3360008181526002602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610744338383610e5c565b5050565b600b546000906001600160a01b031633146107755760405162461bcd60e51b815260040161037d90611b9a565b6001600160a01b0382166107da5760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f723a206f70657261746f7220697320746865205a65726f206160448201526564647265737360d01b606482015260840161037d565b600c546040516001600160a01b038085169216907fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c90600090a350600c80546001600160a01b0383166001600160a01b03199091161790556001919050565b600c546000906001600160a01b031633146108a95760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2063616c6c657220646f65736e27742068617665206f70656044820152697261746f7220526f6c6560b01b606482015260840161037d565b600454600d54111561090b5760405162461bcd60e51b815260206004820152602560248201527f455243313535354d696e743a204d696e74696e67206973206e6f7420617661696044820152646c61626c6560d81b606482015260840161037d565b60de8211156109735760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a20737570706c79206d757374206c657373207468616e206f60448201526d391032b8bab0b6103a379019191960911b606482015260840161037d565b600d54600f1415610984576101bc91505b600d546109938582858761100e565b6001600d60008282546109a69190611be5565b90915550909150505b9392505050565b600380546109c390611b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ef90611b5f565b8015610a3c5780601f10610a1157610100808354040283529160200191610a3c565b820191906000526020600020905b815481529060010190602001808311610a1f57829003601f168201915b505050505081565b6060610a4f82610df1565b610a6b5760405162461bcd60e51b815260040161037d90611bfd565b600060038054610a7a90611b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa690611b5f565b8015610af35780601f10610ac857610100808354040283529160200191610af3565b820191906000526020600020905b815481529060010190602001808311610ad657829003601f168201915b505050505090506000600560008581526020019081526020016000208054610b1a90611b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4690611b5f565b8015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b50505050509050815160001415610bab579392505050565b805115610bdd578181604051602001610bc5929190611c4d565b60405160208183030381529060405292505050919050565b81610be78561128a565b604051602001610bc5929190611c4d565b6001600160a01b038416610c5c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161037d565b6001600160a01b038516331480610c785750610c7885336102cc565b610cd65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b606482015260840161037d565b33610cf6818787610ce6886113a1565b610cef886113a1565b5050505050565b610d3d836040518060600160405280602a8152602001611e22602a913960008781526001602090815260408083206001600160a01b038d16845290915290205491906113ec565b60008581526001602090815260408083206001600160a01b038b81168552925280832093909355871681522054610d749084611426565b60008581526001602090815260408083206001600160a01b038a811680865291845293829020949094558051888152918201879052898316928516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610de9818787878787611485565b505050505050565b6000610dfe60068361162b565b92915050565b8051610e1790600390602084019061174b565b507f5514cc7324ac64a875ba50a1849367d39c8b030fe0f563c3c7142984552bc30681604051610e4791906118b4565b60405180910390a150565b6000610dfe825490565b610e6582610df1565b610ecb5760405162461bcd60e51b815260206004820152603160248201527f455243313135354d657461646174613a206275726e20717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b606482015260840161037d565b6001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161037d565b33610f5d81856000610f3e876113a1565b610f47876113a1565b5050604080516020810190915260009052505050565b610fa482604051806060016040528060318152602001611e4c6031913960008681526001602090815260408083206001600160a01b038b16845290915290205491906113ec565b60008481526001602090815260408083206001600160a01b0389811680865291845282852095909555815188815292830187905292938516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b61101783610df1565b156110645760405162461bcd60e51b815260206004820152601d60248201527f455243313135353a20746f6b656e20616c7265616479206d696e746564000000604482015260640161037d565b6001600160a01b0384166110c65760405162461bcd60e51b815260206004820152602360248201527f455243313135353a20616464726573732073686f756c64206e6f74206265205a60448201526265726f60e81b606482015260840161037d565b816111135760405162461bcd60e51b815260206004820152601960248201527f537570706c792073686f756c6420626520706f73697469766500000000000000604482015260640161037d565b60008151116111585760405162461bcd60e51b81526020600482015260116024820152701d5c9a481cda1bdd5b19081899481cd95d607a1b604482015260640161037d565b6001600160a01b03841660009081526002602090815260408083203384529091529020805460ff1916600117905561119260068486611643565b5060008381526001602090815260408083206001600160a01b038816845290915290208290556111c28382611661565b6040516001815233906001600160a01b038616907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319060200160405180910390a360408051848152602081018490526001600160a01b0386169160009183917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8260405161127c91906118b4565b60405180910390a250505050565b6060816112ae5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156112d857806112c281611c7c565b91506112d19050600a83611cad565b91506112b2565b60008167ffffffffffffffff8111156112f3576112f36118e0565b6040519080825280601f01601f19166020018201604052801561131d576020820181803683370190505b509050600061132d600184611cc1565b90508593505b831561139857611344600a85611cd8565b61134f906030611be5565b60f81b828261135d81611cec565b93508151811061136f5761136f611d03565b60200101906001600160f81b031916908160001a905350611391600a85611cad565b9350611333565b50949350505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106113db576113db611d03565b602090810291909101015292915050565b600081848411156114105760405162461bcd60e51b815260040161037d91906118b4565b50600061141d8486611cc1565b95945050505050565b6000806114338385611be5565b9050838110156109af5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161037d565b6001600160a01b0384163b15610de95760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114c99089908990889088908890600401611d19565b6020604051808303816000875af1925050508015611504575060408051601f3d908101601f1916820190925261150191810190611d5e565b60015b6115b157611510611d7b565b806308c379a0141561154a5750611525611d97565b80611530575061154c565b8060405162461bcd60e51b815260040161037d91906118b4565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161037d565b6001600160e01b0319811663f23a6e6160e01b146116225760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b606482015260840161037d565b50505050505050565b600081815260018301602052604081205415156109af565b600061165984846001600160a01b0385166116aa565b949350505050565b61166a82610df1565b6116865760405162461bcd60e51b815260040161037d90611bfd565b600082815260056020908152604090912082516116a59284019061174b565b505050565b60008281526001840160205260408120548061170f5750506040805180820182528381526020808201848152865460018181018955600089815284812095516002909302909501918255915190820155865486845281880190925292909120556109af565b828561171c600184611cc1565b8154811061172c5761172c611d03565b90600052602060002090600202016001018190555060009150506109af565b82805461175790611b5f565b90600052602060002090601f01602090048101928261177957600085556117bf565b82601f1061179257805160ff19168380011785556117bf565b828001600101855582156117bf579182015b828111156117bf5782518255916020019190600101906117a4565b506117cb9291506117cf565b5090565b5b808211156117cb57600081556001016117d0565b80356001600160a01b038116811461063d57600080fd5b6000806040838503121561180e57600080fd5b611817836117e4565b946020939093013593505050565b6001600160e01b03198116811461054f57600080fd5b60006020828403121561184d57600080fd5b81356109af81611825565b60005b8381101561187357818101518382015260200161185b565b83811115611882576000848401525b50505050565b600081518084526118a0816020860160208601611858565b601f01601f19169290920160200192915050565b6020815260006109af6020830184611888565b6000602082840312156118d957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171561191c5761191c6118e0565b6040525050565b600067ffffffffffffffff83111561193d5761193d6118e0565b604051611954601f8501601f1916602001826118f6565b80915083815284848401111561196957600080fd5b83836020830137600060208583010152509392505050565b600082601f83011261199257600080fd5b6109af83833560208501611923565b6000602082840312156119b357600080fd5b813567ffffffffffffffff8111156119ca57600080fd5b61165984828501611981565b6000602082840312156119e857600080fd5b6109af826117e4565b60008060408385031215611a0457600080fd5b611a0d836117e4565b915060208301358015158114611a2257600080fd5b809150509250929050565b60008060408385031215611a4057600080fd5b50508035926020909101359150565b600080600060608486031215611a6457600080fd5b611a6d846117e4565b9250602084013567ffffffffffffffff811115611a8957600080fd5b611a9586828701611981565b925050604084013590509250925092565b60008060408385031215611ab957600080fd5b611ac2836117e4565b9150611ad0602084016117e4565b90509250929050565b600080600080600060a08688031215611af157600080fd5b611afa866117e4565b9450611b08602087016117e4565b93506040860135925060608601359150608086013567ffffffffffffffff811115611b3257600080fd5b8601601f81018813611b4357600080fd5b611b5288823560208401611923565b9150509295509295909350565b600181811c90821680611b7357607f821691505b60208210811415611b9457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611bf857611bf8611bcf565b500190565b60208082526030908201527f455243313135354d657461646174613a2055524920717565727920666f72206e60408201526f37b732bc34b9ba32b73a103a37b5b2b760811b606082015260800190565b60008351611c5f818460208801611858565b835190830190611c73818360208801611858565b01949350505050565b6000600019821415611c9057611c90611bcf565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611cbc57611cbc611c97565b500490565b600082821015611cd357611cd3611bcf565b500390565b600082611ce757611ce7611c97565b500690565b600081611cfb57611cfb611bcf565b506000190190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611d5390830184611888565b979650505050505050565b600060208284031215611d7057600080fd5b81516109af81611825565b600060033d1115611d945760046000803e5060005160e01c5b90565b600060443d1015611da55790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611dd557505050505090565b8285019150815181811115611ded5750505050505090565b843d8701016020828501011115611e075750505050505090565b611e16602082860101876118f6565b50909594505050505056fe455243313135353a20696e73756666696369656e742062616c616e636520666f72207472616e736665724552435f686f6c646572546f6b656e73313135353a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220e3b2499166a2604695d82dcef615f4910a986ac0b8941e85c8bd2c494e5f5d6f64736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000098d5a089074be1af5c54fd0dda96f92a29246966000000000000000000000000000000000000000000000000000000000000000b42696742506f7374657273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b42696742506f7374657273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002268747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): BigBPosters
Arg [1] : symbol (string): BigBPosters
Arg [2] : tokenURIPrefix (string): https://gateway.pinata.cloud/ipfs/
Arg [3] : _operator (address): 0x98D5A089074Be1Af5c54fd0dda96f92A29246966
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [3] : 00000000000000000000000098d5a089074be1af5c54fd0dda96f92a29246966
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [5] : 42696742506f7374657273000000000000000000000000000000000000000000
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [7] : 42696742506f7374657273000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000022
Arg [9] : 68747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066
Arg [10] : 732f000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
25789:2417:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17835:325;;;;;;:::i;:::-;;:::i;:::-;;;597:25:1;;;585:2;570:18;17835:325:0;;;;;;;;11796:142;;;;;;:::i;:::-;-1:-1:-1;;;;;;11897:33:0;11873:4;11897:33;;;;;;;;;;;;;;11796:142;;;;1184:14:1;;1177:22;1159:41;;1147:2;1132:18;11796:142:0;1019:187:1;15678:100:0;;;:::i;:::-;;;;;;;:::i;14947:26::-;;;;;;27762:207;;;;;;:::i;:::-;;:::i;27977:109::-;;;;;;:::i;:::-;;:::i;:::-;;25859:23;;;;;-1:-1:-1;;;;;25859:23:0;;;;;;-1:-1:-1;;;;;3725:32:1;;;3707:51;;3695:2;3680:18;25859:23:0;3561:203:1;26630:270:0;;;;;;:::i;:::-;;:::i;16363:118::-;;;:::i;25830:20::-;;;;;-1:-1:-1;;;;;25830:20:0;;;15786:104;;;:::i;25891:25::-;;;;;;18522:311;;;;;;:::i;:::-;;:::i;28094:107::-;;;;;;:::i;:::-;;:::i;26908:267::-;;;;;;:::i;:::-;;:::i;15201:25::-;;;;;;27183:571;;;;;;:::i;:::-;;:::i;14910:28::-;;;:::i;16874:568::-;;;;;;:::i;:::-;;:::i;19122:160::-;;;;;;:::i;:::-;-1:-1:-1;;;;;19237:27:0;;;19213:4;19237:27;;;:18;:27;;;;;;;;:37;;;;;;;;;;;;;;;19122:160;20445:964;;;;;;:::i;:::-;;:::i;17835:325::-;17918:7;17946:16;17954:7;17946;:16::i;:::-;17938:81;;;;-1:-1:-1;;;17938:81:0;;6242:2:1;17938:81:0;;;6224:21:1;6281:2;6261:18;;;6254:30;6320:34;6300:18;;;6293:62;-1:-1:-1;;;6371:18:1;;;6364:50;6431:19;;17938:81:0;;;;;;;;;-1:-1:-1;;;;;18038:21:0;;18030:77;;;;-1:-1:-1;;;18030:77:0;;6663:2:1;18030:77:0;;;6645:21:1;6702:2;6682:18;;;6675:30;6741:34;6721:18;;;6714:62;-1:-1:-1;;;6792:18:1;;;6785:41;6843:19;;18030:77:0;6461:407:1;18030:77:0;-1:-1:-1;18125:18:0;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;18125:27:0;;;;;;;;;;;;17835:325::o;15678:100::-;15732:13;15765:5;15758:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:100;:::o;27762:207::-;27857:8;;27818:4;;-1:-1:-1;;;;;27857:8:0;27843:10;:22;27835:70;;;;-1:-1:-1;;;27835:70:0;;7460:2:1;27835:70:0;;;7442:21:1;7499:2;7479:18;;;7472:30;7538:34;7518:18;;;7511:62;-1:-1:-1;;;7589:18:1;;;7582:34;7633:19;;27835:70:0;7258:400:1;27835:70:0;-1:-1:-1;27916:10:0;:21;27955:4;;27762:207::o;27977:109::-;26419:5;;-1:-1:-1;;;;;26419:5:0;26428:10;26419:19;26411:64;;;;-1:-1:-1;;;26411:64:0;;;;;;;:::i;:::-;28050:28:::1;28069:8;28050:18;:28::i;:::-;27977:109:::0;:::o;26630:270::-;26419:5;;26700:4;;-1:-1:-1;;;;;26419:5:0;26428:10;26419:19;26411:64;;;;-1:-1:-1;;;26411:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26725:22:0;::::1;26717:73;;;::::0;-1:-1:-1;;;26717:73:0;;8226:2:1;26717:73:0::1;::::0;::::1;8208:21:1::0;8265:2;8245:18;;;8238:30;8304:34;8284:18;;;8277:62;-1:-1:-1;;;8355:18:1;;;8348:36;8401:19;;26717:73:0::1;8024:402:1::0;26717:73:0::1;26827:5;::::0;26806:37:::1;::::0;-1:-1:-1;;;;;26806:37:0;;::::1;::::0;26827:5:::1;::::0;26806:37:::1;::::0;26827:5:::1;::::0;26806:37:::1;-1:-1:-1::0;26854:5:0::1;:16:::0;;-1:-1:-1;;;;;;26854:16:0::1;-1:-1:-1::0;;;;;26854:16:0;::::1;;::::0;;-1:-1:-1;26486:1:0::1;26630:270:::0;;;:::o;16363:118::-;16425:7;16452:21;:12;:19;:21::i;:::-;16445:28;;16363:118;:::o;15786:104::-;15842:13;15875:7;15868:14;;;;;:::i;18522:311::-;11288:10;-1:-1:-1;;;;;18625:24:0;;;;18617:78;;;;-1:-1:-1;;;18617:78:0;;8633:2:1;18617:78:0;;;8615:21:1;8672:2;8652:18;;;8645:30;8711:34;8691:18;;;8684:62;-1:-1:-1;;;8762:18:1;;;8755:39;8811:19;;18617:78:0;8431:405:1;18617:78:0;11288:10;18708:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;18708:42:0;;;;;;;;;;;;:53;;-1:-1:-1;;18708:53:0;;;;;;;;;;18777:48;;1159:41:1;;;18708:42:0;;11288:10;18777:48;;1132:18:1;18777:48:0;;;;;;;18522:311;;:::o;28094:107::-;28159:34;28165:10;28177:7;28186:6;28159:5;:34::i;:::-;28094:107;;:::o;26908:267::-;26419:5;;26973:4;;-1:-1:-1;;;;;26419:5:0;26428:10;26419:19;26411:64;;;;-1:-1:-1;;;26411:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26998:22:0;::::1;26990:72;;;::::0;-1:-1:-1;;;26990:72:0;;9043:2:1;26990:72:0::1;::::0;::::1;9025:21:1::0;9082:2;9062:18;;;9055:30;9121:34;9101:18;;;9094:62;-1:-1:-1;;;9172:18:1;;;9165:36;9218:19;;26990:72:0::1;8841:402:1::0;26990:72:0::1;27094:8;::::0;27078:36:::1;::::0;-1:-1:-1;;;;;27078:36:0;;::::1;::::0;27094:8:::1;::::0;27078:36:::1;::::0;27094:8:::1;::::0;27078:36:::1;-1:-1:-1::0;27125:8:0::1;:20:::0;;-1:-1:-1;;;;;27125:20:0;::::1;-1:-1:-1::0;;;;;;27125:20:0;;::::1;;::::0;;;26908:267;;;:::o;27183:571::-;27306:8;;27265:7;;-1:-1:-1;;;;;27306:8:0;27292:10;:22;27284:76;;;;-1:-1:-1;;;27284:76:0;;9450:2:1;27284:76:0;;;9432:21:1;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:40;9629:19;;27284:76:0;9248:406:1;27284:76:0;27393:11;;27379:10;;:25;;27371:74;;;;-1:-1:-1;;;27371:74:0;;9861:2:1;27371:74:0;;;9843:21:1;9900:2;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;-1:-1:-1;;;9990:18:1;;;9983:35;10035:19;;27371:74:0;9659:401:1;27371:74:0;27474:3;27464:6;:13;;27456:71;;;;-1:-1:-1;;;27456:71:0;;10267:2:1;27456:71:0;;;10249:21:1;10306:2;10286:18;;;10279:30;10345:34;10325:18;;;10318:62;-1:-1:-1;;;10396:18:1;;;10389:44;10450:19;;27456:71:0;10065:410:1;27456:71:0;27552:10;;27566:2;27552:16;27548:60;;;27593:3;27584:12;;27548:60;27638:10;;27659:36;27665:7;27638:10;27683:6;27691:3;27659:5;:36::i;:::-;27720:1;27706:10;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;27739:7:0;;-1:-1:-1;;27183:571:0;;;;;;:::o;14910:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16874:568::-;16947:13;16981:16;16989:7;16981;:16::i;:::-;16973:77;;;;-1:-1:-1;;;16973:77:0;;;;;;;:::i;:::-;17071:18;17092:14;17071:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17119:23;17145:10;:19;17156:7;17145:19;;;;;;;;;;;17119:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17187:4;17181:18;17203:1;17181:23;17177:72;;;17228:9;16874:568;-1:-1:-1;;;16874:568:0:o;17177:72::-;17263:23;;:27;17259:108;;17338:4;17344:9;17321:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17307:48;;;;16874:568;;;:::o;17259:108::-;17408:4;17414:18;:7;:16;:18::i;:::-;17391:42;;;;;;;;;:::i;20445:964::-;-1:-1:-1;;;;;20676:16:0;;20668:66;;;;-1:-1:-1;;;20668:66:0;;11839:2:1;20668:66:0;;;11821:21:1;11878:2;11858:18;;;11851:30;11917:34;11897:18;;;11890:62;-1:-1:-1;;;11968:18:1;;;11961:35;12013:19;;20668:66:0;11637:401:1;20668:66:0;-1:-1:-1;;;;;20767:20:0;;11288:10;20767:20;;:60;;-1:-1:-1;20791:36:0;20808:4;11288:10;19122:160;:::i;20791:36::-;20745:151;;;;-1:-1:-1;;;20745:151:0;;12245:2:1;20745:151:0;;;12227:21:1;12284:2;12264:18;;;12257:30;12323:34;12303:18;;;12296:62;-1:-1:-1;;;12374:18:1;;;12367:39;12423:19;;20745:151:0;12043:405:1;20745:151:0;11288:10;20953:101;11288:10;20984:4;20990:2;20994:26;21012:7;20994:17;:26::i;:::-;21022:25;21040:6;21022:17;:25::i;:::-;20445:964;;;;;;20953:101;21094:82;21123:6;21094:82;;;;;;;;;;;;;;;;;:18;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;21094:24:0;;;;;;;;;;;:82;:28;:82::i;:::-;21067:18;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;21067:24:0;;;;;;;;;;:109;;;;21212:22;;;;;;:34;;21239:6;21212:26;:34::i;:::-;21187:18;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;21187:22:0;;;;;;;;;;;;;:59;;;;21264:51;;12627:25:1;;;12668:18;;;12661:34;;;21264:51:0;;;;;;;;;12600:18:1;21264:51:0;;;;;;;21328:73;21359:8;21369:4;21375:2;21379:7;21388:6;21396:4;21328:30;:73::i;:::-;20657:752;20445:964;;;;;:::o;17450:127::-;17515:4;17539:30;:12;17561:7;17539:21;:30::i;:::-;17532:37;17450:127;-1:-1:-1;;17450:127:0:o;16489:164::-;16568:32;;;;:14;;:32;;;;;:::i;:::-;;16616:29;16629:15;16616:29;;;;;;:::i;:::-;;;;;;;;16489:164;:::o;4097:123::-;4166:7;4193:19;4201:3;2250:19;;2167:110;22843:680;22944:16;22952:7;22944;:16::i;:::-;22936:78;;;;-1:-1:-1;;;22936:78:0;;12908:2:1;22936:78:0;;;12890:21:1;12947:2;12927:18;;;12920:30;12986:34;12966:18;;;12959:62;-1:-1:-1;;;13037:18:1;;;13030:47;13094:19;;22936:78:0;12706:413:1;22936:78:0;-1:-1:-1;;;;;23033:21:0;;23025:69;;;;-1:-1:-1;;;23025:69:0;;13326:2:1;23025:69:0;;;13308:21:1;13365:2;13345:18;;;13338:30;13404:34;13384:18;;;13377:62;-1:-1:-1;;;13455:18:1;;;13448:33;13498:19;;23025:69:0;13124:399:1;23025:69:0;11288:10;23151:110;11288:10;23182:7;23107:16;23203:26;23221:7;23203:17;:26::i;:::-;23231:25;23249:6;23231:17;:25::i;:::-;-1:-1:-1;;23151:110:0;;;;;;;;;-1:-1:-1;23151:110:0;;-1:-1:-1;;;20445:964:0;23151:110;23304:129;23350:6;23304:129;;;;;;;;;;;;;;;;;:18;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;23304:27:0;;;;;;;;;;;:129;:31;:129::i;:::-;23274:18;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;23274:27:0;;;;;;;;;;;;:159;;;;23453:62;;12627:25:1;;;12668:18;;;12661:34;;;23274:18:0;;23453:62;;;;;12600:18:1;23453:62:0;;;;;;;22925:598;22843:680;;;:::o;21748:725::-;21870:16;21878:7;21870;:16::i;:::-;21869:17;21861:59;;;;-1:-1:-1;;;21861:59:0;;13730:2:1;21861:59:0;;;13712:21:1;13769:2;13749:18;;;13742:30;13808:31;13788:18;;;13781:59;13857:18;;21861:59:0;13528:353:1;21861:59:0;-1:-1:-1;;;;;21939:18:0;;21931:65;;;;-1:-1:-1;;;21931:65:0;;14088:2:1;21931:65:0;;;14070:21:1;14127:2;14107:18;;;14100:30;14166:34;14146:18;;;14139:62;-1:-1:-1;;;14217:18:1;;;14210:33;14260:19;;21931:65:0;13886:399:1;21931:65:0;22015:12;22007:50;;;;-1:-1:-1;;;22007:50:0;;14492:2:1;22007:50:0;;;14474:21:1;14531:2;14511:18;;;14504:30;14570:27;14550:18;;;14543:55;14615:18;;22007:50:0;14290:349:1;22007:50:0;22097:1;22082:4;22076:18;:22;22068:52;;;;-1:-1:-1;;;22068:52:0;;14846:2:1;22068:52:0;;;14828:21:1;14885:2;14865:18;;;14858:30;-1:-1:-1;;;14904:18:1;;;14897:47;14961:18;;22068:52:0;14644:341:1;22068:52:0;-1:-1:-1;;;;;22133:24:0;;;;;;:18;:24;;;;;;;;22158:10;22133:36;;;;;;;:43;;-1:-1:-1;;22133:43:0;22172:4;22133:43;;;22187:31;:12;22204:7;22152:4;22187:16;:31::i;:::-;-1:-1:-1;22229:18:0;;;;:9;:18;;;;;;;;-1:-1:-1;;;;;22229:24:0;;;;;;;;;:34;;;22274:27;22239:7;22296:4;22274:12;:27::i;:::-;22317:38;;22350:4;1159:41:1;;22338:10:0;;-1:-1:-1;;;;;22317:38:0;;;;;1147:2:1;1132:18;22317:38:0;;;;;;;22373:58;;;12627:25:1;;;12683:2;12668:18;;12661:34;;;-1:-1:-1;;;;;22373:58:0;;;22402:3;;22373:58;;;;12600:18:1;22373:58:0;;;;;;;22457:7;22447:18;22451:4;22447:18;;;;;;:::i;:::-;;;;;;;;21748:725;;;;:::o;91:557::-;147:13;179:10;175:53;;-1:-1:-1;;206:10:0;;;;;;;;;;;;-1:-1:-1;;;206:10:0;;;;;91:557::o;175:53::-;253:5;238:12;294:78;301:9;;294:78;;327:8;;;;:::i;:::-;;-1:-1:-1;350:10:0;;-1:-1:-1;358:2:0;350:10;;:::i;:::-;;;294:78;;;382:19;414:6;404:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;404:17:0;-1:-1:-1;382:39:0;-1:-1:-1;432:13:0;448:10;457:1;448:6;:10;:::i;:::-;432:26;;476:5;469:12;;492:117;499:9;;492:117;;561:9;568:2;561:4;:9;:::i;:::-;556:14;;:2;:14;:::i;:::-;543:29;;525:6;532:7;;;;:::i;:::-;;;525:15;;;;;;;;:::i;:::-;;;;:47;-1:-1:-1;;;;;525:47:0;;;;;;;;-1:-1:-1;587:10:0;595:2;587:10;;:::i;:::-;;;492:117;;;-1:-1:-1;633:6:0;91:557;-1:-1:-1;;;;91:557:0:o;25379:198::-;25499:16;;;25513:1;25499:16;;;;;;;;;25445;;25474:22;;25499:16;;;;;;;;;;;;-1:-1:-1;25499:16:0;25474:41;;25537:7;25526:5;25532:1;25526:8;;;;;;;;:::i;:::-;;;;;;;;;;:18;25564:5;25379:198;-1:-1:-1;;25379:198:0:o;12796:192::-;12882:7;12918:12;12910:6;;;;12902:29;;;;-1:-1:-1;;;12902:29:0;;;;;;;;:::i;:::-;-1:-1:-1;12942:9:0;12954:5;12958:1;12954;:5;:::i;:::-;12942:17;12796:192;-1:-1:-1;;;;;12796:192:0:o;12344:181::-;12402:7;;12434:5;12438:1;12434;:5;:::i;:::-;12422:17;;12463:1;12458;:6;;12450:46;;;;-1:-1:-1;;;12450:46:0;;16109:2:1;12450:46:0;;;16091:21:1;16148:2;16128:18;;;16121:30;16187:29;16167:18;;;16160:57;16234:18;;12450:46:0;15907:351:1;23782:772:0;-1:-1:-1;;;;;24016:13:0;;13139:20;13178:8;24012:535;;24052:77;;-1:-1:-1;;;24052:77:0;;-1:-1:-1;;;;;24052:38:0;;;;;:77;;24091:8;;24101:4;;24107:7;;24116:6;;24124:4;;24052:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24052:77:0;;;;;;;;-1:-1:-1;;24052:77:0;;;;;;;;;;;;:::i;:::-;;;24048:488;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;24409:6;24402:14;;-1:-1:-1;;;24402:14:0;;;;;;;;:::i;24048:488::-;;;24458:62;;-1:-1:-1;;;24458:62:0;;18145:2:1;24458:62:0;;;18127:21:1;18184:2;18164:18;;;18157:30;18223:34;18203:18;;;18196:62;-1:-1:-1;;;18274:18:1;;;18267:50;18334:19;;24458:62:0;17943:416:1;24048:488:0;-1:-1:-1;;;;;;24179:59:0;;-1:-1:-1;;;24179:59:0;24175:158;;24263:50;;-1:-1:-1;;;24263:50:0;;18566:2:1;24263:50:0;;;18548:21:1;18605:2;18585:18;;;18578:30;18644:34;18624:18;;;18617:62;-1:-1:-1;;;18695:18:1;;;18688:38;18743:19;;24263:50:0;18364:404:1;24175:158:0;24130:218;23782:772;;;;;;:::o;3938:151::-;4022:4;2129:17;;;:12;;;:17;;;;;;:22;;4046:35;2034:125;3595:185;3684:4;3708:64;3713:3;3733;-1:-1:-1;;;;;3747:23:0;;3708:4;:64::i;:::-;3701:71;3595:185;-1:-1:-1;;;;3595:185:0:o;16154:199::-;16240:16;16248:7;16240;:16::i;:::-;16232:77;;;;-1:-1:-1;;;16232:77:0;;;;;;;:::i;:::-;16320:19;;;;:10;:19;;;;;;;;:25;;;;;;;;:::i;:::-;;16154:199;;:::o;873:470::-;949:4;985:17;;;:12;;;:17;;;;;;1019:13;1015:321;;-1:-1:-1;;1104:38:0;;;;;;;;;;;;;;;;;;1086:57;;;;;;;;:12;:57;;;;;;;;;;;;;;;;;;;;;;;;1178:19;;1158:17;;;:12;;;:17;;;;;;;:39;1212:11;;1015:321;1292:5;1256:3;1269:12;1280:1;1269:8;:12;:::i;:::-;1256:26;;;;;;;;:::i;:::-;;;;;;;;;;;:33;;:41;;;;1319:5;1312:12;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:254;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;633:131::-;-1:-1:-1;;;;;;707:32:1;;697:43;;687:71;;754:1;751;744:12;769:245;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;1211:258::-;1283:1;1293:113;1307:6;1304:1;1301:13;1293:113;;;1383:11;;;1377:18;1364:11;;;1357:39;1329:2;1322:10;1293:113;;;1424:6;1421:1;1418:13;1415:48;;;1459:1;1450:6;1445:3;1441:16;1434:27;1415:48;;1211:258;;;:::o;1474:::-;1516:3;1554:5;1548:12;1581:6;1576:3;1569:19;1597:63;1653:6;1646:4;1641:3;1637:14;1630:4;1623:5;1619:16;1597:63;:::i;:::-;1714:2;1693:15;-1:-1:-1;;1689:29:1;1680:39;;;;1721:4;1676:50;;1474:258;-1:-1:-1;;1474:258:1:o;1737:220::-;1886:2;1875:9;1868:21;1849:4;1906:45;1947:2;1936:9;1932:18;1924:6;1906:45;:::i;1962:180::-;2021:6;2074:2;2062:9;2053:7;2049:23;2045:32;2042:52;;;2090:1;2087;2080:12;2042:52;-1:-1:-1;2113:23:1;;1962:180;-1:-1:-1;1962:180:1:o;2147:127::-;2208:10;2203:3;2199:20;2196:1;2189:31;2239:4;2236:1;2229:15;2263:4;2260:1;2253:15;2279:249;2389:2;2370:13;;-1:-1:-1;;2366:27:1;2354:40;;2424:18;2409:34;;2445:22;;;2406:62;2403:88;;;2471:18;;:::i;:::-;2507:2;2500:22;-1:-1:-1;;2279:249:1:o;2533:469::-;2598:5;2632:18;2624:6;2621:30;2618:56;;;2654:18;;:::i;:::-;2703:2;2697:9;2715:69;2772:2;2751:15;;-1:-1:-1;;2747:29:1;2778:4;2743:40;2697:9;2715:69;:::i;:::-;2802:6;2793:15;;2832:6;2824;2817:22;2872:3;2863:6;2858:3;2854:16;2851:25;2848:45;;;2889:1;2886;2879:12;2848:45;2939:6;2934:3;2927:4;2919:6;2915:17;2902:44;2994:1;2987:4;2978:6;2970;2966:19;2962:30;2955:41;;2533:469;;;;;:::o;3007:222::-;3050:5;3103:3;3096:4;3088:6;3084:17;3080:27;3070:55;;3121:1;3118;3111:12;3070:55;3143:80;3219:3;3210:6;3197:20;3190:4;3182:6;3178:17;3143:80;:::i;3234:322::-;3303:6;3356:2;3344:9;3335:7;3331:23;3327:32;3324:52;;;3372:1;3369;3362:12;3324:52;3412:9;3399:23;3445:18;3437:6;3434:30;3431:50;;;3477:1;3474;3467:12;3431:50;3500;3542:7;3533:6;3522:9;3518:22;3500:50;:::i;3769:186::-;3828:6;3881:2;3869:9;3860:7;3856:23;3852:32;3849:52;;;3897:1;3894;3887:12;3849:52;3920:29;3939:9;3920:29;:::i;3960:347::-;4025:6;4033;4086:2;4074:9;4065:7;4061:23;4057:32;4054:52;;;4102:1;4099;4092:12;4054:52;4125:29;4144:9;4125:29;:::i;:::-;4115:39;;4204:2;4193:9;4189:18;4176:32;4251:5;4244:13;4237:21;4230:5;4227:32;4217:60;;4273:1;4270;4263:12;4217:60;4296:5;4286:15;;;3960:347;;;;;:::o;4312:248::-;4380:6;4388;4441:2;4429:9;4420:7;4416:23;4412:32;4409:52;;;4457:1;4454;4447:12;4409:52;-1:-1:-1;;4480:23:1;;;4550:2;4535:18;;;4522:32;;-1:-1:-1;4312:248:1:o;4565:464::-;4652:6;4660;4668;4721:2;4709:9;4700:7;4696:23;4692:32;4689:52;;;4737:1;4734;4727:12;4689:52;4760:29;4779:9;4760:29;:::i;:::-;4750:39;;4840:2;4829:9;4825:18;4812:32;4867:18;4859:6;4856:30;4853:50;;;4899:1;4896;4889:12;4853:50;4922;4964:7;4955:6;4944:9;4940:22;4922:50;:::i;:::-;4912:60;;;5019:2;5008:9;5004:18;4991:32;4981:42;;4565:464;;;;;:::o;5034:260::-;5102:6;5110;5163:2;5151:9;5142:7;5138:23;5134:32;5131:52;;;5179:1;5176;5169:12;5131:52;5202:29;5221:9;5202:29;:::i;:::-;5192:39;;5250:38;5284:2;5273:9;5269:18;5250:38;:::i;:::-;5240:48;;5034:260;;;;;:::o;5299:736::-;5403:6;5411;5419;5427;5435;5488:3;5476:9;5467:7;5463:23;5459:33;5456:53;;;5505:1;5502;5495:12;5456:53;5528:29;5547:9;5528:29;:::i;:::-;5518:39;;5576:38;5610:2;5599:9;5595:18;5576:38;:::i;:::-;5566:48;;5661:2;5650:9;5646:18;5633:32;5623:42;;5712:2;5701:9;5697:18;5684:32;5674:42;;5767:3;5756:9;5752:19;5739:33;5795:18;5787:6;5784:30;5781:50;;;5827:1;5824;5817:12;5781:50;5850:22;;5903:4;5895:13;;5891:27;-1:-1:-1;5881:55:1;;5932:1;5929;5922:12;5881:55;5955:74;6021:7;6016:2;6003:16;5998:2;5994;5990:11;5955:74;:::i;:::-;5945:84;;;5299:736;;;;;;;;:::o;6873:380::-;6952:1;6948:12;;;;6995;;;7016:61;;7070:4;7062:6;7058:17;7048:27;;7016:61;7123:2;7115:6;7112:14;7092:18;7089:38;7086:161;;;7169:10;7164:3;7160:20;7157:1;7150:31;7204:4;7201:1;7194:15;7232:4;7229:1;7222:15;7086:161;;6873:380;;;:::o;7663:356::-;7865:2;7847:21;;;7884:18;;;7877:30;7943:34;7938:2;7923:18;;7916:62;8010:2;7995:18;;7663:356::o;10480:127::-;10541:10;10536:3;10532:20;10529:1;10522:31;10572:4;10569:1;10562:15;10596:4;10593:1;10586:15;10612:128;10652:3;10683:1;10679:6;10676:1;10673:13;10670:39;;;10689:18;;:::i;:::-;-1:-1:-1;10725:9:1;;10612:128::o;10745:412::-;10947:2;10929:21;;;10986:2;10966:18;;;10959:30;11025:34;11020:2;11005:18;;10998:62;-1:-1:-1;;;11091:2:1;11076:18;;11069:46;11147:3;11132:19;;10745:412::o;11162:470::-;11341:3;11379:6;11373:13;11395:53;11441:6;11436:3;11429:4;11421:6;11417:17;11395:53;:::i;:::-;11511:13;;11470:16;;;;11533:57;11511:13;11470:16;11567:4;11555:17;;11533:57;:::i;:::-;11606:20;;11162:470;-1:-1:-1;;;;11162:470:1:o;14990:135::-;15029:3;-1:-1:-1;;15050:17:1;;15047:43;;;15070:18;;:::i;:::-;-1:-1:-1;15117:1:1;15106:13;;14990:135::o;15130:127::-;15191:10;15186:3;15182:20;15179:1;15172:31;15222:4;15219:1;15212:15;15246:4;15243:1;15236:15;15262:120;15302:1;15328;15318:35;;15333:18;;:::i;:::-;-1:-1:-1;15367:9:1;;15262:120::o;15387:125::-;15427:4;15455:1;15452;15449:8;15446:34;;;15460:18;;:::i;:::-;-1:-1:-1;15497:9:1;;15387:125::o;15517:112::-;15549:1;15575;15565:35;;15580:18;;:::i;:::-;-1:-1:-1;15614:9:1;;15517:112::o;15634:136::-;15673:3;15701:5;15691:39;;15710:18;;:::i;:::-;-1:-1:-1;;;15746:18:1;;15634:136::o;15775:127::-;15836:10;15831:3;15827:20;15824:1;15817:31;15867:4;15864:1;15857:15;15891:4;15888:1;15881:15;16263:561;-1:-1:-1;;;;;16560:15:1;;;16542:34;;16612:15;;16607:2;16592:18;;16585:43;16659:2;16644:18;;16637:34;;;16702:2;16687:18;;16680:34;;;16522:3;16745;16730:19;;16723:32;;;16485:4;;16772:46;;16798:19;;16790:6;16772:46;:::i;:::-;16764:54;16263:561;-1:-1:-1;;;;;;;16263:561:1:o;16829:249::-;16898:6;16951:2;16939:9;16930:7;16926:23;16922:32;16919:52;;;16967:1;16964;16957:12;16919:52;16999:9;16993:16;17018:30;17042:5;17018:30;:::i;17083:179::-;17118:3;17160:1;17142:16;17139:23;17136:120;;;17206:1;17203;17200;17185:23;-1:-1:-1;17243:1:1;17237:8;17232:3;17228:18;17136:120;17083:179;:::o;17267:671::-;17306:3;17348:4;17330:16;17327:26;17324:39;;;17267:671;:::o;17324:39::-;17390:2;17384:9;-1:-1:-1;;17455:16:1;17451:25;;17448:1;17384:9;17427:50;17506:4;17500:11;17530:16;17565:18;17636:2;17629:4;17621:6;17617:17;17614:25;17609:2;17601:6;17598:14;17595:45;17592:58;;;17643:5;;;;;17267:671;:::o;17592:58::-;17680:6;17674:4;17670:17;17659:28;;17716:3;17710:10;17743:2;17735:6;17732:14;17729:27;;;17749:5;;;;;;17267:671;:::o;17729:27::-;17833:2;17814:16;17808:4;17804:27;17800:36;17793:4;17784:6;17779:3;17775:16;17771:27;17768:69;17765:82;;;17840:5;;;;;;17267:671;:::o;17765:82::-;17856:57;17907:4;17898:6;17890;17886:19;17882:30;17876:4;17856:57;:::i;:::-;-1:-1:-1;17929:3:1;;17267:671;-1:-1:-1;;;;;17267:671:1:o
Swarm Source
ipfs://e3b2499166a2604695d82dcef615f4910a986ac0b8941e85c8bd2c494e5f5d6f
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.