{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220353dcbfe76a985363e0880fb876e7c88dd89aad46ff895f15ee934194e549da564736f6c63430008180033","sourceMap":"795:1394:118:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;795:1394:118;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220353dcbfe76a985363e0880fb876e7c88dd89aad46ff895f15ee934194e549da564736f6c63430008180033","sourceMap":"795:1394:118:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"WorldResourceIdLib\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for handling World Resource ID encoding and decoding.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":\"WorldResourceIdLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@latticexyz/world/src/WorldResourceId.sol":"WorldResourceIdLib"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","id":48859,"exportedSymbols":{"Bytes":[7243],"MASK_RESOURCE_NAMESPACE":[59175],"NAMESPACE_BITS":[48599],"NAMESPACE_BYTES":[48594],"NAMESPACE_MASK":[48617],"NAME_BITS":[48604],"RESOURCE_NAMESPACE":[59166],"ROOT_NAME":[59033],"ROOT_NAMESPACE":[59030],"ResourceId":[9486],"ResourceIdInstance":[9567],"TYPE_BITS":[9496],"WorldResourceIdInstance":[48858],"WorldResourceIdLib":[48731]},"nodeType":"SourceUnit","src":"32:4049:118","nodes":[{"id":48579,"nodeType":"PragmaDirective","src":"32:25:118","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":48581,"nodeType":"ImportDirective","src":"59:56:118","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Bytes.sol","file":"@latticexyz/store/src/Bytes.sol","nameLocation":"-1:-1:-1","scope":48859,"sourceUnit":7244,"symbolAliases":[{"foreign":{"id":48580,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"68:5:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48585,"nodeType":"ImportDirective","src":"116:97:118","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":48859,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":48582,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"125:10:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":48583,"name":"ResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9567,"src":"137:18:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":48584,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"157:9:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48588,"nodeType":"ImportDirective","src":"215:60:118","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"./constants.sol","nameLocation":"-1:-1:-1","scope":48859,"sourceUnit":59103,"symbolAliases":[{"foreign":{"id":48586,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59030,"src":"224:14:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":48587,"name":"ROOT_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59033,"src":"240:9:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48591,"nodeType":"ImportDirective","src":"276:87:118","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/worldResourceTypes.sol","file":"./worldResourceTypes.sol","nameLocation":"-1:-1:-1","scope":48859,"sourceUnit":59176,"symbolAliases":[{"foreign":{"id":48589,"name":"RESOURCE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59166,"src":"285:18:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":48590,"name":"MASK_RESOURCE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59175,"src":"305:23:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48594,"nodeType":"VariableDeclaration","src":"365:37:118","nodes":[],"constant":true,"mutability":"constant","name":"NAMESPACE_BYTES","nameLocation":"382:15:118","scope":48859,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48592,"name":"uint256","nodeType":"ElementaryTypeName","src":"365:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3134","id":48593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"400:2:118","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"visibility":"internal"},{"id":48599,"nodeType":"VariableDeclaration","src":"404:40:118","nodes":[],"constant":true,"mutability":"constant","name":"NAMESPACE_BITS","nameLocation":"421:14:118","scope":48859,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48595,"name":"uint256","nodeType":"ElementaryTypeName","src":"404:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"id":48598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3134","id":48596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"438:2:118","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":48597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"443:1:118","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"438:6:118","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"}},"visibility":"internal"},{"id":48604,"nodeType":"VariableDeclaration","src":"476:35:118","nodes":[],"constant":true,"mutability":"constant","name":"NAME_BITS","nameLocation":"493:9:118","scope":48859,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48600,"name":"uint256","nodeType":"ElementaryTypeName","src":"476:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"id":48603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3136","id":48601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"505:2:118","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":48602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"510:1:118","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"505:6:118","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}},"visibility":"internal"},{"id":48617,"nodeType":"VariableDeclaration","src":"544:70:118","nodes":[],"constant":true,"mutability":"constant","name":"NAMESPACE_MASK","nameLocation":"561:14:118","scope":48859,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"544:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"586:12:118","subExpression":{"arguments":[{"hexValue":"","id":48610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"595:2:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":48609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"587:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes14_$","typeString":"type(bytes14)"},"typeName":{"id":48608,"name":"bytes14","nodeType":"ElementaryTypeName","src":"587:7:118","typeDescriptions":{}}},"id":48611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"587:11:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":48607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"578:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"578:7:118","typeDescriptions":{}}},"id":48613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"578:21:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"id":48614,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"604:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48615,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"603:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"578:36:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":48731,"nodeType":"ContractDefinition","src":"795:1394:118","nodes":[{"id":48659,"nodeType":"FunctionDefinition","src":"1046:257:118","nodes":[],"body":{"id":48658,"nodeType":"Block","src":"1145:158:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48635,"name":"typeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48621,"src":"1197:6:118","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"id":48634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1189:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1189:7:118","typeDescriptions":{}}},"id":48636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1189:15:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48639,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48623,"src":"1216:9:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":48638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1208:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1208:7:118","typeDescriptions":{}}},"id":48640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1208:18:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48641,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"1230:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1208:31:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":48643,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1207:33:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1189:51:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48647,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48625,"src":"1252:4:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"id":48646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1244:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1244:7:118","typeDescriptions":{}}},"id":48648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1244:13:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":48649,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"1262:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":48650,"name":"NAMESPACE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48599,"src":"1274:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1262:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48652,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1261:28:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1244:45:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":48654,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1243:47:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1189:101:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":48631,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"1164:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1175:4:118","memberName":"wrap","nodeType":"MemberAccess","src":"1164:15:118","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes32) pure returns (ResourceId)"}},"id":48656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:134:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"functionReturnParameters":48630,"id":48657,"nodeType":"Return","src":"1151:147:118"}]},"documentation":{"id":48619,"nodeType":"StructuredDocumentation","src":"826:217:118","text":" @notice Encode a resource ID.\n @param typeId The resource type ID.\n @param namespace The namespace of the resource.\n @param name The name of the resource.\n @return A 32-byte resource ID."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"1055:6:118","parameters":{"id":48626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48621,"mutability":"mutable","name":"typeId","nameLocation":"1069:6:118","nodeType":"VariableDeclaration","scope":48659,"src":"1062:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":48620,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1062:6:118","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"},{"constant":false,"id":48623,"mutability":"mutable","name":"namespace","nameLocation":"1085:9:118","nodeType":"VariableDeclaration","scope":48659,"src":"1077:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":48622,"name":"bytes14","nodeType":"ElementaryTypeName","src":"1077:7:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"},{"constant":false,"id":48625,"mutability":"mutable","name":"name","nameLocation":"1104:4:118","nodeType":"VariableDeclaration","scope":48659,"src":"1096:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":48624,"name":"bytes16","nodeType":"ElementaryTypeName","src":"1096:7:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"1061:48:118"},"returnParameters":{"id":48630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48659,"src":"1133:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48628,"nodeType":"UserDefinedTypeName","pathNode":{"id":48627,"name":"ResourceId","nameLocations":["1133:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1133:10:118"},"referencedDeclaration":9486,"src":"1133:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"1132:12:118"},"scope":48731,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48686,"nodeType":"FunctionDefinition","src":"1481:179:118","nodes":[],"body":{"id":48685,"nodeType":"Block","src":"1560:100:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48672,"name":"RESOURCE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59166,"src":"1597:18:118","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"id":48671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1589:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1589:7:118","typeDescriptions":{}}},"id":48673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1589:27:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48676,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48662,"src":"1628:9:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":48675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1620:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":48674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1620:7:118","typeDescriptions":{}}},"id":48677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1620:18:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"id":48678,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"1643:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48679,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1642:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1620:33:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":48681,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1619:35:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1589:65:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":48668,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"1573:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1584:4:118","memberName":"wrap","nodeType":"MemberAccess","src":"1573:15:118","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes32) pure returns (ResourceId)"}},"id":48683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1573:82:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"functionReturnParameters":48667,"id":48684,"nodeType":"Return","src":"1566:89:118"}]},"documentation":{"id":48660,"nodeType":"StructuredDocumentation","src":"1307:171:118","text":" @notice Encode a namespace to resource ID.\n @param namespace The namespace to be encoded.\n @return A 32-byte resource ID with the namespace encoded."},"implemented":true,"kind":"function","modifiers":[],"name":"encodeNamespace","nameLocation":"1490:15:118","parameters":{"id":48663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48662,"mutability":"mutable","name":"namespace","nameLocation":"1514:9:118","nodeType":"VariableDeclaration","scope":48686,"src":"1506:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":48661,"name":"bytes14","nodeType":"ElementaryTypeName","src":"1506:7:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"1505:19:118"},"returnParameters":{"id":48667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48686,"src":"1548:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48665,"nodeType":"UserDefinedTypeName","pathNode":{"id":48664,"name":"ResourceId","nameLocations":["1548:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1548:10:118"},"referencedDeclaration":9486,"src":"1548:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"1547:12:118"},"scope":48731,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48730,"nodeType":"FunctionDefinition","src":"1862:325:118","nodes":[],"body":{"id":48729,"nodeType":"Block","src":"1947:240:118","nodes":[],"statements":[{"assignments":[48695],"declarations":[{"constant":false,"id":48695,"mutability":"mutable","name":"length","nameLocation":"1961:6:118","nodeType":"VariableDeclaration","scope":48729,"src":"1953:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48694,"name":"uint256","nodeType":"ElementaryTypeName","src":"1953:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48696,"nodeType":"VariableDeclarationStatement","src":"1953:14:118"},{"body":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":48709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48705,"name":"paddedString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48689,"src":"2023:12:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},{"id":48706,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48695,"src":"2037:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48703,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"2007:5:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Bytes_$7243_$","typeString":"type(library Bytes)"}},"id":48704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2013:9:118","memberName":"getBytes1","nodeType":"MemberAccess","referencedDeclaration":6498,"src":"2007:15:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes1_$","typeString":"function (bytes32,uint256) pure returns (bytes1)"}},"id":48707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2007:37:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":48708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2048:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2007:42:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48711,"nodeType":"IfStatement","src":"2003:53:118","trueBody":{"id":48710,"nodeType":"Break","src":"2051:5:118"}},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48697,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48695,"src":"1980:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3136","id":48698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1989:2:118","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"1980:11:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48712,"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":48701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1993:8:118","subExpression":{"id":48700,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48695,"src":"1993:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48702,"nodeType":"ExpressionStatement","src":"1993:8:118"},"nodeType":"ForStatement","src":"1973:83:118"},{"assignments":[48714],"declarations":[{"constant":false,"id":48714,"mutability":"mutable","name":"packedSelector","nameLocation":"2075:14:118","nodeType":"VariableDeclaration","scope":48729,"src":"2062:27:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48713,"name":"bytes","nodeType":"ElementaryTypeName","src":"2062:5:118","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":48719,"initialValue":{"arguments":[{"id":48717,"name":"paddedString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48689,"src":"2109:12:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":48715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2092:3:118","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2096:12:118","memberName":"encodePacked","nodeType":"MemberAccess","src":"2092:16:118","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2092:30:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2062:60:118"},{"expression":{"arguments":[{"arguments":[{"id":48724,"name":"packedSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48714,"src":"2158:14:118","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":48725,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48695,"src":"2174:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48722,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"2142:5:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Bytes_$7243_$","typeString":"type(library Bytes)"}},"id":48723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2148:9:118","memberName":"setLength","nodeType":"MemberAccess","referencedDeclaration":6454,"src":"2142:15:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint256) pure returns (bytes memory)"}},"id":48726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2142:39:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2135:6:118","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":48720,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:118","typeDescriptions":{}}},"id":48727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":48693,"id":48728,"nodeType":"Return","src":"2128:54:118"}]},"documentation":{"id":48687,"nodeType":"StructuredDocumentation","src":"1664:195:118","text":" @notice Convert a padded string to a trimmed string.\n @param paddedString The input string with potential padding.\n @return A string without trailing null ASCII characters."},"implemented":true,"kind":"function","modifiers":[],"name":"toTrimmedString","nameLocation":"1871:15:118","parameters":{"id":48690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48689,"mutability":"mutable","name":"paddedString","nameLocation":"1895:12:118","nodeType":"VariableDeclaration","scope":48730,"src":"1887:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":48688,"name":"bytes16","nodeType":"ElementaryTypeName","src":"1887:7:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"1886:22:118"},"returnParameters":{"id":48693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48730,"src":"1932:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48691,"name":"string","nodeType":"ElementaryTypeName","src":"1932:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1931:15:118"},"scope":48731,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"WorldResourceIdLib","contractDependencies":[],"contractKind":"library","documentation":{"id":48618,"nodeType":"StructuredDocumentation","src":"617:177:118","text":" @title WorldResourceIdLib\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice A library for handling World Resource ID encoding and decoding."},"fullyImplemented":true,"linearizedBaseContracts":[48731],"name":"WorldResourceIdLib","nameLocation":"803:18:118","scope":48859,"usedErrors":[],"usedEvents":[]},{"id":48858,"nodeType":"ContractDefinition","src":"2366:1714:118","nodes":[{"id":48753,"nodeType":"FunctionDefinition","src":"2539:148:118","nodes":[],"body":{"id":48752,"nodeType":"Block","src":"2616:71:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48745,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48736,"src":"2655:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48743,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2637:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2648:6:118","memberName":"unwrap","nodeType":"MemberAccess","src":"2637:17:118","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":48746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2637:29:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"id":48747,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"2671:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48748,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2670:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2637:44:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":48742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2629:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes14_$","typeString":"type(bytes14)"},"typeName":{"id":48741,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2629:7:118","typeDescriptions":{}}},"id":48750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2629:53:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"functionReturnParameters":48740,"id":48751,"nodeType":"Return","src":"2622:60:118"}]},"documentation":{"id":48733,"nodeType":"StructuredDocumentation","src":"2402:134:118","text":" @notice Get the namespace from a resource ID.\n @param resourceId The resource ID.\n @return A 14-byte namespace."},"implemented":true,"kind":"function","modifiers":[],"name":"getNamespace","nameLocation":"2548:12:118","parameters":{"id":48737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48736,"mutability":"mutable","name":"resourceId","nameLocation":"2572:10:118","nodeType":"VariableDeclaration","scope":48753,"src":"2561:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48735,"nodeType":"UserDefinedTypeName","pathNode":{"id":48734,"name":"ResourceId","nameLocations":["2561:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2561:10:118"},"referencedDeclaration":9486,"src":"2561:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2560:23:118"},"returnParameters":{"id":48740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48753,"src":"2607:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":48738,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2607:7:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"2606:9:118"},"scope":48858,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48777,"nodeType":"FunctionDefinition","src":"2843:191:118","nodes":[],"body":{"id":48776,"nodeType":"Block","src":"2925:109:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48767,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48757,"src":"2973:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48765,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2955:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2966:6:118","memberName":"unwrap","nodeType":"MemberAccess","src":"2955:17:118","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":48768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2955:29:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48769,"name":"NAMESPACE_MASK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48617,"src":"2987:14:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2955:46:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":48771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2954:48:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":48772,"name":"MASK_RESOURCE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59175,"src":"3005:23:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2954:74:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":48763,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"2938:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2949:4:118","memberName":"wrap","nodeType":"MemberAccess","src":"2938:15:118","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes32) pure returns (ResourceId)"}},"id":48774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2938:91:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"functionReturnParameters":48762,"id":48775,"nodeType":"Return","src":"2931:98:118"}]},"documentation":{"id":48754,"nodeType":"StructuredDocumentation","src":"2691:149:118","text":" @notice Get the namespace ID from a resource ID.\n @param resourceId The resource ID.\n @return A 32-byte namespace resource ID."},"implemented":true,"kind":"function","modifiers":[],"name":"getNamespaceId","nameLocation":"2852:14:118","parameters":{"id":48758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48757,"mutability":"mutable","name":"resourceId","nameLocation":"2878:10:118","nodeType":"VariableDeclaration","scope":48777,"src":"2867:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48756,"nodeType":"UserDefinedTypeName","pathNode":{"id":48755,"name":"ResourceId","nameLocations":["2867:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2867:10:118"},"referencedDeclaration":9486,"src":"2867:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2866:23:118"},"returnParameters":{"id":48762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48777,"src":"2913:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48760,"nodeType":"UserDefinedTypeName","pathNode":{"id":48759,"name":"ResourceId","nameLocations":["2913:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2913:10:118"},"referencedDeclaration":9486,"src":"2913:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"2912:12:118"},"scope":48858,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48800,"nodeType":"FunctionDefinition","src":"3165:160:118","nodes":[],"body":{"id":48799,"nodeType":"Block","src":"3237:88:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":48796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48790,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48781,"src":"3276:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48788,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"3258:10:118","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":48789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3269:6:118","memberName":"unwrap","nodeType":"MemberAccess","src":"3258:17:118","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":48791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3258:29:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":48792,"name":"TYPE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9496,"src":"3292:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":48793,"name":"NAMESPACE_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48599,"src":"3304:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3292:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3291:28:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3258:61:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":48787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3250:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes16_$","typeString":"type(bytes16)"},"typeName":{"id":48786,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3250:7:118","typeDescriptions":{}}},"id":48797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3250:70:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"functionReturnParameters":48785,"id":48798,"nodeType":"Return","src":"3243:77:118"}]},"documentation":{"id":48778,"nodeType":"StructuredDocumentation","src":"3038:124:118","text":" @notice Get the name from a resource ID.\n @param resourceId The resource ID.\n @return A 16-byte name."},"implemented":true,"kind":"function","modifiers":[],"name":"getName","nameLocation":"3174:7:118","parameters":{"id":48782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48781,"mutability":"mutable","name":"resourceId","nameLocation":"3193:10:118","nodeType":"VariableDeclaration","scope":48800,"src":"3182:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48780,"nodeType":"UserDefinedTypeName","pathNode":{"id":48779,"name":"ResourceId","nameLocations":["3182:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3182:10:118"},"referencedDeclaration":9486,"src":"3182:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3181:23:118"},"returnParameters":{"id":48785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48800,"src":"3228:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":48783,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3228:7:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3227:9:118"},"scope":48858,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48857,"nodeType":"FunctionDefinition","src":"3486:592:118","nodes":[],"body":{"id":48856,"nodeType":"Block","src":"3565:513:118","nodes":[],"statements":[{"assignments":[48810],"declarations":[{"constant":false,"id":48810,"mutability":"mutable","name":"resourceType","nameLocation":"3578:12:118","nodeType":"VariableDeclaration","scope":48856,"src":"3571:19:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":48809,"name":"bytes2","nodeType":"ElementaryTypeName","src":"3571:6:118","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"id":48815,"initialValue":{"arguments":[{"id":48813,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3620:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48811,"name":"ResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9567,"src":"3593:18:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIdInstance_$9567_$","typeString":"type(library ResourceIdInstance)"}},"id":48812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3612:7:118","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"3593:26:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":48814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3593:38:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"VariableDeclarationStatement","src":"3571:60:118"},{"assignments":[48817],"declarations":[{"constant":false,"id":48817,"mutability":"mutable","name":"resourceNamespace","nameLocation":"3645:17:118","nodeType":"VariableDeclaration","scope":48856,"src":"3637:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":48816,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3637:7:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"id":48821,"initialValue":{"arguments":[{"id":48819,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3678:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":48818,"name":"getNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48753,"src":"3665:12:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes14_$","typeString":"function (ResourceId) pure returns (bytes14)"}},"id":48820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:24:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"nodeType":"VariableDeclarationStatement","src":"3637:52:118"},{"assignments":[48823],"declarations":[{"constant":false,"id":48823,"mutability":"mutable","name":"resourceName","nameLocation":"3703:12:118","nodeType":"VariableDeclaration","scope":48856,"src":"3695:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":48822,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3695:7:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"id":48827,"initialValue":{"arguments":[{"id":48825,"name":"resourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3726:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":48824,"name":"getName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48800,"src":"3718:7:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes16_$","typeString":"function (ResourceId) pure returns (bytes16)"}},"id":48826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3718:19:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"VariableDeclarationStatement","src":"3695:42:118"},{"expression":{"arguments":[{"arguments":[{"id":48832,"name":"resourceType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48810,"src":"3800:12:118","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"3a","id":48833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3824:3:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"},{"condition":{"commonType":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"id":48836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48834,"name":"resourceNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48817,"src":"3839:17:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":48835,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59030,"src":"3860:14:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"src":"3839:35:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":48840,"name":"resourceNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48817,"src":"3923:17:118","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":48838,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48731,"src":"3888:18:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$48731_$","typeString":"type(library WorldResourceIdLib)"}},"id":48839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3907:15:118","memberName":"toTrimmedString","nodeType":"MemberAccess","referencedDeclaration":48730,"src":"3888:34:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes16_$returns$_t_string_memory_ptr_$","typeString":"function (bytes16) pure returns (string memory)"}},"id":48841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3888:53:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":48842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3839:102:118","trueExpression":{"hexValue":"3c726f6f743e","id":48837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3877:8:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ddac255e99732da8cc386841c096fb9a6f90c44076929d93d4c4aaf19a88b68","typeString":"literal_string \"<root>\""},"value":"<root>"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a","id":48843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3953:3:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"},{"condition":{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":48846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48844,"name":"resourceName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48823,"src":"3968:12:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":48845,"name":"ROOT_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59033,"src":"3984:9:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"3968:25:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":48850,"name":"resourceName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48823,"src":"4042:12:118","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":48848,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48731,"src":"4007:18:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$48731_$","typeString":"type(library WorldResourceIdLib)"}},"id":48849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4026:15:118","memberName":"toTrimmedString","nodeType":"MemberAccess","referencedDeclaration":48730,"src":"4007:34:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes16_$returns$_t_string_memory_ptr_$","typeString":"function (bytes16) pure returns (string memory)"}},"id":48851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:48:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":48852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3968:87:118","trueExpression":{"hexValue":"3c726f6f743e","id":48847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3996:8:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ddac255e99732da8cc386841c096fb9a6f90c44076929d93d4c4aaf19a88b68","typeString":"literal_string \"<root>\""},"value":"<root>"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3772:3:118","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3776:12:118","memberName":"encodePacked","nodeType":"MemberAccess","src":"3772:16:118","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3772:293:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3756:6:118","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":48828,"name":"string","nodeType":"ElementaryTypeName","src":"3756:6:118","typeDescriptions":{}}},"id":48854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3756:317:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":48808,"id":48855,"nodeType":"Return","src":"3743:330:118"}]},"documentation":{"id":48801,"nodeType":"StructuredDocumentation","src":"3329:154:118","text":" @notice Convert a resource ID to a string.\n @param resourceId The resource ID.\n @return A string representation of the resource ID."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"3495:8:118","parameters":{"id":48805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48804,"mutability":"mutable","name":"resourceId","nameLocation":"3515:10:118","nodeType":"VariableDeclaration","scope":48857,"src":"3504:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48803,"nodeType":"UserDefinedTypeName","pathNode":{"id":48802,"name":"ResourceId","nameLocations":["3504:10:118"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3504:10:118"},"referencedDeclaration":9486,"src":"3504:10:118","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"3503:23:118"},"returnParameters":{"id":48808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48857,"src":"3550:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48806,"name":"string","nodeType":"ElementaryTypeName","src":"3550:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3549:15:118"},"scope":48858,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"WorldResourceIdInstance","contractDependencies":[],"contractKind":"library","documentation":{"id":48732,"nodeType":"StructuredDocumentation","src":"2191:174:118","text":" @title WorldResourceIdInstance\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice A library for handling instances of World Resource IDs."},"fullyImplemented":true,"linearizedBaseContracts":[48858],"name":"WorldResourceIdInstance","nameLocation":"2374:23:118","scope":48859,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":118}