h*4}1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd4.2.4.0 Safe-Inferred)*16P repa-convertRelates a storage format to the Haskell type of the value that is stored in that format. repa-convert)Get the type of a value with this format. repa-convert3Yield the number of separate fields in this format. repa-convertYield the minumum number of bytes that a value of this format will take up. Packing a value into this format is guaranteed to use at least this many bytes. This is exact for fixed-size formats. repa-convert;For fixed size formats, yield their size (length) in bytes.Yields e$ if this is not a fixed size format. repa-convert:Yield the maximum packed size of the value in this format.If  returns a size then  returns the same size.For variable length formats,  is an over-approximation. We allow the actual packed value to use less space, as it may not be possible to determine how much space it needs without actually packing it.Yields e when a collection of values is to be packed into a fixed length format, but the size of the collection does not match the format. Safe-Inferred)*16 p repa-convert3Packer wraps a function that can write to a buffer.  repa-convert:Takes start of buffer; failure action; and a continuation.We try to pack data into the given buffer. If packing succeeds then we call the continuation with a pointer to the next byte after the packed value, otherwise we call the failure action.  repa-convert Pack data into the given buffer.PRECONDITION: The buffer needs to be big enough to hold the packed data, otherwise you'll corrupt the heap (bad). Use  packedSize' to work out how big it needs to be.  repa-convertPacker to run. repa-convertStart of buffer. repa-convert/Pointer to the byte after the last one written.  Safe-Inferred)*16. repa-convertTakes pointers to the first byte in the buffer; the first byte after the buffer; a predicate to detect a field terminator; a failure action; and a continuation.The field terminator is used by variable length encodings where the length of the encoded data cannot be determined from the encoding itself.We try to unpack a value from the buffer. If unpacking succeeds then call the continuation with a pointer to the next byte after the unpacked value, and the value itself, otherwise call the failure action. repa-convert"Unpack data from the given buffer.PRECONDITION: The buffer must be at least the minimum size of the format (minSize). This allows us to avoid repeatedly checking for buffer overrun when unpacking fixed size format. If the buffer is not long enough then you'll get an indeterminate result (bad). repa-convertUnpacker to run. repa-convertSource buffer. repa-convertLength of source buffer. repa-convertDetect a field terminator. repa-convertUnpacked result, and pointer to the byte after the last one read.  Safe-Inferred)*16% repa-convert4Unpack a value from a buffer using the given format. repa-convert2Low level unpacking function for the given format. repa-convertClass of storage formats that can have values packed and unpacked from foreign bufferes. The methods are written using continuations to make it easier for GHC to optimise its core code when packing/unpacking many fields. repa-convert2Pack a value into a buffer using the given format. repa-convert0Low level packing function for the given format. repa-convertStorage format. repa-convertUnpacker for that format. repa-convert Data format. repa-convertStart of buffer. repa-convert*Pointer to first byte after end of buffer. repa-convertDetect a field terminator. repa-convertSignal failure. repa-convertAccept an unpacked value. repa-convertStorage format. repa-convertValue to pack. repa-convert!Packer that can write the value. repa-convert Data format. repa-convertValue to pack. repa-convertPointer to start of buffer. repa-convertSignal failure. repa-convert*Accept the address after the packed field.  Safe-Inferred)*16 repa-convertHuman-readable ASCII Double.When packing we use a fixed number of zeros after the decimal point, though when unpacking we allow a greater precision. repa-convertHuman-readable ASCII Double. repa-convertHuman-readable ASCII integer, using leading zeros to pad the encoding out to a fixed length. repa-convertHuman-readable ASCII Integer.  Safe-Inferred)*16uf repa-convertFormatting fields.  Safe-Inferred)*16 repa-convert4Variable length sequence of bytes, represented as a   . Safe-Inferred)*16  repa-convert1Maybe a raw sequence of bytes, or something else." repa-convert2Maybe a raw list of characters, or something else."# ! Safe-Inferred)*16 $ repa-convert!Big-endian 64-bit IEEE 754 float.& repa-convert!Big-endian 32-bit IEEE 754 float.( repa-convert!Big-endian 64-bit signed integer.* repa-convert Big-endian 64-bit unsigned word., repa-convert!Big-endian 32-bit signed integer.. repa-convert Big-endian 32-bit unsigned word.2 repa-convert Big-endian 32-bit unsigned word.4 repa-convert Big-endian 8-bit signed integer.6 repa-convertBig-endian 8-bit unsigned word.g repa-convertBitwise cast of h to i.The resulting i. contains the binary representation of the h-, rather than the integral part of its value.j repa-convert Inverse of doubleToFloat32k repa-convertBitwise cast of l to m.The resulting m. contains the binary representation of the l-, rather than the integral part of its value.n repa-convert Inverse of k67452301./,-*+()&'$% Safe-Inferred)*16Q8 repa-convert&Match an exact sequence of characters.: repa-convertVariable length string in double quotes, and standard backslash encoding of non-printable characters.< repa-convertLike >, but with a variable length.> repa-convertFixed length sequence of characters, represented as a (hated) Haskell o.'The runtime performance of the Haskell o is atrocious. You really shouldn't be using them for large data sets.When packing, the length of the provided string must match the width of the format, else packing will fail.When unpacking, the length of the result will be the width of the format.p repa-convert*Unpack a ascii text from the given buffer.q repa-convert&Unpack a string from the given buffer.p repa-convertFirst byte in buffer. repa-convertFirst byte after buffer. repa-convertDetect field deliminator.q repa-convertFirst byte in buffer. repa-convertFirst byte after buffer. repa-convertSignal failure. repa-convertEat an unpacked value. >?<=:;89p Safe-Inferred)*16@ repa-convertA particular ASCII string.@A Safe-Inferred)*16 B repa-convertVariable length string in double quotes, and standard backslash encoding of non-printable characters.D repa-convert/Variable length unicode text, represented as a  Data.Text thing.DEBC Safe-Inferred)*16$5r repa-convert*Precomputed information about this format.s repa-convert!Length of this format, in fields.t repa-convert(Minimum length of this format, in bytes.u repa-convertFixed size of this format.v repa-convert$Separating charater for this format.I repa-convert)Separate fields with the given character.*The separating character is un-escapable.  The format  (Sep ',') does NOT parse a CSV file according to the CSV specification:  "http://tools.ietf.org/html/rfc4180.The type is kept abstract as we cache some pre-computed values we use to unpack this format. Use G to make one.w repa-convertBranchless equality used to avoid compile-time explosion in size of core code. IJKFGHrxstuv Safe-Inferred)*16)k L repa-convertA single field in an object.y repa-convert*Precomputed information about this format.z repa-convert!Length of this format, in fields.{ repa-convert(Minimum length of this format, in bytes.| repa-convertFixed size of this format.} repa-convert$Resents the fields of a JSON object.R repa-convert5Format of a simple object format with labeled fields.S repa-convertMake an object format with the given labeled fields. For example: > let fmt = mkObject $ Field "index" IntAsc Nothing :*: Field "message" (VarCharString '-') Nothing :*: Field "value" (MaybeChars NULL+ DoubleAsc) (Just isJust) :*: () Packing this produces: > let Just str = packToString fmt (27 :*: "foo" :*: Nothing :*: ()) > putStrLn str > {"index":27,"message":"foo"} Note that the encodings that this format can generate are a superset of the JavaScript Object Notation (JSON). With the Repa format, the fields of an object can directly encode dates and other values, wheras in JSON these values must be represented by strings.~ repa-convertBranchless equality used to avoid compile-time explosion in size of core code. RQ}LMNOPS Safe-Inferred)*16*GT repa-convert/Human readable ASCII date in DDsMMsYYYY format.V repa-convert/Human readable ASCII date in YYYYsMMsDD format.VWTU Safe-Inferred)*16,X repa-convertClass of types that can be formatted in some default human readable ASCII way.Y repa-convert#The format for values of this type.Z repa-convert*Get the standard ASCII format for a value.)The element value itself is not demanded. repa-convert"Dates are formatted as YYYY-MM-DD. repa-convertStrings are formatted with double quotes and back-slash escaping of special characters. repa-convert)Doubles are formatted as base-10 decimal. repa-convertInts are formated in base-10. repa-convertEmpty tuples produce no output.XYZ Safe-Inferred)*16-i[ repa-convert!Append fields without separators.[\ Safe-Inferred)*16-XYZ@A"# !>?<=:;89DEBCVWTU67452301./,-&'*+()$%[\IJKFGHRQLMNOPSXYZ@A"# !>?<=:;89DEBCVWTU67452301./,-&'*+()$%[\IJKFGHRQLMNOPS Safe-Inferred)*16.     Safe-Inferred)*161K] repa-convert8Constrain the type of a value to match the given format.The value itself is not used.^ repa-convert?<=:;89DEBCVWTU67452301./,-&'*+()$%IJKFGHRQLMNOPYS]^_`abcd  ]^_`abcd   !!"#$$%&'()*+, - - . . / / 0 0 1 12233445566778899::;;<<==>>??@@AABBCCDDEFGHIJKKLMNOPQRRSSTUVWWXYZ[\]^_`ab cdefg`hijkefl`hmn`opqrstuvwxsyz{|}xP~ `h+repa-convert-4.2.4.0-7sC8PmjnVtF7zAYRDXGT5WData.Repa.Convert.FormatsData.Repa.Convert.FormatData.Repa.Convert repa-convert!Data.Repa.Convert.Internal.Format!Data.Repa.Convert.Internal.Packer#Data.Repa.Convert.Internal.Unpacker#Data.Repa.Convert.Internal.Packable Data.Repa.Convert.Format.NumericData.Repa.Convert.Format.FieldsData.Repa.Convert.Format.BytesData ByteStringData.Repa.Convert.Format.MaybeData.Repa.Convert.Format.BinaryData.Repa.Convert.Format.StringData.Repa.Convert.Format.UnitData.Repa.Convert.Format.TextData.Repa.Convert.Format.SepData.Repa.Convert.Format.ObjectData.Repa.Convert.Format.Date32Data.Repa.Convert.Format.AsciiData.Repa.Convert.Format.App*repa-scalar-4.2.4.0-A22Lmdwa0P1966tcd0EhDPData.Repa.Scalar.Product:*:FormatValue fieldCountminSize fixedSize packedSizePacker fromPackerunsafeRunPackerUnpacker fromUnpackerunsafeRunUnpacker UnpackableunpackunpackerPackablepackpackerDoubleFixedPack DoubleAscIntAsc0IntAscVarBytes MaybeBytes MaybeChars Float64be Float32beInt64beWord64beInt32beWord32beInt16beWord16beInt8beWord8be ExactChars VarCharStringVarCharsFixCharsUnitAsc VarTextStringVarText SepFormatmkSep takeSepCharSepSepNilSepConsField fieldName fieldFormat fieldInclude ObjectFormatObjectmkObject DDsMMsYYYY YYYYsMMsDD FormatAscii FormatAscii' formatAsciiApp forFormat listFormatpackToByteStringunpackFromByteString packToList8unpackFromList8 packToStringunpackFromStringbase GHC.MaybeNothing $fFormat:*: floatToWord32ghc-prim GHC.TypesFloatGHC.WordWord32 word32ToFloatdoubleToWord64DoubleWord64word64ToDoubleGHC.BaseStringunpackCharList unpackStringSepMeta smFieldCount smMinSize smFixedSize smSepChar zeroOrOne ObjectMeta omFieldCount omMinSize omFixedSize ObjectFields$fFormatAsciiDate32$fFormatAsciiList$fFormatAsciiDouble$fFormatAsciiInt$fFormatAscii()bytestring-0.11.5.2Data.ByteString.Internal.TypeWord8