{"abi":[{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, consider using {ReentrancyGuardTransient} instead. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":\"ReentrancyGuardUpgradeable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":"ReentrancyGuardUpgradeable"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":11787,"exportedSymbols":{"Initializable":[10652],"ReentrancyGuardUpgradeable":[11786]},"nodeType":"SourceUnit","src":"109:4397:30","nodes":[{"id":11659,"nodeType":"PragmaDirective","src":"109:24:30","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":11661,"nodeType":"ImportDirective","src":"134:63:30","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":11787,"sourceUnit":10653,"symbolAliases":[{"foreign":{"id":11660,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10652,"src":"142:13:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11786,"nodeType":"ContractDefinition","src":"1094:3411:30","nodes":[{"id":11667,"nodeType":"VariableDeclaration","src":"1910:40:30","nodes":[],"constant":true,"mutability":"constant","name":"NOT_ENTERED","nameLocation":"1935:11:30","scope":11786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11665,"name":"uint256","nodeType":"ElementaryTypeName","src":"1910:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":11666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1949:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"id":11670,"nodeType":"VariableDeclaration","src":"1956:36:30","nodes":[],"constant":true,"mutability":"constant","name":"ENTERED","nameLocation":"1981:7:30","scope":11786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11668,"name":"uint256","nodeType":"ElementaryTypeName","src":"1956:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":11669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1991:1:30","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"id":11674,"nodeType":"StructDefinition","src":"2077:62:30","nodes":[],"canonicalName":"ReentrancyGuardUpgradeable.ReentrancyGuardStorage","documentation":{"id":11671,"nodeType":"StructuredDocumentation","src":"1999:73:30","text":"@custom:storage-location erc7201:openzeppelin.storage.ReentrancyGuard"},"members":[{"constant":false,"id":11673,"mutability":"mutable","name":"_status","nameLocation":"2125:7:30","nodeType":"VariableDeclaration","scope":11674,"src":"2117:15:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11672,"name":"uint256","nodeType":"ElementaryTypeName","src":"2117:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReentrancyGuardStorage","nameLocation":"2084:22:30","scope":11786,"visibility":"public"},{"id":11677,"nodeType":"VariableDeclaration","src":"2264:124:30","nodes":[],"constant":true,"mutability":"constant","name":"ReentrancyGuardStorageLocation","nameLocation":"2289:30:30","scope":11786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2264:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307839623737396231373432326430646639323232333031386233326234643166613436653037313732336436383137653234383664303033626563633535663030","id":11676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2322:66:30","typeDescriptions":{"typeIdentifier":"t_rational_70319816728846589445362000750570655803700195216363692647688146666176345628416_by_1","typeString":"int_const 7031...(69 digits omitted)...8416"},"value":"0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00"},"visibility":"private"},{"id":11685,"nodeType":"FunctionDefinition","src":"2395:183:30","nodes":[],"body":{"id":11684,"nodeType":"Block","src":"2489:89:30","nodes":[],"statements":[{"AST":{"nativeSrc":"2508:64:30","nodeType":"YulBlock","src":"2508:64:30","statements":[{"nativeSrc":"2522:40:30","nodeType":"YulAssignment","src":"2522:40:30","value":{"name":"ReentrancyGuardStorageLocation","nativeSrc":"2532:30:30","nodeType":"YulIdentifier","src":"2532:30:30"},"variableNames":[{"name":"$.slot","nativeSrc":"2522:6:30","nodeType":"YulIdentifier","src":"2522:6:30"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":11681,"isOffset":false,"isSlot":true,"src":"2522:6:30","suffix":"slot","valueSize":1},{"declaration":11677,"isOffset":false,"isSlot":false,"src":"2532:30:30","valueSize":1}],"id":11683,"nodeType":"InlineAssembly","src":"2499:73:30"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getReentrancyGuardStorage","nameLocation":"2404:26:30","parameters":{"id":11678,"nodeType":"ParameterList","parameters":[],"src":"2430:2:30"},"returnParameters":{"id":11682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11681,"mutability":"mutable","name":"$","nameLocation":"2486:1:30","nodeType":"VariableDeclaration","scope":11685,"src":"2455:32:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":11680,"nodeType":"UserDefinedTypeName","pathNode":{"id":11679,"name":"ReentrancyGuardStorage","nameLocations":["2455:22:30"],"nodeType":"IdentifierPath","referencedDeclaration":11674,"src":"2455:22:30"},"referencedDeclaration":11674,"src":"2455:22:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"src":"2454:34:30"},"scope":11786,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":11688,"nodeType":"ErrorDefinition","src":"2641:37:30","nodes":[],"documentation":{"id":11686,"nodeType":"StructuredDocumentation","src":"2584:52:30","text":" @dev Unauthorized reentrant call."},"errorSelector":"3ee5aeb5","name":"ReentrancyGuardReentrantCall","nameLocation":"2647:28:30","parameters":{"id":11687,"nodeType":"ParameterList","parameters":[],"src":"2675:2:30"}},{"id":11697,"nodeType":"FunctionDefinition","src":"2684:111:30","nodes":[],"body":{"id":11696,"nodeType":"Block","src":"2744:51:30","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11693,"name":"__ReentrancyGuard_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11715,"src":"2754:32:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":11694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:34:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11695,"nodeType":"ExpressionStatement","src":"2754:34:30"}]},"implemented":true,"kind":"function","modifiers":[{"id":11691,"kind":"modifierInvocation","modifierName":{"id":11690,"name":"onlyInitializing","nameLocations":["2727:16:30"],"nodeType":"IdentifierPath","referencedDeclaration":10547,"src":"2727:16:30"},"nodeType":"ModifierInvocation","src":"2727:16:30"}],"name":"__ReentrancyGuard_init","nameLocation":"2693:22:30","parameters":{"id":11689,"nodeType":"ParameterList","parameters":[],"src":"2715:2:30"},"returnParameters":{"id":11692,"nodeType":"ParameterList","parameters":[],"src":"2744:0:30"},"scope":11786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11715,"nodeType":"FunctionDefinition","src":"2801:183:30","nodes":[],"body":{"id":11714,"nodeType":"Block","src":"2871:113:30","nodes":[],"statements":[{"assignments":[11704],"declarations":[{"constant":false,"id":11704,"mutability":"mutable","name":"$","nameLocation":"2912:1:30","nodeType":"VariableDeclaration","scope":11714,"src":"2881:32:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":11703,"nodeType":"UserDefinedTypeName","pathNode":{"id":11702,"name":"ReentrancyGuardStorage","nameLocations":["2881:22:30"],"nodeType":"IdentifierPath","referencedDeclaration":11674,"src":"2881:22:30"},"referencedDeclaration":11674,"src":"2881:22:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":11707,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11705,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11685,"src":"2916:26:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$11674_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":11706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2916:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2881:63:30"},{"expression":{"id":11712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11708,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11704,"src":"2954:1:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":11710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2956:7:30","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":11673,"src":"2954:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11711,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11667,"src":"2966:11:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2954:23:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11713,"nodeType":"ExpressionStatement","src":"2954:23:30"}]},"implemented":true,"kind":"function","modifiers":[{"id":11700,"kind":"modifierInvocation","modifierName":{"id":11699,"name":"onlyInitializing","nameLocations":["2854:16:30"],"nodeType":"IdentifierPath","referencedDeclaration":10547,"src":"2854:16:30"},"nodeType":"ModifierInvocation","src":"2854:16:30"}],"name":"__ReentrancyGuard_init_unchained","nameLocation":"2810:32:30","parameters":{"id":11698,"nodeType":"ParameterList","parameters":[],"src":"2842:2:30"},"returnParameters":{"id":11701,"nodeType":"ParameterList","parameters":[],"src":"2871:0:30"},"scope":11786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11726,"nodeType":"ModifierDefinition","src":"3361:103:30","nodes":[],"body":{"id":11725,"nodeType":"Block","src":"3385:79:30","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11718,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11751,"src":"3395:19:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":11719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3395:21:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11720,"nodeType":"ExpressionStatement","src":"3395:21:30"},{"id":11721,"nodeType":"PlaceholderStatement","src":"3426:1:30"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11722,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11767,"src":"3437:18:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":11723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3437:20:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11724,"nodeType":"ExpressionStatement","src":"3437:20:30"}]},"documentation":{"id":11716,"nodeType":"StructuredDocumentation","src":"2990:366:30","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"name":"nonReentrant","nameLocation":"3370:12:30","parameters":{"id":11717,"nodeType":"ParameterList","parameters":[],"src":"3382:2:30"},"virtual":false,"visibility":"internal"},{"id":11751,"nodeType":"FunctionDefinition","src":"3470:384:30","nodes":[],"body":{"id":11750,"nodeType":"Block","src":"3509:345:30","nodes":[],"statements":[{"assignments":[11731],"declarations":[{"constant":false,"id":11731,"mutability":"mutable","name":"$","nameLocation":"3550:1:30","nodeType":"VariableDeclaration","scope":11750,"src":"3519:32:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":11730,"nodeType":"UserDefinedTypeName","pathNode":{"id":11729,"name":"ReentrancyGuardStorage","nameLocations":["3519:22:30"],"nodeType":"IdentifierPath","referencedDeclaration":11674,"src":"3519:22:30"},"referencedDeclaration":11674,"src":"3519:22:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":11734,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11732,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11685,"src":"3554:26:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$11674_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":11733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3519:63:30"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11735,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11731,"src":"3670:1:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":11736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3672:7:30","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":11673,"src":"3670:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":11737,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11670,"src":"3683:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3670:20:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11743,"nodeType":"IfStatement","src":"3666:88:30","trueBody":{"id":11742,"nodeType":"Block","src":"3692:62:30","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":11739,"name":"ReentrancyGuardReentrantCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11688,"src":"3713:28:30","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":11740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3713:30:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":11741,"nodeType":"RevertStatement","src":"3706:37:30"}]}},{"expression":{"id":11748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11744,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11731,"src":"3828:1:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":11746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3830:7:30","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":11673,"src":"3828:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11747,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11670,"src":"3840:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3828:19:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11749,"nodeType":"ExpressionStatement","src":"3828:19:30"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"3479:19:30","parameters":{"id":11727,"nodeType":"ParameterList","parameters":[],"src":"3498:2:30"},"returnParameters":{"id":11728,"nodeType":"ParameterList","parameters":[],"src":"3509:0:30"},"scope":11786,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":11767,"nodeType":"FunctionDefinition","src":"3860:283:30","nodes":[],"body":{"id":11766,"nodeType":"Block","src":"3898:245:30","nodes":[],"statements":[{"assignments":[11756],"declarations":[{"constant":false,"id":11756,"mutability":"mutable","name":"$","nameLocation":"3939:1:30","nodeType":"VariableDeclaration","scope":11766,"src":"3908:32:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":11755,"nodeType":"UserDefinedTypeName","pathNode":{"id":11754,"name":"ReentrancyGuardStorage","nameLocations":["3908:22:30"],"nodeType":"IdentifierPath","referencedDeclaration":11674,"src":"3908:22:30"},"referencedDeclaration":11674,"src":"3908:22:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":11759,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11757,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11685,"src":"3943:26:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$11674_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":11758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3943:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3908:63:30"},{"expression":{"id":11764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11760,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11756,"src":"4113:1:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":11762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4115:7:30","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":11673,"src":"4113:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11763,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11667,"src":"4125:11:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4113:23:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11765,"nodeType":"ExpressionStatement","src":"4113:23:30"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"3869:18:30","parameters":{"id":11752,"nodeType":"ParameterList","parameters":[],"src":"3887:2:30"},"returnParameters":{"id":11753,"nodeType":"ParameterList","parameters":[],"src":"3898:0:30"},"scope":11786,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":11785,"nodeType":"FunctionDefinition","src":"4322:181:30","nodes":[],"body":{"id":11784,"nodeType":"Block","src":"4386:117:30","nodes":[],"statements":[{"assignments":[11775],"declarations":[{"constant":false,"id":11775,"mutability":"mutable","name":"$","nameLocation":"4427:1:30","nodeType":"VariableDeclaration","scope":11784,"src":"4396:32:30","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":11774,"nodeType":"UserDefinedTypeName","pathNode":{"id":11773,"name":"ReentrancyGuardStorage","nameLocations":["4396:22:30"],"nodeType":"IdentifierPath","referencedDeclaration":11674,"src":"4396:22:30"},"referencedDeclaration":11674,"src":"4396:22:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":11778,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11776,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11685,"src":"4431:26:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$11674_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":11777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4431:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4396:63:30"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11779,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11775,"src":"4476:1:30","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$11674_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":11780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4478:7:30","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":11673,"src":"4476:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":11781,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11670,"src":"4489:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4476:20:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11772,"id":11783,"nodeType":"Return","src":"4469:27:30"}]},"documentation":{"id":11768,"nodeType":"StructuredDocumentation","src":"4149:168:30","text":" @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack."},"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardEntered","nameLocation":"4331:23:30","parameters":{"id":11769,"nodeType":"ParameterList","parameters":[],"src":"4354:2:30"},"returnParameters":{"id":11772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11785,"src":"4380:4:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11770,"name":"bool","nodeType":"ElementaryTypeName","src":"4380:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4379:6:30"},"scope":11786,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":11663,"name":"Initializable","nameLocations":["1142:13:30"],"nodeType":"IdentifierPath","referencedDeclaration":10652,"src":"1142:13:30"},"id":11664,"nodeType":"InheritanceSpecifier","src":"1142:13:30"}],"canonicalName":"ReentrancyGuardUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":11662,"nodeType":"StructuredDocumentation","src":"199:894:30","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n consider using {ReentrancyGuardTransient} instead.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]."},"fullyImplemented":true,"linearizedBaseContracts":[11786,10652],"name":"ReentrancyGuardUpgradeable","nameLocation":"1112:26:30","scope":11787,"usedErrors":[10401,10404,11688],"usedEvents":[10409]}],"license":"MIT"},"id":30}