{
    "contractName": "IERC165",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "bytes4",
                    "name": "interfaceId",
                    "type": "bytes4"
                }
            ],
            "name": "supportsInterface",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"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}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
    "bytecode": "0x",
    "deployedBytecode": "0x",
    "immutableReferences": {},
    "sourceMap": "",
    "deployedSourceMap": "",
    "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n    /**\n     * @dev Returns true if this contract implements the interface defined by\n     * `interfaceId`. See the corresponding\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n     * to learn more about how these ids are created.\n     *\n     * This function call must use less than 30 000 gas.\n     */\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n",
    "sourcePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
    "ast": {
        "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
        "exportedSymbols": {
            "IERC165": [
                12352
            ]
        },
        "id": 12353,
        "license": "MIT",
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 12342,
                "literals": [
                    "solidity",
                    "^",
                    "0.8",
                    ".0"
                ],
                "nodeType": "PragmaDirective",
                "src": "100:23:60"
            },
            {
                "abstract": false,
                "baseContracts": [],
                "contractDependencies": [],
                "contractKind": "interface",
                "documentation": {
                    "id": 12343,
                    "nodeType": "StructuredDocumentation",
                    "src": "125:279:60",
                    "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
                },
                "fullyImplemented": false,
                "id": 12352,
                "linearizedBaseContracts": [
                    12352
                ],
                "name": "IERC165",
                "nameLocation": "415:7:60",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "documentation": {
                            "id": 12344,
                            "nodeType": "StructuredDocumentation",
                            "src": "429:340:60",
                            "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."
                        },
                        "functionSelector": "01ffc9a7",
                        "id": 12351,
                        "implemented": false,
                        "kind": "function",
                        "modifiers": [],
                        "name": "supportsInterface",
                        "nameLocation": "783:17:60",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12347,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12346,
                                    "mutability": "mutable",
                                    "name": "interfaceId",
                                    "nameLocation": "808:11:60",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12351,
                                    "src": "801:18:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                    },
                                    "typeName": {
                                        "id": 12345,
                                        "name": "bytes4",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "801:6:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "800:20:60"
                        },
                        "returnParameters": {
                            "id": 12350,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12349,
                                    "mutability": "mutable",
                                    "name": "",
                                    "nameLocation": "-1:-1:-1",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12351,
                                    "src": "844:4:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 12348,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "844:4:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "843:6:60"
                        },
                        "scope": 12352,
                        "src": "774:76:60",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "external"
                    }
                ],
                "scope": 12353,
                "src": "405:447:60",
                "usedErrors": []
            }
        ],
        "src": "100:753:60"
    },
    "legacyAST": {
        "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
        "exportedSymbols": {
            "IERC165": [
                12352
            ]
        },
        "id": 12353,
        "license": "MIT",
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 12342,
                "literals": [
                    "solidity",
                    "^",
                    "0.8",
                    ".0"
                ],
                "nodeType": "PragmaDirective",
                "src": "100:23:60"
            },
            {
                "abstract": false,
                "baseContracts": [],
                "contractDependencies": [],
                "contractKind": "interface",
                "documentation": {
                    "id": 12343,
                    "nodeType": "StructuredDocumentation",
                    "src": "125:279:60",
                    "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
                },
                "fullyImplemented": false,
                "id": 12352,
                "linearizedBaseContracts": [
                    12352
                ],
                "name": "IERC165",
                "nameLocation": "415:7:60",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "documentation": {
                            "id": 12344,
                            "nodeType": "StructuredDocumentation",
                            "src": "429:340:60",
                            "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."
                        },
                        "functionSelector": "01ffc9a7",
                        "id": 12351,
                        "implemented": false,
                        "kind": "function",
                        "modifiers": [],
                        "name": "supportsInterface",
                        "nameLocation": "783:17:60",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12347,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12346,
                                    "mutability": "mutable",
                                    "name": "interfaceId",
                                    "nameLocation": "808:11:60",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12351,
                                    "src": "801:18:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                    },
                                    "typeName": {
                                        "id": 12345,
                                        "name": "bytes4",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "801:6:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "800:20:60"
                        },
                        "returnParameters": {
                            "id": 12350,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12349,
                                    "mutability": "mutable",
                                    "name": "",
                                    "nameLocation": "-1:-1:-1",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12351,
                                    "src": "844:4:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 12348,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "844:4:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "843:6:60"
                        },
                        "scope": 12352,
                        "src": "774:76:60",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "external"
                    }
                ],
                "scope": 12353,
                "src": "405:447:60",
                "usedErrors": []
            }
        ],
        "src": "100:753:60"
    },
    "compiler": {
        "name": "solc",
        "version": "0.8.7+commit.e28d00a7.Emscripten.clang"
    },
    "networks": {},
    "schemaVersion": "3.1.0",
    "updatedAt": "2023-03-16T16:54:15.286Z",
    "devdoc": {
        "details": "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}.",
        "kind": "dev",
        "methods": {
            "supportsInterface(bytes4)": {
                "details": "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."
            }
        },
        "version": 1
    },
    "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
    }
}
