!# t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None$'-.14;FHSX_`ak ' bytesmithA non-resumable parser. bytesmith%Fail with the provided error message. bytesmith"Combines the error messages using  when both parsers fail. bytesmith Error message None46; bytesmith:Slicing metadata (an offset and a length) accompanied by a value. This does not represent a slice into the value. This type is intended to be used as the result of an executed parser. In this context the slicing metadata describe a slice into to the array (or byte array) that from which the value was parsed. It is often useful to check the lengthl when a parser succeeds since a non-zero length indicates that there was additional unconsumed input. The offset4 is only ever needed to construct a new slice (via Bytes or  SmallVector) from the remaining input. bytesmithOffset into the array. bytesmithLength of the slice. bytesmith1The structured data that was successfully parsed. bytesmithThe result of running a parser. bytesmith,An error message indicating what went wrong. bytesmithDThe parsed value and the number of bytes remaining in parsed slice. None"$'-.14;FHSX_`adk#  bytesmithpGet the current offset into the chunk. Using this makes it possible to observe the internal difference between . that refer to equivalent slices. Be careful.  bytesmithReturn the byte array being parsed. This includes bytes that preceed the current offset and may include bytes that go beyond the length. This is somewhat dangerous, so only use this is you know what you're doing.  bytesmithMove the cursor back by nB bytes. Precondition: you must have previously consumed at least n bytes.  bytesmith|Set the position to the given index. Precondition: the index must be valid. It should be the result of an earlier call to  .  None'-.14;FHSX_`akZ  bytesmithiParse a slice of a byte array. This can succeed even if the entire slice was not consumed by the parser. bytesmith Variant of   that accepts an unsliced . bytesmith Variant of  L that allows the parser to be run as part of an existing effectful context. bytesmith,Lift an effectful computation into a parser. bytesmithInfix version of . bytesmithFAnnotate a parser. If the parser fails, the error will be returned. bytesmithRConsumes and returns the next byte in the input. Fails if no characters are left. bytesmith<Take while the predicate is matched. This is always inlined. bytesmithTake bytes until the specified byte is encountered. Consumes the matched byte as well. Fails if the byte is not present. Visually, the cursor advancement and resulting Bytes for takeTrailedBy 0x19 look like this:  0x10 0x13 0x08 0x15 0x19 0x23 0x17 | input |---->---->---->---->----| | cursor {----*----*----*----} | result bytes bytesmithlSkip all characters until the character from the is encountered and then consume the matching byte as well. bytesmithPTake the given number of bytes. Fails if there is not enough remaining input. bytesmith)Consume all remaining bytes in the input. bytesmith<Skip while the predicate is matched. This is always inlined. bytesmith-Fails if there is still more input remaining. bytesmith`Returns true if there are no more bytes in the input. Returns false otherwise. Always succeeds. bytesmith Convert a  parser to a  parser. bytesmith Convert a  (Int,Int) parser to a ( Int, Int ) parser.  bytesmith Convert a  parser to a T parser. Precondition: the argument parser only returns words less than 4294967296.! bytesmith Convert a ( Int, Int ) parser to a  (Int,Int) parser." bytesmith#There is a law-abiding instance of  Alternative for J. However, it is not terribly useful since error messages seldom have a ) instance. This function is a variant of <|>J that is right-biased in its treatment of error messages. Consequently, orElse lacks an identity. See  ,https://github.com/bos/attoparsec/issues/122attoparsec issue #122$ for more discussion of this topic., bytesmithOAugment a parser with the number of bytes that were consume while it executed.- bytesmithRun a parser in a delimited context, failing if the requested number of bytes are not available or if the delimited parser does not consume all input. This combinator can be understood as a composition of , , , and . It is provided as a single combinator because for convenience and because it is easy to make mistakes when manually assembling the aforementioned parsers. The pattern of prefixing an encoding with its length is common. This is discussed more in  ,https://github.com/bos/attoparsec/issues/129attoparsec issue #129. 'delimit e1 e2 n remaining === take e1 n. bytesmithReplicate a parser n5 times, writing the results into an array of length n. For Array and  SmallArray, this is lazy in the elements, so be sure the they result of the parser is evaluated appropriately to avoid unwanted thunks.- bytesmith/Error message when not enough bytes are present bytesmith>Error message when delimited parser does not consume all input bytesmith=Exact number of bytes delimited parser is expected to consume bytesmith&Parser to execute in delimited context. bytesmith!Number of times to run the parser bytesmithParser)  !"#$%&'()*+,-.) ".-, !#&%'$()*+0"3None'-.14;FHSX_`aku,/ bytesmithUnsigned 8-bit word.0 bytesmithwArray of little-endian unsigned 16-bit words. If the host is little-endian, the implementation is optimized to simply memcpya bytes into the result array. The result array always has elements in native-endian byte order.1 bytesmith6Parse an array of little-endian unsigned 32-bit words.2 bytesmith6Parse an array of little-endian unsigned 64-bit words.3 bytesmith7Parse an array of little-endian unsigned 128-bit words.4 bytesmith4Parse an array of little-endian signed 64-bit words.5 bytesmithUnsigned 16-bit word.6 bytesmithUnsigned 32-bit word.7 bytesmithUnsigned 64-bit word.8 bytesmithUnsigned 128-bit word.9 bytesmithSigned 8-bit integer.: bytesmithSigned 16-bit integer.; bytesmithSigned 32-bit integer.< bytesmithSigned 64-bit integer.0 bytesmith-Error message if not enough bytes are present bytesmith.Number of little-endian 16-bit words to expect bytesmithNative-endian elements1 bytesmith-Error message if not enough bytes are present bytesmith/Number of little-endian 32-bit words to consume bytesmithNative-endian elements2 bytesmith-Error message if not enough bytes are present bytesmith/Number of little-endian 64-bit words to consume bytesmithNative-endian elements3 bytesmith-Error message if not enough bytes are present bytesmith0Number of little-endian 128-bit words to consume bytesmithNative-endian elements4 bytesmith-Error message if not enough bytes are present bytesmith.Number of little-endian 64-bit words to expect bytesmithNative-endian elements/0123456789:;</56789:;<01234None'-.14;FHSX_`ak(= bytesmithRuns the predicate on the next character in the input. If the predicate is matched, this consumes the character. Otherwise, the character is not consumed. This returns False= if the end of the input has been reached. This never fails.> bytesmithORuns the function on the next character in the input. If the function returns Justi, this consumes the character and then runs the parser on the remaining input. If the function returns Nothing, this does not consume the tested character, and it runs the default parser on the input (which includes the tested character). If there is no input remaining, this also runs the default parser. This combinator never fails.? bytesmithjConsume the next character, failing if it does not match the expected value or if there is no more input.@ bytesmithSConsume the next two characters, failing if they do not match the expected values. $char2 e a b === char e a *> char e bA bytesmithLConsume three characters, failing if they do not match the expected values. 2char3 e a b c === char e a *> char e b *> char e cB bytesmithKConsume four characters, failing if they do not match the expected values. @char4 e a b c d === char e a *> char e b *> char e c *> char e dC bytesmithKConsume five characters, failing if they do not match the expected values.D bytesmithJConsume six characters, failing if they do not match the expected values.E bytesmithLConsume seven characters, failing if they do not match the expected values.F bytesmithLConsume eight characters, failing if they do not match the expected values.G bytesmithKConsume nine characters, failing if they do not match the expected values.H bytesmithJConsume ten characters, failing if they do not match the expected values.I bytesmithJConsume ten characters, failing if they do not match the expected values.J bytesmith5Consumes and returns the next character in the input.K bytesmith-Consume a character from the input or return Nothingt if end of the stream has been reached. Since ISO 8859-1 maps every bytes to a character, this parser never fails.L bytesmith Variant of opt with unboxed result.M bytesmith Variant of N1 that requires at least one digit to be present.N bytesmithSkip the characters 0-9> until a non-digit is encountered. This parser does not fail.O bytesmith]Skip the character any number of times. This succeeds even if the character was not present.P bytesmith\Skip the character any number of times. It must occur at least once or else this will fail.Q bytesmithYParse a decimal-encoded 8-bit word. If the number is larger than 255, this parser fails.R bytesmith\Parse a decimal-encoded 16-bit word. If the number is larger than 65535, this parser fails.S bytesmithaParse a decimal-encoded 32-bit word. If the number is larger than 4294967295, this parser fails.T bytesmithParse a decimal-encoded number. If the number is too large to be represented by a machine word, this fails with the provided error message. This accepts any number of leading zeroes.U bytesmithParse a decimal-encoded unsigned number. If the number is too large to be represented by a 64-bit word, this fails with the provided error message. This accepts any number of leading zeroes.V bytesmithParse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This rejects input with that is preceeded by plus or minus. Consequently, it does not parse negative numbers. Use [ or X) for that purpose. On a 64-bit platform T4 will successfully parse 9223372036854775808 (i.e. 2 ^ 63), but V/ will fail. This parser allows leading zeroes.W bytesmith Variant of V with an unboxed result.X bytesmith;Parse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This allows the number to optionally be prefixed by plus or minus. If the sign prefix is not present, the number is interpreted as positive. This allows leading zeroes.Y bytesmith Variant of V that lets the caller supply a leading digit. This is useful when parsing formats like JSON where integers with leading zeroes are considered invalid. The calling context must consume the first digit before calling this parser. Results are always positive numbers.[ bytesmithJParse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This allows the number to optionally be prefixed by minus. If the minus prefix is not present, the number is interpreted as positive. The disallows a leading plus sign. For example, [ rejects +42, but X allows it.\ bytesmith Variant of ] that lets the caller supply a leading digit. This is useful when parsing formats like JSON where integers with leading zeroes are considered invalid. The calling context must consume the first digit before calling this parser. Results are always positive numbers.] bytesmithwParse a decimal-encoded positive integer of arbitrary size. This rejects input that begins with a plus or minus sign.^ bytesmithParse a decimal-encoded integer of arbitrary size. This accepts input that begins with a plus or minus sign. Input without a sign prefix is interpreted as positive._ bytesmithuSkip all characters until the terminator is encountered and then consume the matching character as well. Visually, skipTrailedBy 'C' advances the cursor like this:  A Z B Y C X C W |->->->->-|NThis fails if it reaches the end of input without encountering the character.` bytesmithjSkip all characters until the terminator is encountered. This does not consume the terminator. Visually,  skipUntil 'C' advances the cursor like this:  A Z B Y C X C W |->->->-|fThis succeeds if it reaches the end of the input without encountering the terminator. It never fails.a bytesmithParse exactly four ASCII-encoded characters, interpretting them as the hexadecimal encoding of a 32-bit number. Note that this rejects a sequence such as 5A9 , requiring 05A9 instead. This is insensitive to case. This is particularly useful when parsing escape sequences in C or JSON, which allow encoding characters in the Basic Multilingual Plane as \uhhhh.b bytesmithConsume a single character that is the lowercase hexadecimal encoding of a 4-bit word. Fails if the character is not in the class [a-f0-9].c bytesmithConsume a single character that is the case-insensitive hexadecimal encoding of a 4-bit word. Fails if the character is not in the class  [a-fA-F0-9].d bytesmith`Consume a single character that is the lowercase hexadecimal encoding of a 4-bit word. Returns Nothing< without consuming the character if it is not in the class [a-f0-9]. The parser never fails.e bytesmithgConsume a single character that is the case-insensitive hexadecimal encoding of a 4-bit word. Returns Nothing< without consuming the character if it is not in the class  [a-fA-F0-9]. This parser never fails.> bytesmithDefault parser. Runs on Nothing or end of input. bytesmithParser-selecting predicateY bytesmith Error message bytesmith!Leading digit, should be between 0 and 9.\ bytesmith!Leading digit, should be between 0 and 9.)=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde)?@ABCDEFGHI=>JKLNMOP_`TQRSUVWX[YZ^]\abdceNone'-.14;FHSX_`akk f bytesmithConsume input until the trailer is found. Then, consume the trailer as well. This fails if the trailer is not found or if any non-ASCII characters are encountered.g bytesmithConsume characters matching the predicate. The stops when it encounters a non-matching character or when it encounters a byte above 0x7F. This never fails.h bytesmithConsume input through the next occurrence of the target character and return the consumed input, excluding the target character, as a /. This fails if it encounters any bytes above 0x7F.i bytesmith5Consumes and returns the next character in the input.j bytesmith Variant of i with unboxed result.k bytesmithyExamine the next byte without consuming it, interpret it as an ASCII-encoded character. This fails if the byte is above 0x7F* or if the end of input has been reached.l bytesmithbConsume the next byte, interpreting it as an ASCII-encoded character. Fails if the byte is above 0x7F . Returns Nothing+ if the end of the input has been reached.m bytesmithConsume characters matching the predicate. The stops when it encounters a non-matching character or when it encounters a byte above 0x7F. This never fails.n bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.o bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.?@ABMNOPQRSTfghijklmno?@ABijklhgNMOPnofmTQRSNone'-.14;FHSX_`ak p bytesmithUnsigned 8-bit word.q bytesmithzParse an array of big-endian unsigned 16-bit words. If the host is big-endian, the implementation is optimized to simply memcpya bytes into the result array. The result array always has elements in native-endian byte order.r bytesmith3Parse an array of big-endian unsigned 32-bit words.s bytesmith3Parse an array of big-endian unsigned 64-bit words.t bytesmith4Parse an array of big-endian unsigned 128-bit words.u bytesmithUnsigned 16-bit word.v bytesmithUnsigned 32-bit word.w bytesmithUnsigned 64-bit word.x bytesmithUnsigned 128-bit word.y bytesmithSigned 8-bit integer.z bytesmithSigned 16-bit integer.{ bytesmithSigned 32-bit integer.| bytesmithSigned 64-bit integer.q bytesmith-Error message if not enough bytes are present bytesmith+Number of big-endian 16-bit words to expect bytesmithNative-endian elementsr bytesmith-Error message if not enough bytes are present bytesmith+Number of big-endian 32-bit words to expect bytesmithNative-endian elementss bytesmith-Error message if not enough bytes are present bytesmith,Number of big-endian 64-bit words to consume bytesmithNative-endian elementst bytesmith-Error message if not enough bytes are present bytesmith-Number of big-endian 128-bit words to consume bytesmithNative-endian elements pqrstuvwxyz{| puvwxyz{|qrstNone'-.14;FHSX_`ak`} bytesmithInterpret the next one to four bytes as a UTF-8-encoded character. Fails if the decoded codepoint is in the range U+D800 through U+DFFF.~ bytesmithLConsume input that matches the argument. Fails if the input does not match.}~}~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde fghijk lmnoR#pq789:;=>?@ABCDnrstuvwxyzz{|}~ ttu'bytesmith-0.3.1.0-8XMXbXZHnHLKnvCJ6WCYhData.Bytes.Parser.UnsafeData.Bytes.ParserData.Bytes.Parser.LittleEndianData.Bytes.Parser.LatinData.Bytes.Parser.AsciiData.Bytes.Parser.BigEndianData.Bytes.Parser.Utf8Data.Bytes.Parser.InternalData.Bytes.Parser.TypesParser runParserfailSliceResultFailureSuccesscursorexpose unconsumejump parseBytesparseByteArrayparseBytesEffectfullyeffect byteArraybytesannotateany takeWhile takeTrailedBy skipTrailedBytake remaining skipWhile endOfInput isEndOfInput unboxWord32 unboxIntPair boxWord32 boxIntPairorElsebindFromCharToLiftedbindFromCharToIntPairbindFromLiftedToIntbindFromLiftedToIntPairbindFromIntToIntPairbindFromMaybeCharToIntPairbindFromMaybeCharToLifted pureIntPair failIntPairmeasuredelimit replicateword8 word16Array word32Array word64Array word128Array int64Arrayword16word32word64word128int8int16int32int64 trySatisfytrySatisfyThencharchar2char3char4char5char6char7char8char9char10char11optopt# skipDigits1 skipDigitsskipChar skipChar1decWord8 decWord16 decWord32decWord decWord64decUnsignedIntdecUnsignedInt# decSignedIntdecTrailingIntdecTrailingInt#decStandardIntdecTrailingIntegerdecUnsignedIntegerdecSignedInteger skipUntilhexFixedWord16hexNibbleLower hexNibbletryHexNibbleLower tryHexNibbletakeShortWhileshortTrailedByany#peek skipAlpha skipAlpha1 shortText$fAlternativeParserbaseGHC.Base<>Result#ST#Bytes# InternalStepInternalResultInternalFailureInternalSuccess uneffectful unfailingboxBytes unboxBytes unboxResultindexLatinCharArray uneffectful#upcastUnitSuccess swapArray16 swapArray32 swapArray64 swapArray128offsetlengthvalue(byteslice-0.1.4.0-56rausGkue6Fnxl3eLEEVdData.Bytes.TypesBytes(primitive-0.7.0.0-9xMM76CsovTEGnXCHiCdRJData.Primitive.ByteArray ByteArrayGHC.WordWord32ghc-primGHC.PrimWord#Monoid'text-short-0.1.3-6s9Vn5x19Vb5f1556qmx0oData.Text.Short.Internal ShortText