h)gVT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Q R S T U V W X Y Z [ \ ] ^ _ ` a b c defghijklmnopqrstuvwxyz{|}~                    !!!!!!!"""""""""""###########$$$$$$$$$%&&&&&'''''''''''''''''''''(0.5.0) Safe-Inferred)1<=?  Safe-Inferred )1<=?;binrep"A hex bytestring looks like this: 00 01 89 8a FEff. You can mix and match capitalization and spacing, but I prefer to space each byte, full caps.binrepParse a byte formatted as two hex digits e.g. EF. You _must_ provide both nibbles e.g. 0F, not F. They cannot be spaced e.g. E F is invalid.Returns a value 0-255, so can fit in any Num type that can store that.binrepPretty print to default format  00 12 AB FF': space between each byte, all caps.This format I consider most human readable. I prefer caps to draw attention to this being data instead of text (you don't see that many capital letters packed together in prose).binrep!Pretty print to "compact" format 0012abff (often output by hashers).    Safe-Inferred )1<=? binrep+Put with inlined checks via an environment.binrep:Attempt to serialize to binary with the given environment.!binrepSerialize to binary.#binrepRun the serializer.%binrep%Serialize a term of the non-sum type a via its  instance.&binrep!Serialize a term of the sum type a via its  instance."You must provide a serializer for a's constructors. This is regrettably inefficient due to having to use s. Alas. Do write your own instance if you want better performance!'binrepHelper for wrapping a BinRep into a  BinRepWith (for encoding).(binrep.Run the serializer with the given environment.+binrepSerialize the bytestring as-is.Careful -- the only way you're going to be able to parse this is to read until EOF.-binrepSerialize each element in order. No length indicator, so parse until either error or EOF. Usually not what you want, but sometimes used at the "top" of binary formats..binrepImpossible to serialize .  !"#$%&'( " !#$%&'( Safe-Inferred )1<=?1binrep Byte order.2binrep;little endian, MSB last. e.g. most processor architectures3binrep2big endian, MSB first. e.g. most network protocols132132 Safe-Inferred )1<=?9binrep Decode a  ByteString to  with an explicit encoding.;This is intended to be used with visible type applications.:binrepbinrepHelper for decoding a = to a  tagged with its encoding.?binrepRun an unsafe decoder safely. Copied from Data.Text.Encoding.decodeUtf8', so should be bulletproof?89:;<=>?=<:;89>? Safe-Inferred )1<=?<AbinrepAny  value is always valid UTF-8.@@ Safe-Inferred )1<=?EbinrepAny  value is always valid UTF-32.DD Safe-Inferred )1<=?KbinrepAny  value is always valid UTF-16.JJ  Safe-Inferred )1<=?Qbinrep Encode some + to the given character set using text-icu.No guarantees about correctness. Encodings are weird. e.g. Shift JIS's yen/backslash problem is apparently to do with OSs treating it differently. Expects a = that is confirmed valid for converting to the character set.The charset must be valid, or it's exception time. See text-icu.WbinrepTODO Unsafely assume all s are valid Shift-JIS.PQRSTPQRST  Safe-Inferred")1<=?Xbinrep7-bitZbinrep: must be validated if you want to permit 7-bit ASCII only.TODO there should be a MUCH faster check here in text-2.0. text-short has it, text doesn't yet. see: *https://github.com/haskell/text/issues/496\binrepWe reuse UTF-8 encoding for ASCII, since it is a subset of UTF-8.XYXY  Safe-Inferred )1<=? S]binrepEncode some validated text.^binrepEncode some text to a bytestring, asserting that the resulting value is valid for the requested bytestring representation.;This is intended to be used with visible type applications:+let Right t = refine @UTF8 (Text.pack "hi"):t tt :: AsText UTF8 let Right bs = encodeToRep @'C t:t bsbs :: Refined 'C Bytes<:;]^89@XYJDPRTQS<:;]^89  Safe-Inferred )1<=?!m`binrep Convert some  i where i >= 0 to a .,This is intended for wrapping the output of  functions.*underflows if you call it with a negative  :)_`a_`a  Safe-Inferred )1<=?#~bbinrepCommon type error string for when you attempt to use a binrep instance at a sum data type GHC is asked to derive a non-sum instance, but the data type in question turns out to be a sum data type.No need to add the data type name here, since GHC's context includes the surrounding instance declaration.cbinrepCommon type error string for when you attempt to use a binrep instance at an empty data type (e.g. )*, +,).bccb Safe-Inferred )1<=?$fbinrepI don't know how to pattern match in types without writing type families.defghijjihgfed Safe-Inferred )1<=?&nkbinrepCommon type error string for when GHC is asked to derive a sum instance, but the data type in question turns out to be a non-sum data type.No need to add the data type name here, since GHC's context includes the surrounding instance declaration.lbinrepCommon type error string for when GHC is asked to derive a non-sum instance, but the data type in question turns out to be a sum data type.No need to add the data type name here, since GHC's context includes the surrounding instance declaration.kllk Safe-Inferred)1<=?, mbinrep-Instructions on how to perform a sized write.The q in p6 must write the _exact_ number of bytes specified in o$. Otherwise, your computer explodes.qbinrepUnboxed poke operation.)A newtype allows us a monoidal interface.sbinrep>Write at an offset from an address and return the next offset.6The returned offset must be after the argument offset.TODO I use that output order because it matches IO. Probs doesn't matter.tbinrepTODO inner poke typeTODO can I change this to Ptr Word8 -> IO (Ptr Word8) without any performance loss? it's the same underneath newtypes and datas. ; is a data rather than a newtype, but IO is just a newtype.?I originally did this to beat ptr-poker, but idk. Now doubtful.ubinrep Construct a q.vbinrep.Allocate a buffer of the given size and run a q over it.The q must fill the buffer exactly. If it goes under, you should get some random garbage at the end. If it goes over, your computer will probably explode.xbinrep Construct a m.zbinrep The empty q simply returns its arguments.{binrep Sequence two qs left-to-right.|binrep,Serialize and show the resulting ByteString.}binrep The empty m is the empty q, which writes zero bytes.~binrep Sequence the qs, sum the sizes. mponqsrtuvwxy tqsruvwmponxy Safe-Inferred)1<=?,e Safe-Inferred)-1<=?6binrepParse from binary.binrepParse error parsing prefix tag.binrep7Unable to match a constructor to the parsed prefix tag.binrep2A generic context layer for a parse error of type e.Recursive: parse errors occurring in fields are wrapped up here. (Those errors may also have a generic context layer.)Making this explicitly recursive may seem strange, but it clarifies that this data type is to be seen as a layer over a top-level type.binrep1Parse error relating to sum types (constructors).binrep#Parse error in a constructor field.binrepexpected first, got secondbinrepexpected first, got secondbinrepexpected first, got secondbinrep known failbinrepparse fail (where you parse a larger object, then a smaller one in it)binrep#ran out of input, needed precisely n bytes for this part (n > 0) Actually a  , but we use 0 because that's what flatparse uses internally.binrep$Parse error with no further context.binrep!Somehow, we got two parse errors.I have a feeling that seeing this indicates a problem in your code.binrep(Parse error decorated with generic info.)Should not be set except by library code.binrepStructured parse error.binrepUnhandled parse error.>You get this if you don't change a flatparse fail to an error.)Should not be set except by library code.binrep:Parse. On parse error, coat it in a generic context layer.binrep Signed byte.binrepUnsigned byte.binrepReturn the rest of the input.A plain unannotated bytestring isn't very useful -- you'll usually want to null-terminate or length-prefix it.Note that this _does_ perform work: we make a new bytestring so we don't rely on the input bytestring. To use the input bytestring directly, see Binrep.Type.Thin.binrepParse elements until EOF. Sometimes used at the "top" of binary formats.binrepParse tuples left-to-right.binrepUnit type parses nothing.binrep3Parse a bytestring and... immediate reserialize it.Note that this _does_ perform work: we make a new bytestring so we don't rely on the input bytestring. To use the input bytestring directly, see Binrep.Type.Thin.binrepconstructors testedbinrepprettified prefix tagbinrepconstructor namebinrepfield record name (if present)binrepfield index in constructorbinrepfield parse errorbinrepdata type name  Safe-Inferred)1<=?7U Safe-Inferred )1<=?7 Safe-Inferred)1<=?8- Safe-Inferred)1<=?8w Safe-Inferred)1<=?:binrep'Efficiently reify a list of type-level % bytes to to a bytestring builder.Attempting to reify a ) larger than 255 results in a type error.This is about as far as one should go for pointless performance here, I should think. Safe-Inferred)1<=?<>binrepTODOIn a perfect world, functions like this would not exist. But this is not a perfect world. s suck for a number of reasons. One big one is that they are horrendous to serialize. Worse, as of GHC 9.6, type-level strings only reflect to ?. This function does the best it can to efficiently serialize s. It would be much easier and probably similarly fast to go through 2 instead, but who doesn't like a little challenge? Safe-Inferred )1<=?<- Safe-Inferred )1<=?< Safe-Inferred )1<=?= Safe-Inferred)1<=?@binrep2Deriving via wrapper for types which may derive a ! instance through an existing  instance.Examples of such types include machine integers, and explicitly-sized types (e.g. Binrep.Type.Sized).binrep6Measure the byte length of a term of the non-sum type a via its  instance.binrep2Measure the byte length of a term of the sum type a via its  instance.You must provide a function to obtain the byte length for the prefix tag, via inspecting the reified constructor names. This is regrettably inefficient. Alas. Do write your own instance if you want better performance!binrep6Reify a type's constant byte length to the term level.binrep)Length of a bytestring is fairly obvious.binrep0_O(n)_ Sum the length of each element of a list.binrep Sum tuples.binrepUnit type has length 0.   Safe-Inferred )1<=?C*binrep%Serialize a term of the non-sum type a via its  instance.binrep!Serialize a term of the sum type a via its  instance."You must provide a serializer for a's constructors. This is regrettably inefficient due to having to use s. Alas. Do write your own instance if you want better performance!binrep)Unit type serializes to nothing. How zen.binrepFairly useless because q doesn't have a  instance. Safe-Inferred )1<=?Cbinrep Identity newtype for using with  DerivingVia. Safe-Inferred)1<=?H binrep:Largest representable value for a machine integer made of n bits. If signed '?, twos complement is used, so negative range has 1 extra value.binrepGrouping for matching a signedness and size to a Haskell integer data type.binrepA type tagged with the endianness (byte order) to use when serializing.Intended to be used to wrap existing types which do not otherwise expose endianness, namely the machine integers ,  etc. As such, it derives various relevant type classes using the wrapped type.May be considered a restricted ./ (from the tagged package).binrepDiscard endianness information.binrepMachine integer sign.8Signed integers use two's complement for representation.binrepunsignedbinrepsigned (two's complement)binrepAsk for a minimum length before running the given parser and wrapping the result in .binrep+Endianness doesn't matter for single bytes.binrep+Endianness doesn't matter for single bytes.binrep+Endianness doesn't matter for single bytes.binrep+Endianness doesn't matter for single bytes.   Safe-Inferred )1<=?Kqbinrep$Types which may be used as prefixes.'Generally, these will be integer types.Note that this is separate to binary representation, so endianness is irrelevant.TODO oops can't use .s everywhere because of overflow :'( that's OKbinrepused by put. guaranteed that it fits from refined. that is, lenToPfx <= Max.binrepused by get. better not lie.binrep3Length prefixing with the unit means a length of 0.This is the only sensible case. 1 doesn't work because refining checks <=.I think there are laws here, where using this is the same as doing nothing at all.0 Safe-Inferred )1<=?K,  Safe-Inferred )1<=?LE! Safe-Inferred ")1<=?LbinrepEssentially reflects a  type to ." Safe-Inferred")1<=?M# Safe-Inferred")1<=?MQ$ Safe-Inferred ")1<=?ObinrepNull-terminated data. Arbitrary length terminated with a null byte. Permits no null bytes inside the data.binrep#Parse a null-terminated bytestring.binrepSerialization of null-terminated data may be defined generally using the data's underlying serializer.binrep4Null-terminated data may not contain any null bytes.% Safe-Inferred )1<=?PbinrepTurn a constructor name into a prefix tag by adding a null terminator.Not common in binary data representations, but safe and useful for debugging.The refine force is safe under the assumption that Haskell constructor names are UTF-8 with no null bytes allowed. Fairly certain that's true.& Safe-Inferred ")1<=?R<binrep:A type which is to be null-padded to a given total length. Given some a ::  n a, it is guaranteed that  a   @n thus  @n   a  0 That is, the serialized stored data will not be longer than the total length.The binrep instances are careful not to construct bytestrings unnecessarily.' Safe-Inferred )1<=?V,binrep!Types which define a magic value.binrep*How to turn the type into a list of bytes.binrepA singleton data type representing a "magic number" (a constant bytestring) via a phantom type.The phantom type variable unambiguously defines a constant bytestring. A handful of types are supported for using magics conveniently, e.g. for pure ASCII magics, you may use a  type-level string.binrep&Strengthen the unit to some 'Magic a'.binrepWeaken a 'Magic a' to the unit. Perhaps you prefer pattern matching on () over Magic, or wish a weak type to be fully divorced from its binrep origins.binrepType-level symbols are turned into their Unicode codepoints - but multibyte characters aren't handled, so they'll simply be overlarge bytes, which will fail further down.binrepType-level naturals go as-is. (Make sure you don't go over 255, though!)  123456789:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    PQYZ[PQSUVYZ[]\^                    !!!!!!!"""""""""""###########$$$$$$$$$%&&&&&'''''''''''''''''''''+)*--------binrep-0.5.0-inplace Binrep.CBLenBinrep.Extra.HexByteStringBinrep.Put.MasonBinrep.Type.CommonBinrep.Type.Text.InternalBinrep.Type.Text.Encoding.Utf8Binrep.Type.Text.Encoding.Utf32Binrep.Type.Text.Encoding.Utf16"Binrep.Type.Text.Encoding.ShiftJisBinrep.Type.Text.Encoding.AsciiBinrep.Type.Text Binrep.UtilBinrep.Util.ClassBinrep.CBLen.GenericBinrep.Util.GenericBytezap Bytezap.BytesBinrep.Get.Flatparse Bytezap.Int Bytezap.ClassBytezap.Poke.BytesBytezap.Poke.IntBinrep.Type.Byte Bytezap.TextData.Aeson.Extra.SizedVector Util.TypeNatsBinrep.BLen.SimpleBinrep.Put.Bytezap Binrep.ViaBinrep.Type.IntBinrep.Type.PrefixBinrep.Type.ThinBinrep.Type.SizedBinrep.Type.Prefix.SizeBinrep.Type.Prefix.CountBinrep.Type.NullTerminatedBinrep.GenericBinrep.Type.NullPaddedBinrep.Type.Magicbinrep Data.VoidVoid GHC.GenericsV1 Paths_binrep Data.TaggedTaggedBinrepIsCBLenCBLen$fIsCBLenTYPEInt64$fIsCBLenTYPEWord64$fIsCBLenTYPEInt32$fIsCBLenTYPEWord32$fIsCBLenTYPEInt16$fIsCBLenTYPEWord16$fIsCBLenTYPEInt8$fIsCBLenTYPEWord8$fIsCBLenTYPE(,)$fIsCBLenTYPE() HexByteStringHexunHexparseHexByteString parseHexByteprettyHexByteString prettyHexByteprettyHexByteStringCompact $fToJSONHex $fFromJSONHex $fShowHex $fToJSONHex0$fFromJSONHex0 $fShowHex0 $fGenericHex $fDataHex$fEqHexPutWithputWithPutputBuilderrunPut runBuilderputGenericNonSum putGenericSum putWithout runPutWith $fPutInt8 $fPutWord8$fPutByteString$fPut(,)$fPut[] $fPutVoid$fGenericFoldMapBuilderFor $fPutWithr[] EndiannessLEBE$fGenericEndianness$fDataEndianness$fShowEndianness$fEqEndiannessDecodedecodeEncodeencode'AsTextBytes decodeTextwrapUnsafeDecoderUtf8$fPredicateTYPEUtf8Text$fDecodeTYPEUtf8$fEncodeTYPEUtf8Utf32$fPredicateTYPEUtf32Text$fDecodeTYPEUtf32$fDecodeTYPEUtf320$fEncodeTYPEUtf32$fEncodeTYPEUtf320Utf16$fPredicateTYPEUtf16Text$fDecodeTYPEUtf16$fDecodeTYPEUtf160$fEncodeTYPEUtf16$fEncodeTYPEUtf160ShiftJisencodeViaTextICUencodeViaTextICU'decodeViaTextICUdecodeViaTextICU'$fDecodeTYPEShiftJis$fEncodeTYPEShiftJis$fPredicateTYPEShiftJisTextAsciicatchErrorCall$fPredicateTYPEAsciiText$fDecodeTYPEAscii$fEncodeTYPEAsciiencode encodeToReptshow posIntToNatnatVal''ENoSumENoEmptyNothingXJustXGCBLenCaseMaybeMaybeEq GCBLenSumGCBLen CBLenGenericEUnexpectedNonSumEUnexpectedSumWrite writeSize writePokePokeunPokePoke#pokerunPokewrapPokewriterunWrite $fMonoidPoke$fSemigroupPoke $fShowWrite $fMonoidWrite$fSemigroupWrite byteStringpokeForeignPtrmemcpyForeignPtrpokeByteArray#pokeByteReplicateGetget EGenericSumEGenericSumTagEGenericSumTagNoMatchEGeneric EGenericFieldEBase EExpectedByte EOverlong EExpected EFailNamed EFailParseERanOutEEFailGettereBasegetEBaserunGet runGettergetGenericNonSum getGenericSum$fGenericTraverseSumParserT $fGetInt8 $fGetWord8$fGetByteString$fGet[]$fGet(,)$fGet() $fGetWrite $fGetEither $fGetVoid$fGenericTraverseParserT $fEqEMiddle $fShowEMiddle$fGenericEMiddle$fEqE$fShowE $fGenericE $fEqEGeneric$fShowEGeneric$fGenericEGeneric$fEqEGenericSum$fShowEGenericSum$fGenericEGenericSum $fEqEBase $fShowEBase$fGenericEBasew8w16w32w64w16lew16bew32lew32bew64lew64bei8i16i32i64 byteSwapI16 byteSwapI32 byteSwapI64i16lei16bei32lei32bei64lei64beint# $fPutInt64 $fPutInt32 $fPutInt16 $fPutWord64 $fPutWord32 $fPutWord16 $fPutWriteByteValbyteVal ReifyBytes reifyBytes$fReifyBytes[] $fByteVal255 $fByteVal254 $fByteVal253 $fByteVal252 $fByteVal251 $fByteVal250 $fByteVal249 $fByteVal248 $fByteVal247 $fByteVal246 $fByteVal245 $fByteVal244 $fByteVal243 $fByteVal242 $fByteVal241 $fByteVal240 $fByteVal239 $fByteVal238 $fByteVal237 $fByteVal236 $fByteVal235 $fByteVal234 $fByteVal233 $fByteVal232 $fByteVal231 $fByteVal230 $fByteVal229 $fByteVal228 $fByteVal227 $fByteVal226 $fByteVal225 $fByteVal224 $fByteVal223 $fByteVal222 $fByteVal221 $fByteVal220 $fByteVal219 $fByteVal218 $fByteVal217 $fByteVal216 $fByteVal215 $fByteVal214 $fByteVal213 $fByteVal212 $fByteVal211 $fByteVal210 $fByteVal209 $fByteVal208 $fByteVal207 $fByteVal206 $fByteVal205 $fByteVal204 $fByteVal203 $fByteVal202 $fByteVal201 $fByteVal200 $fByteVal199 $fByteVal198 $fByteVal197 $fByteVal196 $fByteVal195 $fByteVal194 $fByteVal193 $fByteVal192 $fByteVal191 $fByteVal190 $fByteVal189 $fByteVal188 $fByteVal187 $fByteVal186 $fByteVal185 $fByteVal184 $fByteVal183 $fByteVal182 $fByteVal181 $fByteVal180 $fByteVal179 $fByteVal178 $fByteVal177 $fByteVal176 $fByteVal175 $fByteVal174 $fByteVal173 $fByteVal172 $fByteVal171 $fByteVal170 $fByteVal169 $fByteVal168 $fByteVal167 $fByteVal166 $fByteVal165 $fByteVal164 $fByteVal163 $fByteVal162 $fByteVal161 $fByteVal160 $fByteVal159 $fByteVal158 $fByteVal157 $fByteVal156 $fByteVal155 $fByteVal154 $fByteVal153 $fByteVal152 $fByteVal151 $fByteVal150 $fByteVal149 $fByteVal148 $fByteVal147 $fByteVal146 $fByteVal145 $fByteVal144 $fByteVal143 $fByteVal142 $fByteVal141 $fByteVal140 $fByteVal139 $fByteVal138 $fByteVal137 $fByteVal136 $fByteVal135 $fByteVal134 $fByteVal133 $fByteVal132 $fByteVal131 $fByteVal130 $fByteVal129 $fByteVal128 $fByteVal127 $fByteVal126 $fByteVal125 $fByteVal124 $fByteVal123 $fByteVal122 $fByteVal121 $fByteVal120 $fByteVal119 $fByteVal118 $fByteVal117 $fByteVal116 $fByteVal115 $fByteVal114 $fByteVal113 $fByteVal112 $fByteVal111 $fByteVal110 $fByteVal109 $fByteVal108 $fByteVal107 $fByteVal106 $fByteVal105 $fByteVal104 $fByteVal103 $fByteVal102 $fByteVal101 $fByteVal100 $fByteVal99 $fByteVal98 $fByteVal97 $fByteVal96 $fByteVal95 $fByteVal94 $fByteVal93 $fByteVal92 $fByteVal91 $fByteVal90 $fByteVal89 $fByteVal88 $fByteVal87 $fByteVal86 $fByteVal85 $fByteVal84 $fByteVal83 $fByteVal82 $fByteVal81 $fByteVal80 $fByteVal79 $fByteVal78 $fByteVal77 $fByteVal76 $fByteVal75 $fByteVal74 $fByteVal73 $fByteVal72 $fByteVal71 $fByteVal70 $fByteVal69 $fByteVal68 $fByteVal67 $fByteVal66 $fByteVal65 $fByteVal64 $fByteVal63 $fByteVal62 $fByteVal61 $fByteVal60 $fByteVal59 $fByteVal58 $fByteVal57 $fByteVal56 $fByteVal55 $fByteVal54 $fByteVal53 $fByteVal52 $fByteVal51 $fByteVal50 $fByteVal49 $fByteVal48 $fByteVal47 $fByteVal46 $fByteVal45 $fByteVal44 $fByteVal43 $fByteVal42 $fByteVal41 $fByteVal40 $fByteVal39 $fByteVal38 $fByteVal37 $fByteVal36 $fByteVal35 $fByteVal34 $fByteVal33 $fByteVal32 $fByteVal31 $fByteVal30 $fByteVal29 $fByteVal28 $fByteVal27 $fByteVal26 $fByteVal25 $fByteVal24 $fByteVal23 $fByteVal22 $fByteVal21 $fByteVal20 $fByteVal19 $fByteVal18 $fByteVal17 $fByteVal16 $fByteVal15 $fByteVal14 $fByteVal13 $fByteVal12 $fByteVal11 $fByteVal10 $fByteVal9 $fByteVal8 $fByteVal7 $fByteVal6 $fByteVal5 $fByteVal4 $fByteVal3 $fByteVal2 $fByteVal1 $fByteVal0 $fReifyBytes:textUtf8charUtf8 stringUtf8$fFromJSONVector$fToJSONVector natValIntCBLenly unCBLenlyBLen'getBLen'BLenblenblenGenericNonSumblenGenericSumcblen$fBLenByteString$fBLen[] $fBLen(,)$fBLen() $fBLenWrite $fBLenEither $fBLenVoid$fGenericFoldMapBLen' $fBLenCBLenly$fSemigroupBLen' $fMonoidBLen' $fBLenInt64 $fBLenWord64 $fBLenInt32 $fBLenWord32 $fBLenInt16 $fBLenWord16 $fBLenInt8 $fBLenWord8$fPut() $fPutPoke $fPutEither$fGenericFoldMapPokeBinreply unBinreply$fShowBinreply$fIsCBLenTYPEBinreply$fBLenBinreply $fPutBinreply$fPutBinreply0 $fGetBinreplyIMaxIRepEndianunEndianISignUIflatparseParseEndianMin $fGetEndian $fPutEndian $fGetEndian0 $fPutEndian0 $fGetEndian1 $fPutEndian1 $fGetEndian2 $fPutEndian2 $fGetEndian3 $fPutEndian3 $fGetEndian4 $fPutEndian4 $fGetEndian5 $fPutEndian5 $fGetEndian6 $fPutEndian6 $fGetEndian7 $fPutEndian7 $fGetEndian8 $fPutEndian8 $fGetEndian9 $fPutEndian9 $fGetEndian10 $fPutEndian10$fGenericEndian $fDataEndian $fShowEndian $fEqEndian $fOrdEndian$fBoundedEndian $fNumEndian $fEnumEndian $fRealEndian$fIntegralEndian$fIsCBLenTYPEEndian $fBLenEndian$fWeakenEndian$fStrengthenEndian$fToJSONEndian$fFromJSONEndian$fGenericISign $fDataISign $fShowISign $fEqISign $fGetEndian11 $fPutEndian11 $fGetEndian12 $fPutEndian12PrefixMaxlenToPfxpfxToLen$fPrefixWord32$fPrefixWord16 $fPrefixWord8 $fPrefix()$fPrefixEndianThinunThin $fGetThin $fGetThin0 $fGenericThin $fDataThin $fShowThin $fReadThin$fEqThin $fOrdThin$fSemigroupThin $fMonoidThin $fNFDataThin$fIsStringThin $fIsListThin $fBLenThin $fPutThin $fWeakenThin$fStrengthenThinSizedSize$fPredicateTYPESizea $fGetRefined $fPutRefined$fIsCBLenTYPERefined $fBLenRefinedGetSizegetSize SizePrefixed SizePrefix$fPredicateTYPESizePrefixa $fGetSizeThin$fGetSizeByteStringGetCountgetCount CountPrefixed CountPrefix$fPredicateTYPECountPrefixf $fPredicate1TYPETYPECountPrefixf $fPutRefined1$fBLenRefined1$fIsCBLenTYPERefined1 $fGetRefined1 $fGetCount[] NullCheck hasNoNullsNullTerminated NullTerminate$fNullCheckByteString$fPredicateTYPENullTerminateanullTermCstrPfxTag NullPaddedNullPad$fPredicateTYPENullPadaMagical MagicBytesSymbolAsCharList'SymbolAsCharListCharListUnicodeCodepointsSymbolUnicodeCodepointsLengthMagic$fStrengthenMagic $fWeakenMagic$fMagicalSymbolsym $fMagical[]ns $fGetMagic $fPutMagic$fIsCBLenTYPEMagic$fGenericMagic $fDataMagic $fShowMagic $fEqMagic $fBLenMagicbaseGenericGHC.BaseString text-2.0.2Data.Text.InternalTextghc-prim GHC.TypesInt ghc-bignumGHC.Num.NaturalNatural Data.FoldablelengthGHC.PtrPtrEAndgetWrapGenericversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDirGHC.IntInt32GHC.WordWord64 Data.Type.Ord<= GHC.TypeNats- GHC.Classes>=Symbol