{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a6c5664f953fbbfb92c5e2eb3401df786a387e323541209a9ca7c41ba74dfe2c64736f6c63430008180033","sourceMap":"6070:3261:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;6070:3261:15;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a6c5664f953fbbfb92c5e2eb3401df786a387e323541209a9ca7c41ba74dfe2c64736f6c63430008180033","sourceMap":"6070:3261:15:-: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)\",\"details\":\"Offers decoding, extracting, and setting functionalities for EncodedLengths.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EncodedLengths Instance Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Instance functions for handling EncodedLengths.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":\"EncodedLengthsInstance\"},\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]}},\"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/store/src/EncodedLengths.sol":"EncodedLengthsInstance"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","id":7873,"exportedSymbols":{"ACC_BITS":[7260],"BYTE_TO_BITS":[21539],"EncodedLengths":[7251],"EncodedLengthsInstance":[7872],"EncodedLengthsLib":[7669],"IEncodedLengthsErrors":[8578],"MAX_VAL":[7272],"VAL_BITS":[7265]},"nodeType":"SourceUnit","src":"32:9300:15","nodes":[{"id":7245,"nodeType":"PragmaDirective","src":"32:25:15","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":7247,"nodeType":"ImportDirective","src":"59:47:15","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/constants.sol","file":"./constants.sol","nameLocation":"-1:-1:-1","scope":7873,"sourceUnit":21587,"symbolAliases":[{"foreign":{"id":7246,"name":"BYTE_TO_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21539,"src":"68:12:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7249,"nodeType":"ImportDirective","src":"107:68:15","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol","file":"./IEncodedLengthsErrors.sol","nameLocation":"-1:-1:-1","scope":7873,"sourceUnit":8579,"symbolAliases":[{"foreign":{"id":7248,"name":"IEncodedLengthsErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"116:21:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7251,"nodeType":"UserDefinedValueTypeDefinition","src":"768:31:15","nodes":[],"canonicalName":"EncodedLengths","name":"EncodedLengths","nameLocation":"773:14:15","underlyingType":{"id":7250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"791:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":7255,"nodeType":"UsingForDirective","src":"801:55:15","nodes":[],"global":true,"libraryName":{"id":7252,"name":"EncodedLengthsInstance","nameLocations":["807:22:15"],"nodeType":"IdentifierPath","referencedDeclaration":7872,"src":"807:22:15"},"typeName":{"id":7254,"nodeType":"UserDefinedTypeName","pathNode":{"id":7253,"name":"EncodedLengths","nameLocations":["834:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"834:14:15"},"referencedDeclaration":7251,"src":"834:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}},{"id":7260,"nodeType":"VariableDeclaration","src":"947:44:15","nodes":[],"constant":true,"mutability":"constant","name":"ACC_BITS","nameLocation":"964:8:15","scope":7873,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7256,"name":"uint256","nodeType":"ElementaryTypeName","src":"947:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"37","id":7257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"975:1:15","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7258,"name":"BYTE_TO_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21539,"src":"979:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"975:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":7265,"nodeType":"VariableDeclaration","src":"1035:44:15","nodes":[],"constant":true,"mutability":"constant","name":"VAL_BITS","nameLocation":"1052:8:15","scope":7873,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7261,"name":"uint256","nodeType":"ElementaryTypeName","src":"1035:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":7262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1063:1:15","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7263,"name":"BYTE_TO_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21539,"src":"1067:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1063:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":7272,"nodeType":"VariableDeclaration","src":"1118:43:15","nodes":[],"constant":true,"mutability":"constant","name":"MAX_VAL","nameLocation":"1135:7:15","scope":7873,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7266,"name":"uint256","nodeType":"ElementaryTypeName","src":"1118:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"expression":{"arguments":[{"id":7269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1150:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":7268,"name":"uint40","nodeType":"ElementaryTypeName","src":"1150:6:15","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":7267,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1145:4:15","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1145:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":7271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1158:3:15","memberName":"max","nodeType":"MemberAccess","src":"1145:16:15","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"},{"id":7669,"nodeType":"ContractDefinition","src":"1471:4337:15","nodes":[{"id":7314,"nodeType":"FunctionDefinition","src":"1907:269:15","nodes":[],"body":{"id":7313,"nodeType":"Block","src":"1971:205:15","nodes":[],"statements":[{"assignments":[7283],"declarations":[{"constant":false,"id":7283,"mutability":"mutable","name":"encodedLengths","nameLocation":"1985:14:15","nodeType":"VariableDeclaration","scope":7313,"src":"1977:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7282,"name":"uint256","nodeType":"ElementaryTypeName","src":"1977:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7284,"nodeType":"VariableDeclarationStatement","src":"1977:22:15"},{"id":7304,"nodeType":"UncheckedBlock","src":"2005:110:15","statements":[{"expression":{"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7285,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"2023:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7286,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7276,"src":"2040:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2023:18:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7288,"nodeType":"ExpressionStatement","src":"2023:18:15"},{"expression":{"id":7302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7289,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"2049:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7292,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7276,"src":"2076:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2068:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7290,"name":"uint256","nodeType":"ElementaryTypeName","src":"2068:7:15","typeDescriptions":{}}},"id":7293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2068:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7294,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"2083:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7295,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"2094:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30","id":7296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2105:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2094:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2083:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7299,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2082:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2068:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7301,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2067:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2049:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7303,"nodeType":"ExpressionStatement","src":"2049:59:15"}]},{"expression":{"arguments":[{"arguments":[{"id":7309,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"2155:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2147:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2147:7:15","typeDescriptions":{}}},"id":7310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2147:23:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7305,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"2127:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2142:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"2127:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2127:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7281,"id":7312,"nodeType":"Return","src":"2120:51:15"}]},"documentation":{"id":7274,"nodeType":"StructuredDocumentation","src":"1501:403:15","text":" @notice Packs a single value into EncodedLengths.\n @dev Encodes the given value 'a' into the structure of EncodedLengths. The encoded lengths's accumulator\n will be set to 'a', and the first value slot of the EncodedLengths will also be set to 'a'.\n @param a The length of the first dynamic field's data.\n @return The resulting EncodedLengths containing the encoded value."},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"1916:4:15","parameters":{"id":7277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7276,"mutability":"mutable","name":"a","nameLocation":"1929:1:15","nodeType":"VariableDeclaration","scope":7314,"src":"1921:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7275,"name":"uint256","nodeType":"ElementaryTypeName","src":"1921:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1920:11:15"},"returnParameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7314,"src":"1955:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7279,"nodeType":"UserDefinedTypeName","pathNode":{"id":7278,"name":"EncodedLengths","nameLocations":["1955:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"1955:14:15"},"referencedDeclaration":7251,"src":"1955:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"1954:16:15"},"scope":7669,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7374,"nodeType":"FunctionDefinition","src":"2518:351:15","nodes":[],"body":{"id":7373,"nodeType":"Block","src":"2593:276:15","nodes":[],"statements":[{"assignments":[7326],"declarations":[{"constant":false,"id":7326,"mutability":"mutable","name":"encodedLengths","nameLocation":"2607:14:15","nodeType":"VariableDeclaration","scope":7373,"src":"2599:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7325,"name":"uint256","nodeType":"ElementaryTypeName","src":"2599:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7327,"nodeType":"VariableDeclarationStatement","src":"2599:22:15"},{"id":7364,"nodeType":"UncheckedBlock","src":"2627:181:15","statements":[{"expression":{"id":7332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7328,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7326,"src":"2645:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7329,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7317,"src":"2662:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7330,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7319,"src":"2666:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2662:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2645:22:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7333,"nodeType":"ExpressionStatement","src":"2645:22:15"},{"expression":{"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7334,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7326,"src":"2675:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7337,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7317,"src":"2702:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2694:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7335,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:15","typeDescriptions":{}}},"id":7338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2694:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7339,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"2709:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7340,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"2720:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30","id":7341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2731:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2720:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2709:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7344,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2708:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2694:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7346,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2693:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2675:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7348,"nodeType":"ExpressionStatement","src":"2675:59:15"},{"expression":{"id":7362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7349,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7326,"src":"2742:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7352,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7319,"src":"2769:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2761:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7350,"name":"uint256","nodeType":"ElementaryTypeName","src":"2761:7:15","typeDescriptions":{}}},"id":7353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7354,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"2776:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7355,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"2787:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31","id":7356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2798:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2787:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2776:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7359,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2775:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7361,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2760:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2742:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7363,"nodeType":"ExpressionStatement","src":"2742:59:15"}]},{"expression":{"arguments":[{"arguments":[{"id":7369,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7326,"src":"2848:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2840:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2840:7:15","typeDescriptions":{}}},"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2840:23:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7365,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"2820:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2835:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"2820:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2820:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7324,"id":7372,"nodeType":"Return","src":"2813:51:15"}]},"documentation":{"id":7315,"nodeType":"StructuredDocumentation","src":"2180:335:15","text":" @notice Packs two values into EncodedLengths.\n @dev Encodes the given values 'a'-'b' into the structure of EncodedLengths.\n @param a The length of the first dynamic field's data.\n @param b The length of the second dynamic field's data.\n @return The resulting EncodedLengths containing the encoded values."},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"2527:4:15","parameters":{"id":7320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7317,"mutability":"mutable","name":"a","nameLocation":"2540:1:15","nodeType":"VariableDeclaration","scope":7374,"src":"2532:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7316,"name":"uint256","nodeType":"ElementaryTypeName","src":"2532:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7319,"mutability":"mutable","name":"b","nameLocation":"2551:1:15","nodeType":"VariableDeclaration","scope":7374,"src":"2543:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7318,"name":"uint256","nodeType":"ElementaryTypeName","src":"2543:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2531:22:15"},"returnParameters":{"id":7324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7374,"src":"2577:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7322,"nodeType":"UserDefinedTypeName","pathNode":{"id":7321,"name":"EncodedLengths","nameLocations":["2577:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"2577:14:15"},"referencedDeclaration":7251,"src":"2577:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"2576:16:15"},"scope":7669,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7453,"nodeType":"FunctionDefinition","src":"3273:433:15","nodes":[],"body":{"id":7452,"nodeType":"Block","src":"3359:347:15","nodes":[],"statements":[{"assignments":[7388],"declarations":[{"constant":false,"id":7388,"mutability":"mutable","name":"encodedLengths","nameLocation":"3373:14:15","nodeType":"VariableDeclaration","scope":7452,"src":"3365:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7387,"name":"uint256","nodeType":"ElementaryTypeName","src":"3365:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7389,"nodeType":"VariableDeclarationStatement","src":"3365:22:15"},{"id":7443,"nodeType":"UncheckedBlock","src":"3393:252:15","statements":[{"expression":{"id":7396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7390,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"3411:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7391,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"3428:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7392,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7379,"src":"3432:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3428:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7394,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7381,"src":"3436:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3428:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3411:26:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7397,"nodeType":"ExpressionStatement","src":"3411:26:15"},{"expression":{"id":7411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7398,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"3445:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7401,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"3472:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3464:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7399,"name":"uint256","nodeType":"ElementaryTypeName","src":"3464:7:15","typeDescriptions":{}}},"id":7402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3464:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7403,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"3479:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7404,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"3490:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30","id":7405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3501:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3490:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3479:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7408,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3478:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3464:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7410,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3463:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3445:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7412,"nodeType":"ExpressionStatement","src":"3445:59:15"},{"expression":{"id":7426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7413,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"3512:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7416,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7379,"src":"3539:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3531:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7414,"name":"uint256","nodeType":"ElementaryTypeName","src":"3531:7:15","typeDescriptions":{}}},"id":7417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3531:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7418,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"3546:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7419,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"3557:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31","id":7420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3568:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3557:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3546:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7423,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3545:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3531:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7425,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3530:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3512:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7427,"nodeType":"ExpressionStatement","src":"3512:59:15"},{"expression":{"id":7441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7428,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"3579:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7431,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7381,"src":"3606:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3598:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7429,"name":"uint256","nodeType":"ElementaryTypeName","src":"3598:7:15","typeDescriptions":{}}},"id":7432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3598:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7433,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"3613:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7434,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"3624:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":7435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3635:1:15","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"3624:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3613:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7438,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3612:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3598:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7440,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3597:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3579:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7442,"nodeType":"ExpressionStatement","src":"3579:59:15"}]},{"expression":{"arguments":[{"arguments":[{"id":7448,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"3685:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3677:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3677:7:15","typeDescriptions":{}}},"id":7449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3677:23:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7444,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"3657:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3672:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"3657:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3657:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7386,"id":7451,"nodeType":"Return","src":"3650:51:15"}]},"documentation":{"id":7375,"nodeType":"StructuredDocumentation","src":"2873:397:15","text":" @notice Packs three values into EncodedLengths.\n @dev Encodes the given values 'a'-'c' into the structure of EncodedLengths.\n @param a The length of the first dynamic field's data.\n @param b The length of the second dynamic field's data.\n @param c The length of the third dynamic field's data.\n @return The resulting EncodedLengths containing the encoded values."},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"3282:4:15","parameters":{"id":7382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7377,"mutability":"mutable","name":"a","nameLocation":"3295:1:15","nodeType":"VariableDeclaration","scope":7453,"src":"3287:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7376,"name":"uint256","nodeType":"ElementaryTypeName","src":"3287:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7379,"mutability":"mutable","name":"b","nameLocation":"3306:1:15","nodeType":"VariableDeclaration","scope":7453,"src":"3298:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7378,"name":"uint256","nodeType":"ElementaryTypeName","src":"3298:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7381,"mutability":"mutable","name":"c","nameLocation":"3317:1:15","nodeType":"VariableDeclaration","scope":7453,"src":"3309:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7380,"name":"uint256","nodeType":"ElementaryTypeName","src":"3309:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3286:33:15"},"returnParameters":{"id":7386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7453,"src":"3343:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7384,"nodeType":"UserDefinedTypeName","pathNode":{"id":7383,"name":"EncodedLengths","nameLocations":["3343:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"3343:14:15"},"referencedDeclaration":7251,"src":"3343:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"3342:16:15"},"scope":7669,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7551,"nodeType":"FunctionDefinition","src":"4170:515:15","nodes":[],"body":{"id":7550,"nodeType":"Block","src":"4267:418:15","nodes":[],"statements":[{"assignments":[7469],"declarations":[{"constant":false,"id":7469,"mutability":"mutable","name":"encodedLengths","nameLocation":"4281:14:15","nodeType":"VariableDeclaration","scope":7550,"src":"4273:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7468,"name":"uint256","nodeType":"ElementaryTypeName","src":"4273:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7470,"nodeType":"VariableDeclarationStatement","src":"4273:22:15"},{"id":7541,"nodeType":"UncheckedBlock","src":"4301:323:15","statements":[{"expression":{"id":7479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7471,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4319:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7472,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7456,"src":"4336:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7473,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4340:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4336:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7475,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"4344:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4336:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7477,"name":"d","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7462,"src":"4348:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4336:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4319:30:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7480,"nodeType":"ExpressionStatement","src":"4319:30:15"},{"expression":{"id":7494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7481,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4357:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7484,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7456,"src":"4384:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4376:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7482,"name":"uint256","nodeType":"ElementaryTypeName","src":"4376:7:15","typeDescriptions":{}}},"id":7485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4376:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7486,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"4391:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7487,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"4402:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30","id":7488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4413:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4402:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4391:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7491,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4390:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4376:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4375:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4357:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7495,"nodeType":"ExpressionStatement","src":"4357:59:15"},{"expression":{"id":7509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7496,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4424:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7499,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4451:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4443:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7497,"name":"uint256","nodeType":"ElementaryTypeName","src":"4443:7:15","typeDescriptions":{}}},"id":7500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4443:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7501,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"4458:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7502,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"4469:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31","id":7503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4480:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4469:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4458:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7506,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4457:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4443:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7508,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4442:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4424:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7510,"nodeType":"ExpressionStatement","src":"4424:59:15"},{"expression":{"id":7524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7511,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4491:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7514,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"4518:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4510:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7512,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:15","typeDescriptions":{}}},"id":7515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4510:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7516,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"4525:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7517,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"4536:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":7518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4547:1:15","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4536:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4525:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7521,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4524:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4510:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7523,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4509:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4491:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7525,"nodeType":"ExpressionStatement","src":"4491:59:15"},{"expression":{"id":7539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7526,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4558:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7529,"name":"d","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7462,"src":"4585:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4577:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7527,"name":"uint256","nodeType":"ElementaryTypeName","src":"4577:7:15","typeDescriptions":{}}},"id":7530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4577:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7531,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"4592:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7532,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"4603:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"33","id":7533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4614:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"4603:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4592:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7536,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4591:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4577:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7538,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4576:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4558:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7540,"nodeType":"ExpressionStatement","src":"4558:59:15"}]},{"expression":{"arguments":[{"arguments":[{"id":7546,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"4664:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4656:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4656:7:15","typeDescriptions":{}}},"id":7547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4656:23:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7542,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"4636:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4651:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"4636:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7467,"id":7549,"nodeType":"Return","src":"4629:51:15"}]},"documentation":{"id":7454,"nodeType":"StructuredDocumentation","src":"3710:457:15","text":" @notice Packs four values into EncodedLengths.\n @dev Encodes the given values 'a'-'d' into the structure of EncodedLengths.\n @param a The length of the first dynamic field's data.\n @param b The length of the second dynamic field's data.\n @param c The length of the third dynamic field's data.\n @param d The length of the fourth dynamic field's data.\n @return The resulting EncodedLengths containing the encoded values."},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"4179:4:15","parameters":{"id":7463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7456,"mutability":"mutable","name":"a","nameLocation":"4192:1:15","nodeType":"VariableDeclaration","scope":7551,"src":"4184:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7455,"name":"uint256","nodeType":"ElementaryTypeName","src":"4184:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7458,"mutability":"mutable","name":"b","nameLocation":"4203:1:15","nodeType":"VariableDeclaration","scope":7551,"src":"4195:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7457,"name":"uint256","nodeType":"ElementaryTypeName","src":"4195:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7460,"mutability":"mutable","name":"c","nameLocation":"4214:1:15","nodeType":"VariableDeclaration","scope":7551,"src":"4206:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7459,"name":"uint256","nodeType":"ElementaryTypeName","src":"4206:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7462,"mutability":"mutable","name":"d","nameLocation":"4225:1:15","nodeType":"VariableDeclaration","scope":7551,"src":"4217:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7461,"name":"uint256","nodeType":"ElementaryTypeName","src":"4217:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4183:44:15"},"returnParameters":{"id":7467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7551,"src":"4251:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7465,"nodeType":"UserDefinedTypeName","pathNode":{"id":7464,"name":"EncodedLengths","nameLocations":["4251:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"4251:14:15"},"referencedDeclaration":7251,"src":"4251:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"4250:16:15"},"scope":7669,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7668,"nodeType":"FunctionDefinition","src":"5209:597:15","nodes":[],"body":{"id":7667,"nodeType":"Block","src":"5317:489:15","nodes":[],"statements":[{"assignments":[7569],"declarations":[{"constant":false,"id":7569,"mutability":"mutable","name":"encodedLengths","nameLocation":"5331:14:15","nodeType":"VariableDeclaration","scope":7667,"src":"5323:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7568,"name":"uint256","nodeType":"ElementaryTypeName","src":"5323:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7570,"nodeType":"VariableDeclarationStatement","src":"5323:22:15"},{"id":7658,"nodeType":"UncheckedBlock","src":"5351:394:15","statements":[{"expression":{"id":7581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7571,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5369:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7572,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7554,"src":"5386:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7573,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7556,"src":"5390:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5386:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7575,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7558,"src":"5394:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5386:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7577,"name":"d","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7560,"src":"5398:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5386:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":7579,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7562,"src":"5402:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5386:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5369:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7582,"nodeType":"ExpressionStatement","src":"5369:34:15"},{"expression":{"id":7596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7583,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5411:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7586,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7554,"src":"5438:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5430:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5430:7:15","typeDescriptions":{}}},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5430:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7588,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"5445:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7589,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"5456:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30","id":7590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5467:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5456:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5445:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7593,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5444:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5430:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7595,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5429:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5411:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7597,"nodeType":"ExpressionStatement","src":"5411:59:15"},{"expression":{"id":7611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7598,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5478:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7601,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7556,"src":"5505:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5497:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7599,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:15","typeDescriptions":{}}},"id":7602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5497:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7603,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"5512:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7604,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"5523:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31","id":7605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5534:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5523:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5512:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7608,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5511:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5497:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5496:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5478:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7612,"nodeType":"ExpressionStatement","src":"5478:59:15"},{"expression":{"id":7626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7613,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5545:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7616,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7558,"src":"5572:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5564:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7614,"name":"uint256","nodeType":"ElementaryTypeName","src":"5564:7:15","typeDescriptions":{}}},"id":7617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5564:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7618,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"5579:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7619,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"5590:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":7620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5601:1:15","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5590:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5579:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7623,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5578:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5564:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7625,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5563:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5545:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7627,"nodeType":"ExpressionStatement","src":"5545:59:15"},{"expression":{"id":7641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7628,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5612:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7631,"name":"d","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7560,"src":"5639:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5631:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7629,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:15","typeDescriptions":{}}},"id":7632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5631:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7633,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"5646:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7634,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"5657:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"33","id":7635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5668:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"5657:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5646:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7638,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5645:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5631:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7640,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5630:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5612:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7642,"nodeType":"ExpressionStatement","src":"5612:59:15"},{"expression":{"id":7656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7643,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5679:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7646,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7562,"src":"5706:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5698:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7644,"name":"uint256","nodeType":"ElementaryTypeName","src":"5698:7:15","typeDescriptions":{}}},"id":7647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5698:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7648,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"5713:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":7649,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"5724:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"34","id":7650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5735:1:15","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5724:12:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5713:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7653,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5712:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5698:39:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7655,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5697:41:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5679:59:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7657,"nodeType":"ExpressionStatement","src":"5679:59:15"}]},{"expression":{"arguments":[{"arguments":[{"id":7663,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"5785:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5777:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5777:7:15","typeDescriptions":{}}},"id":7664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5777:23:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7659,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"5757:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5772:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"5757:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5757:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7567,"id":7666,"nodeType":"Return","src":"5750:51:15"}]},"documentation":{"id":7552,"nodeType":"StructuredDocumentation","src":"4689:517:15","text":" @notice Packs five values into EncodedLengths.\n @dev Encodes the given values 'a'-'e' into the structure of EncodedLengths.\n @param a The length of the first dynamic field's data.\n @param b The length of the second dynamic field's data.\n @param c The length of the third dynamic field's data.\n @param d The length of the fourth dynamic field's data.\n @param e The length of the fifth dynamic field's data.\n @return The resulting EncodedLengths containing the encoded values."},"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"5218:4:15","parameters":{"id":7563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7554,"mutability":"mutable","name":"a","nameLocation":"5231:1:15","nodeType":"VariableDeclaration","scope":7668,"src":"5223:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7553,"name":"uint256","nodeType":"ElementaryTypeName","src":"5223:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7556,"mutability":"mutable","name":"b","nameLocation":"5242:1:15","nodeType":"VariableDeclaration","scope":7668,"src":"5234:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7555,"name":"uint256","nodeType":"ElementaryTypeName","src":"5234:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7558,"mutability":"mutable","name":"c","nameLocation":"5253:1:15","nodeType":"VariableDeclaration","scope":7668,"src":"5245:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7557,"name":"uint256","nodeType":"ElementaryTypeName","src":"5245:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7560,"mutability":"mutable","name":"d","nameLocation":"5264:1:15","nodeType":"VariableDeclaration","scope":7668,"src":"5256:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7559,"name":"uint256","nodeType":"ElementaryTypeName","src":"5256:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7562,"mutability":"mutable","name":"e","nameLocation":"5275:1:15","nodeType":"VariableDeclaration","scope":7668,"src":"5267:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7561,"name":"uint256","nodeType":"ElementaryTypeName","src":"5267:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5222:55:15"},"returnParameters":{"id":7567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7668,"src":"5301:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7565,"nodeType":"UserDefinedTypeName","pathNode":{"id":7564,"name":"EncodedLengths","nameLocations":["5301:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"5301:14:15"},"referencedDeclaration":7251,"src":"5301:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"5300:16:15"},"scope":7669,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"EncodedLengthsLib","contractDependencies":[],"contractKind":"library","documentation":{"id":7273,"nodeType":"StructuredDocumentation","src":"1164:306:15","text":" @title EncodedLengths Library\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice Static functions for handling EncodedLengths type.\n @dev Provides utility functions to pack values into EncodedLengths.\n The caller must ensure that the value arguments are <= MAX_VAL."},"fullyImplemented":true,"linearizedBaseContracts":[7669],"name":"EncodedLengthsLib","nameLocation":"1479:17:15","scope":7873,"usedErrors":[],"usedEvents":[]},{"id":7872,"nodeType":"ContractDefinition","src":"6070:3261:15","nodes":[{"id":7691,"nodeType":"FunctionDefinition","src":"6361:150:15","nodes":[],"body":{"id":7690,"nodeType":"Block","src":"6439:72:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":7685,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7674,"src":"6489:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":7683,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"6467:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6482:6:15","memberName":"unwrap","nodeType":"MemberAccess","src":"6467:21:15","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":7686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6467:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6459:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7681,"name":"uint256","nodeType":"ElementaryTypeName","src":"6459:7:15","typeDescriptions":{}}},"id":7687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6459:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6452:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":7679,"name":"uint56","nodeType":"ElementaryTypeName","src":"6452:6:15","typeDescriptions":{}}},"id":7688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6452:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":7678,"id":7689,"nodeType":"Return","src":"6445:61:15"}]},"documentation":{"id":7671,"nodeType":"StructuredDocumentation","src":"6105:253:15","text":" @notice Decode the accumulated counter from EncodedLengths.\n @dev Extracts the right-most 7 bytes of EncodedLengths.\n @param encodedLengths The encoded lengths to decode.\n @return The accumulated value from the EncodedLengths."},"implemented":true,"kind":"function","modifiers":[],"name":"total","nameLocation":"6370:5:15","parameters":{"id":7675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7674,"mutability":"mutable","name":"encodedLengths","nameLocation":"6391:14:15","nodeType":"VariableDeclaration","scope":7691,"src":"6376:29:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7673,"nodeType":"UserDefinedTypeName","pathNode":{"id":7672,"name":"EncodedLengths","nameLocations":["6376:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"6376:14:15"},"referencedDeclaration":7251,"src":"6376:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"6375:31:15"},"returnParameters":{"id":7678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7691,"src":"6430:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7676,"name":"uint256","nodeType":"ElementaryTypeName","src":"6430:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6429:9:15"},"scope":7872,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7722,"nodeType":"FunctionDefinition","src":"6878:222:15","nodes":[],"body":{"id":7721,"nodeType":"Block","src":"6971:129:15","nodes":[],"statements":[{"id":7720,"nodeType":"UncheckedBlock","src":"6977:119:15","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7708,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7695,"src":"7039:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":7706,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"7017:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7032:6:15","memberName":"unwrap","nodeType":"MemberAccess","src":"7017:21:15","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":7709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7017:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7710,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"7059:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7711,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"7070:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7712,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7697,"src":"7081:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7070:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7059:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7058:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7017:70:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7009:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7704,"name":"uint256","nodeType":"ElementaryTypeName","src":"7009:7:15","typeDescriptions":{}}},"id":7717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7009:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7002:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":7702,"name":"uint40","nodeType":"ElementaryTypeName","src":"7002:6:15","typeDescriptions":{}}},"id":7718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7002:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":7701,"id":7719,"nodeType":"Return","src":"6995:94:15"}]}]},"documentation":{"id":7692,"nodeType":"StructuredDocumentation","src":"6515:360:15","text":" @notice Decode the dynamic field size at a specific index from EncodedLengths.\n @dev Extracts value right-to-left, with 5 bytes per dynamic field after the right-most 7 bytes.\n @param encodedLengths The encoded lengths to decode.\n @param index The index to retrieve.\n @return The value at the given index from the EncodedLengths."},"implemented":true,"kind":"function","modifiers":[],"name":"atIndex","nameLocation":"6887:7:15","parameters":{"id":7698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7695,"mutability":"mutable","name":"encodedLengths","nameLocation":"6910:14:15","nodeType":"VariableDeclaration","scope":7722,"src":"6895:29:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7694,"nodeType":"UserDefinedTypeName","pathNode":{"id":7693,"name":"EncodedLengths","nameLocations":["6895:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"6895:14:15"},"referencedDeclaration":7251,"src":"6895:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":7697,"mutability":"mutable","name":"index","nameLocation":"6932:5:15","nodeType":"VariableDeclaration","scope":7722,"src":"6926:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7696,"name":"uint8","nodeType":"ElementaryTypeName","src":"6926:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6894:44:15"},"returnParameters":{"id":7701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7722,"src":"6962:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7699,"name":"uint256","nodeType":"ElementaryTypeName","src":"6962:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6961:9:15"},"scope":7872,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7856,"nodeType":"FunctionDefinition","src":"7468:1525:15","nodes":[],"body":{"id":7855,"nodeType":"Block","src":"7612:1381:15","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7736,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"7622:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7737,"name":"MAX_VAL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7272,"src":"7640:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7622:25:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7746,"nodeType":"IfStatement","src":"7618:120:15","trueBody":{"id":7745,"nodeType":"Block","src":"7649:89:15","statements":[{"errorCall":{"arguments":[{"id":7742,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"7715:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7739,"name":"IEncodedLengthsErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"7664:21:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEncodedLengthsErrors_$8578_$","typeString":"type(contract IEncodedLengthsErrors)"}},"id":7741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7686:28:15","memberName":"EncodedLengths_InvalidLength","nodeType":"MemberAccess","referencedDeclaration":8577,"src":"7664:50:15","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":7743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7664:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7744,"nodeType":"RevertStatement","src":"7657:74:15"}]}},{"assignments":[7748],"declarations":[{"constant":false,"id":7748,"mutability":"mutable","name":"rawEncodedLengths","nameLocation":"7752:17:15","nodeType":"VariableDeclaration","scope":7855,"src":"7744:25:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7747,"name":"uint256","nodeType":"ElementaryTypeName","src":"7744:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7756,"initialValue":{"arguments":[{"arguments":[{"id":7753,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7726,"src":"7802:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":7751,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"7780:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7795:6:15","memberName":"unwrap","nodeType":"MemberAccess","src":"7780:21:15","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":7754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7780:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7772:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7749,"name":"uint256","nodeType":"ElementaryTypeName","src":"7772:7:15","typeDescriptions":{}}},"id":7755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7772:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7744:74:15"},{"assignments":[7758],"declarations":[{"constant":false,"id":7758,"mutability":"mutable","name":"accumulator","nameLocation":"7881:11:15","nodeType":"VariableDeclaration","scope":7855,"src":"7873:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7757,"name":"uint256","nodeType":"ElementaryTypeName","src":"7873:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7762,"initialValue":{"arguments":[{"id":7760,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7726,"src":"7901:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"id":7759,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7691,"src":"7895:5:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_uint256_$","typeString":"function (EncodedLengths) pure returns (uint256)"}},"id":7761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:21:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7873:43:15"},{"assignments":[7764],"declarations":[{"constant":false,"id":7764,"mutability":"mutable","name":"currentValueAtIndex","nameLocation":"7930:19:15","nodeType":"VariableDeclaration","scope":7855,"src":"7922:27:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7763,"name":"uint256","nodeType":"ElementaryTypeName","src":"7922:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7769,"initialValue":{"arguments":[{"id":7766,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7726,"src":"7960:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":7767,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7728,"src":"7976:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":7765,"name":"atIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7722,"src":"7952:7:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":7768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7952:30:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7922:60:15"},{"id":7788,"nodeType":"UncheckedBlock","src":"8046:216:15","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7770,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"8068:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":7771,"name":"currentValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7764,"src":"8087:19:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8068:38:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":7786,"nodeType":"Block","src":"8185:71:15","statements":[{"expression":{"id":7784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7780,"name":"accumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7758,"src":"8195:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7781,"name":"currentValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7764,"src":"8210:19:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7782,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"8232:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8210:37:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8195:52:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7785,"nodeType":"ExpressionStatement","src":"8195:52:15"}]},"id":7787,"nodeType":"IfStatement","src":"8064:192:15","trueBody":{"id":7779,"nodeType":"Block","src":"8108:71:15","statements":[{"expression":{"id":7777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7773,"name":"accumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7758,"src":"8118:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7774,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"8133:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7775,"name":"currentValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7764,"src":"8151:19:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8133:37:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8118:52:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7778,"nodeType":"ExpressionStatement","src":"8118:52:15"}]}}]},{"assignments":[7790],"declarations":[{"constant":false,"id":7790,"mutability":"mutable","name":"offset","nameLocation":"8389:6:15","nodeType":"VariableDeclaration","scope":7855,"src":"8381:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7789,"name":"uint256","nodeType":"ElementaryTypeName","src":"8381:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7791,"nodeType":"VariableDeclarationStatement","src":"8381:14:15"},{"id":7800,"nodeType":"UncheckedBlock","src":"8401:61:15","statements":[{"expression":{"id":7798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7792,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"8419:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7793,"name":"ACC_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"8428:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7794,"name":"VAL_BITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"8439:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7795,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7728,"src":"8450:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8439:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8428:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8419:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7799,"nodeType":"ExpressionStatement","src":"8419:36:15"}]},{"assignments":[7802],"declarations":[{"constant":false,"id":7802,"mutability":"mutable","name":"mask","nameLocation":"8557:4:15","nodeType":"VariableDeclaration","scope":7855,"src":"8549:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7801,"name":"uint256","nodeType":"ElementaryTypeName","src":"8549:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7813,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":7807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8577:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":7806,"name":"uint40","nodeType":"ElementaryTypeName","src":"8577:6:15","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":7805,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8572:4:15","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":7809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8585:3:15","memberName":"max","nodeType":"MemberAccess","src":"8572:16:15","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint40","typeString":"uint40"}],"id":7804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8564:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7803,"name":"uint256","nodeType":"ElementaryTypeName","src":"8564:7:15","typeDescriptions":{}}},"id":7810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8564:25:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":7811,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"8593:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8564:35:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8549:50:15"},{"expression":{"id":7829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7814,"name":"rawEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7748,"src":"8678:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7815,"name":"rawEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7748,"src":"8699:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":7824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"8719:26:15","subExpression":{"arguments":[{"expression":{"arguments":[{"id":7820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8733:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":7819,"name":"uint56","nodeType":"ElementaryTypeName","src":"8733:6:15","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":7818,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8728:4:15","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8728:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":7822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8741:3:15","memberName":"max","nodeType":"MemberAccess","src":"8728:16:15","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint56","typeString":"uint56"}],"id":7817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8720:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7816,"name":"uint256","nodeType":"ElementaryTypeName","src":"8720:7:15","typeDescriptions":{}}},"id":7823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8720:25:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:46:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7826,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8698:48:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":7827,"name":"accumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7758,"src":"8749:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8698:62:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8678:82:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7830,"nodeType":"ExpressionStatement","src":"8678:82:15"},{"expression":{"id":7845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7831,"name":"rawEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7748,"src":"8841:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7832,"name":"rawEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7748,"src":"8862:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":7834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"8882:5:15","subExpression":{"id":7833,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7802,"src":"8883:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8862:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7836,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8861:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7837,"name":"newValueAtIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"8893:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":7838,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"8912:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8893:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7840,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8892:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":7841,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7802,"src":"8922:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8892:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":7843,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8891:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8861:66:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8841:86:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7846,"nodeType":"ExpressionStatement","src":"8841:86:15"},{"expression":{"arguments":[{"arguments":[{"id":7851,"name":"rawEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7748,"src":"8969:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8961:7:15","typeDescriptions":{}}},"id":7852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:26:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7847,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"8941:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8956:4:15","memberName":"wrap","nodeType":"MemberAccess","src":"8941:19:15","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":7853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8941:47:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":7735,"id":7854,"nodeType":"Return","src":"8934:54:15"}]},"documentation":{"id":7723,"nodeType":"StructuredDocumentation","src":"7104:361:15","text":" @notice Set a counter at a specific index in EncodedLengths.\n @dev Updates a value at a specific index and updates the accumulator field.\n @param encodedLengths The encoded lengths to modify.\n @param index The index to set.\n @param newValueAtIndex The new value to set at the given index.\n @return The modified EncodedLengths."},"implemented":true,"kind":"function","modifiers":[],"name":"setAtIndex","nameLocation":"7477:10:15","parameters":{"id":7731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7726,"mutability":"mutable","name":"encodedLengths","nameLocation":"7508:14:15","nodeType":"VariableDeclaration","scope":7856,"src":"7493:29:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7725,"nodeType":"UserDefinedTypeName","pathNode":{"id":7724,"name":"EncodedLengths","nameLocations":["7493:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"7493:14:15"},"referencedDeclaration":7251,"src":"7493:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":7728,"mutability":"mutable","name":"index","nameLocation":"7534:5:15","nodeType":"VariableDeclaration","scope":7856,"src":"7528:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7727,"name":"uint8","nodeType":"ElementaryTypeName","src":"7528:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7730,"mutability":"mutable","name":"newValueAtIndex","nameLocation":"7553:15:15","nodeType":"VariableDeclaration","scope":7856,"src":"7545:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7729,"name":"uint256","nodeType":"ElementaryTypeName","src":"7545:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7487:85:15"},"returnParameters":{"id":7735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7856,"src":"7596:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7733,"nodeType":"UserDefinedTypeName","pathNode":{"id":7732,"name":"EncodedLengths","nameLocations":["7596:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"7596:14:15"},"referencedDeclaration":7251,"src":"7596:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"7595:16:15"},"scope":7872,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7871,"nodeType":"FunctionDefinition","src":"9195:134:15","nodes":[],"body":{"id":7870,"nodeType":"Block","src":"9274:55:15","nodes":[],"statements":[{"expression":{"arguments":[{"id":7867,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7860,"src":"9309:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":7865,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"9287:14:15","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":7866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9302:6:15","memberName":"unwrap","nodeType":"MemberAccess","src":"9287:21:15","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":7868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9287:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7864,"id":7869,"nodeType":"Return","src":"9280:44:15"}]},"documentation":{"id":7857,"nodeType":"StructuredDocumentation","src":"8997:195:15","text":" @notice Unwrap EncodedLengths to its raw bytes32 representation.\n @param encodedLengths The encoded lengths to unwrap.\n @return The raw bytes32 value of the EncodedLengths."},"implemented":true,"kind":"function","modifiers":[],"name":"unwrap","nameLocation":"9204:6:15","parameters":{"id":7861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7860,"mutability":"mutable","name":"encodedLengths","nameLocation":"9226:14:15","nodeType":"VariableDeclaration","scope":7871,"src":"9211:29:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":7859,"nodeType":"UserDefinedTypeName","pathNode":{"id":7858,"name":"EncodedLengths","nameLocations":["9211:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"9211:14:15"},"referencedDeclaration":7251,"src":"9211:14:15","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"9210:31:15"},"returnParameters":{"id":7864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7863,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7871,"src":"9265:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9265:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9264:9:15"},"scope":7872,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"EncodedLengthsInstance","contractDependencies":[],"contractKind":"library","documentation":{"id":7670,"nodeType":"StructuredDocumentation","src":"5810:259:15","text":" @title EncodedLengths Instance Library\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice Instance functions for handling EncodedLengths.\n @dev Offers decoding, extracting, and setting functionalities for EncodedLengths."},"fullyImplemented":true,"linearizedBaseContracts":[7872],"name":"EncodedLengthsInstance","nameLocation":"6078:22:15","scope":7873,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":15}