úÎ!àóÚb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aNone'-.14;FHSX_`ak¦ bytesmithA non-resumable parser. bytesmith%Fail with the provided error message.b bytesmith"Combines the error messages using c when both parsers fail. bytesmith Error messagedefghijklmnopqrsNone46;+ 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.t bytesmithOffset into the array.u bytesmithLength of the slice.v 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. uvtNone"$'-.14;FHSX_`adk"Z  bytesmithpGet the current offset into the chunk. Using this makes it possible to observe the internal difference between w. that refer to equivalent slices. Be careful.  bytesmith×Return 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_`akY  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 x. 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. bytesmithªTake 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 y parser to a z parser. bytesmith Convert a  (Int,Int) parser to a ( Int, Int ) parser.  bytesmith Convert a z parser to a yT 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.- bytesmithÐRun 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_`ak½Ý / bytesmithªRuns 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.0 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.1 bytesmithjConsume the next character, failing if it does not match the expected value or if there is no more input.2 bytesmithTConsume the next two characters, failing if they do not match they expected values. $char2 e a b === char e a *> char e b3 bytesmithQConsume the three characters, failing if they do not match they expected values. 2char3 e a b c === char e a *> char e b *> char e c4 bytesmithPConsume the four characters, failing if they do not match they expected values. @char4 e a b c d === char e a *> char e b *> char e c *> char e d5 bytesmith5Consumes and returns the next character in the input.6 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.7 bytesmith Variant of opt with unboxed result.8 bytesmith Variant of 91 that requires at least one digit to be present.9 bytesmithSkip the characters 0-9> until a non-digit is encountered. This parser does not fail.: bytesmith]Skip the character any number of times. This succeeds even if the character was not present.; bytesmith\Skip the character any number of times. It must occur at least once or else this will fail.< bytesmithYParse a decimal-encoded 8-bit word. If the number is larger than 255, this parser fails.= bytesmith\Parse a decimal-encoded 16-bit word. If the number is larger than 65535, this parser fails.> bytesmithaParse a decimal-encoded 32-bit word. If the number is larger than 4294967295, this parser fails.? bytesmith¸Parse 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.@ bytesmithÁParse 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.A 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 rejects input with that is preceeded by plus or minus. Consequently, it does not parse negative numbers. Use F or C) for that purpose. On a 64-bit platform ?4 will successfully parse 9223372036854775808 (i.e. 2 ^ 63), but A/ will fail. This parser allows leading zeroes.B bytesmith Variant of A with an unboxed result.C 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.D bytesmith Variant of Aÿ 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.F bytesmithÿJParse 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, F rejects +42, but C allows it.G bytesmith Variant of Hÿ 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.H bytesmithwParse a decimal-encoded positive integer of arbitrary size. This rejects input that begins with a plus or minus sign.I bytesmith¦Parse 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.J bytesmith}Skip all characters until the character from the 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 |->->->->-|K bytesmithœParse 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.L bytesmith„Consume 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].M bytesmith‹Consume 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].N 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.O 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.0 bytesmithDefault parser. Runs on Nothing or end of input. bytesmithParser-selecting predicateD bytesmith Error message bytesmith!Leading digit, should be between 0 and 9.G bytesmith!Leading digit, should be between 0 and 9.!/0123456789:;<=>?@ABCDEFGHIJKLMNO!1234/056798:;J?<=>@ABCFDEIHGKLNMONone'-.14;FHSX_`akÏÍP bytesmith¥Consume 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.Q bytesmithˆConsume 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.R bytesmith5Consumes and returns the next character in the input.S bytesmith Variant of R with unboxed result.T 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.U 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.V bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.W bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.123489:;<=>?PQRSTUVW1234RSTUQ98:;VWP?<=>None'-.14;FHSX_`akÕKX bytesmithUnsigned 8-bit word.Y bytesmithUnsigned 16-bit word.Z bytesmithUnsigned 32-bit word.[ bytesmithUnsigned 64-bit word.\ bytesmithSigned 8-bit integer.] bytesmithSigned 16-bit integer.^ bytesmithSigned 32-bit integer._ bytesmithSigned 64-bit integer.XYZ[\]^_XYZ[\]^_None'-.14;FHSX_`akÚ` bytesmith‰Interpret 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.a bytesmithLConsume input that matches the argument. Fails if the input does not match.`a`a}        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW<XYZ[\]^_`aVbcdefghijjklmnopqrstuvwxyz{|}~d€‚ƒde„…†‡ˆ(bytesmith-0.3.0.0-BAH008Z4ZUn1G8aHU8z5oIData.Bytes.Parser.UnsafeData.Bytes.ParserData.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 replicate trySatisfytrySatisfyThencharchar2char3char4optopt# skipDigits1 skipDigitsskipChar skipChar1decWord8 decWord16 decWord32decWord decWord64decUnsignedIntdecUnsignedInt# decSignedIntdecTrailingIntdecTrailingInt#decStandardIntdecTrailingIntegerdecUnsignedIntegerdecSignedIntegerhexFixedWord16hexNibbleLower hexNibbletryHexNibbleLower tryHexNibbleshortTrailedByany#peek skipAlpha skipAlpha1word8word16word32word64int8int16int32int64 shortText$fAlternativeParserbaseGHC.Base<>Result#ST#Bytes# InternalStepInternalResultInternalFailureInternalSuccess uneffectful unfailingboxBytes unboxBytes unboxResultindexLatinCharArray uneffectful#upcastUnitSuccessoffsetlengthvalue(byteslice-0.1.3.0-JKsoOS0TQTaKvHmsFFgbdBData.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