{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122089f8ff4593e0aa2cd21b0abb2680d2d28512e81860024ca00d3530456b82feca64736f6c63430008180033","sourceMap":"239:947:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;239:947:6;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122089f8ff4593e0aa2cd21b0abb2680d2d28512e81860024ca00d3530456b82feca64736f6c63430008180033","sourceMap":"239:947:6:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"ptr is left/MSB. len is right/LSB.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Pack ptr and len uint128 values into 1 uint256.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol\":\"PackPtrLen\"},\"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/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol\":{\"keccak256\":\"0x12db07da53ebb78b4aa163d3b8ea9e6e43049b4a036a734a456fc715f262d226\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbc45982956c2f3a9553748393293fe7491b87361b35174a47b566df40c9a9f1\",\"dweb:/ipfs/QmYnpwTqppyDHMcoCZDEdZu3mKixRkgs9FfVVMgARXWTHa\"]}},\"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/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol":"PackPtrLen"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol":{"keccak256":"0x12db07da53ebb78b4aa163d3b8ea9e6e43049b4a036a734a456fc715f262d226","urls":["bzz-raw://cbc45982956c2f3a9553748393293fe7491b87361b35174a47b566df40c9a9f1","dweb:/ipfs/QmYnpwTqppyDHMcoCZDEdZu3mKixRkgs9FfVVMgARXWTHa"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol","id":4413,"exportedSymbols":{"PackPtrLen":[4412],"PackedPtrLen__LenOverflow":[4285],"PackedPtrLen__PtrOverflow":[4283]},"nodeType":"SourceUnit","src":"33:1153:6","nodes":[{"id":4281,"nodeType":"PragmaDirective","src":"33:24:6","nodes":[],"literals":["solidity","^","0.8",".17"]},{"id":4283,"nodeType":"ErrorDefinition","src":"59:34:6","nodes":[],"errorSelector":"fee7506f","name":"PackedPtrLen__PtrOverflow","nameLocation":"65:25:6","parameters":{"id":4282,"nodeType":"ParameterList","parameters":[],"src":"90:2:6"}},{"id":4285,"nodeType":"ErrorDefinition","src":"94:34:6","nodes":[],"errorSelector":"3b6b098d","name":"PackedPtrLen__LenOverflow","nameLocation":"100:25:6","parameters":{"id":4284,"nodeType":"ParameterList","parameters":[],"src":"125:2:6"}},{"id":4412,"nodeType":"ContractDefinition","src":"239:947:6","nodes":[{"id":4293,"nodeType":"VariableDeclaration","src":"264:40:6","nodes":[],"constant":true,"mutability":"constant","name":"MAX","nameLocation":"281:3:6","scope":4412,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4287,"name":"uint256","nodeType":"ElementaryTypeName","src":"264:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"expression":{"arguments":[{"id":4290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"292:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":4289,"name":"uint128","nodeType":"ElementaryTypeName","src":"292:7:6","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":4288,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"287:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"287:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":4292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"301:3:6","memberName":"max","nodeType":"MemberAccess","src":"287:17:6","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"id":4305,"nodeType":"VariableDeclaration","src":"311:61:6","nodes":[],"constant":true,"mutability":"constant","name":"MASK_PTR","nameLocation":"328:8:6","scope":4412,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4294,"name":"uint256","nodeType":"ElementaryTypeName","src":"311:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":4299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"352:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":4298,"name":"uint128","nodeType":"ElementaryTypeName","src":"352:7:6","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":4297,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"347:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"347:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":4301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"361:3:6","memberName":"max","nodeType":"MemberAccess","src":"347:17:6","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":4296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"339:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4295,"name":"uint256","nodeType":"ElementaryTypeName","src":"339:7:6","typeDescriptions":{}}},"id":4302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"339:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":4303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"369:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"339:33:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":4315,"nodeType":"VariableDeclaration","src":"378:54:6","nodes":[],"constant":true,"mutability":"constant","name":"MASK_LEN","nameLocation":"395:8:6","scope":4412,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4306,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"expression":{"arguments":[{"id":4311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"419:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":4310,"name":"uint128","nodeType":"ElementaryTypeName","src":"419:7:6","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":4309,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"414:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"414:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":4313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"428:3:6","memberName":"max","nodeType":"MemberAccess","src":"414:17:6","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":4308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"406:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4307,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:6","typeDescriptions":{}}},"id":4314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"406:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":4349,"nodeType":"FunctionDefinition","src":"439:252:6","nodes":[],"body":{"id":4348,"nodeType":"Block","src":"518:173:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4324,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4317,"src":"532:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4325,"name":"MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4293,"src":"538:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"532:9:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4330,"nodeType":"IfStatement","src":"528:49:6","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4327,"name":"PackedPtrLen__PtrOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4283,"src":"550:25:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"550:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4329,"nodeType":"RevertStatement","src":"543:34:6"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4331,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4319,"src":"591:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4332,"name":"MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4293,"src":"597:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"591:9:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4337,"nodeType":"IfStatement","src":"587:49:6","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4334,"name":"PackedPtrLen__LenOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4285,"src":"609:25:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"609:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4336,"nodeType":"RevertStatement","src":"602:34:6"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4338,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4317,"src":"654:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":4339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"661:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"654:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4341,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"653:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4342,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4319,"src":"669:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":4343,"name":"MASK_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4315,"src":"675:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"669:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4345,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"668:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"653:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4323,"id":4347,"nodeType":"Return","src":"646:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"448:4:6","parameters":{"id":4320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4317,"mutability":"mutable","name":"ptr","nameLocation":"461:3:6","nodeType":"VariableDeclaration","scope":4349,"src":"453:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4316,"name":"uint256","nodeType":"ElementaryTypeName","src":"453:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4319,"mutability":"mutable","name":"len","nameLocation":"474:3:6","nodeType":"VariableDeclaration","scope":4349,"src":"466:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4318,"name":"uint256","nodeType":"ElementaryTypeName","src":"466:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"452:26:6"},"returnParameters":{"id":4323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4322,"mutability":"mutable","name":"packed","nameLocation":"510:6:6","nodeType":"VariableDeclaration","scope":4349,"src":"502:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4321,"name":"uint256","nodeType":"ElementaryTypeName","src":"502:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"501:16:6"},"scope":4412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4361,"nodeType":"FunctionDefinition","src":"697:101:6","nodes":[],"body":{"id":4360,"nodeType":"Block","src":"761:37:6","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4356,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4351,"src":"778:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":4357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"788:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"778:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4355,"id":4359,"nodeType":"Return","src":"771:20:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getPtr","nameLocation":"706:6:6","parameters":{"id":4352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4351,"mutability":"mutable","name":"packed","nameLocation":"721:6:6","nodeType":"VariableDeclaration","scope":4361,"src":"713:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4350,"name":"uint256","nodeType":"ElementaryTypeName","src":"713:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:16:6"},"returnParameters":{"id":4355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4361,"src":"752:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4353,"name":"uint256","nodeType":"ElementaryTypeName","src":"752:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"751:9:6"},"scope":4412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4373,"nodeType":"FunctionDefinition","src":"804:105:6","nodes":[],"body":{"id":4372,"nodeType":"Block","src":"868:41:6","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4368,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4363,"src":"885:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":4369,"name":"MASK_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4315,"src":"894:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"885:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4367,"id":4371,"nodeType":"Return","src":"878:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getLen","nameLocation":"813:6:6","parameters":{"id":4364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4363,"mutability":"mutable","name":"packed","nameLocation":"828:6:6","nodeType":"VariableDeclaration","scope":4373,"src":"820:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4362,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:16:6"},"returnParameters":{"id":4367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4373,"src":"859:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4365,"name":"uint256","nodeType":"ElementaryTypeName","src":"859:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"858:9:6"},"scope":4412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4393,"nodeType":"FunctionDefinition","src":"915:135:6","nodes":[],"body":{"id":4392,"nodeType":"Block","src":"992:58:6","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4382,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4375,"src":"1010:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":4383,"name":"MASK_PTR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4305,"src":"1019:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1010:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4385,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1009:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4386,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4377,"src":"1032:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":4387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1039:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1032:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4389,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1031:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1009:34:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4381,"id":4391,"nodeType":"Return","src":"1002:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setPtr","nameLocation":"924:6:6","parameters":{"id":4378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4375,"mutability":"mutable","name":"packed","nameLocation":"939:6:6","nodeType":"VariableDeclaration","scope":4393,"src":"931:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4374,"name":"uint256","nodeType":"ElementaryTypeName","src":"931:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4377,"mutability":"mutable","name":"ptr","nameLocation":"955:3:6","nodeType":"VariableDeclaration","scope":4393,"src":"947:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4376,"name":"uint256","nodeType":"ElementaryTypeName","src":"947:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"930:29:6"},"returnParameters":{"id":4381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4393,"src":"983:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4379,"name":"uint256","nodeType":"ElementaryTypeName","src":"983:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"982:9:6"},"scope":4412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4411,"nodeType":"FunctionDefinition","src":"1056:128:6","nodes":[],"body":{"id":4410,"nodeType":"Block","src":"1133:51:6","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4402,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"1151:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":4403,"name":"MASK_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4315,"src":"1160:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1151:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1150:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"id":4406,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4397,"src":"1173:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1172:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1150:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4401,"id":4409,"nodeType":"Return","src":"1143:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setLen","nameLocation":"1065:6:6","parameters":{"id":4398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4395,"mutability":"mutable","name":"packed","nameLocation":"1080:6:6","nodeType":"VariableDeclaration","scope":4411,"src":"1072:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4394,"name":"uint256","nodeType":"ElementaryTypeName","src":"1072:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4397,"mutability":"mutable","name":"len","nameLocation":"1096:3:6","nodeType":"VariableDeclaration","scope":4411,"src":"1088:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4396,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1071:29:6"},"returnParameters":{"id":4401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4411,"src":"1124:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4399,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1123:9:6"},"scope":4412,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"PackPtrLen","contractDependencies":[],"contractKind":"library","documentation":{"id":4286,"nodeType":"StructuredDocumentation","src":"130:108:6","text":" @title Pack ptr and len uint128 values into 1 uint256.\n @dev ptr is left/MSB. len is right/LSB."},"fullyImplemented":true,"linearizedBaseContracts":[4412],"name":"PackPtrLen","nameLocation":"247:10:6","scope":4413,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":6}