!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"Lennart Kolmodin, Galois Inc. 2009BSD3-style (see LICENSE)"Trevor Elliott <trevor@galois.com> Portability :NoneBOT6!Have we read all available input?.The Get monad is an Exception and State monad.The result of a parse.The parse failed. The 0 is the message describing the error, if any.Supply this continuation with more input so that the parser can resume. To indicate that no more input is available, use an  string.The parse succeeded. The U is the input that had not yet been consumed (if any) when the parse succeeded.Run the Get monad applies a %-based parser on the input ByteStringRun the get monad on a single chunk, providing an optional length for the remaining, unseen input, with Nothing indicating that it's not clear how much input is left. For example, with a lazy ByteString, the optional length represents the sum of the lengths of all remaining chunks.Run the Get monad applies a %-based parser on the input ByteString Run the Get monad applies a -based parser on the input ByteString. Additional to the result of get it returns the number of consumed bytes and the rest of the input.Run the Get monad applies a -based parser on the input ByteString. Additional to the result of get it returns the number of consumed bytes and the rest of the input, even in the event of a failure. Run the Get monad over a Lazy ByteString. Note that this will not run the Get parser lazily, but will operate on lazy ByteStrings. Run the Get monad over a Lazy ByteString. Note that this does not run the Get parser lazily, but will operate on lazy ByteStrings.  If at least nK bytes of input are available, return the current input, otherwise fail. Isolate an action to operating within a fixed block of bytes. The action is required to consume all the bytes that it is isolated to. Skip ahead n bytes. Fails if fewer than n bytes are available.Skip ahead up to nU bytes in the current chunk. No error if there aren't enough bytes, or if less than n bytes are skipped.Run ga4, but return without consuming its input. Fails if ga fails.Like , but consume the input if gma returns 'Just _'. Fails if gma fails.Like , but consume the input if gea returns 'Right _'. Fails if gea fails.Get the next up to nH bytes as a ByteString until end of this chunk, without consuming them.fGet the number of remaining unparsed bytes. Useful for checking whether all input has been consumed.WARNING: when run with  runGetPartialZ, remaining will only return the number of bytes that are remaining in the current input.)Test whether all input has been consumed.WARNING: when run with  runGetPartialH, isEmpty will only tell you if you're at the end of the current chunk. An efficient 5 method for strict ByteStrings. Fails if fewer than nZ bytes are left in the input. This function creates a fresh copy of the underlying bytes.Pull n. bytes from the input, as a strict ByteString. Read a Int8 from the monad state!Read a Int16 in big endian format$Read a Int16 in little endian format!Read a Int32 in big endian format$Read a Int32 in little endian format!Read a Int64 in big endian format $Read a Int64 in little endian format!!Read a Word8 from the monad state""Read a Word16 in big endian format#%Read a Word16 in little endian format$"Read a Word32 in big endian format%%Read a Word32 in little endian format&"Read a Word64 in big endian format'%Read a Word64 in little endian format(O(1). Read a single native machine word. The word is read in host order, host endian form, for the machine you're on. On a 64 bit machine the Word is an 8 byte value, on a 32 bit machine, 4 bytes.)O(1).? Read a 2 byte Word16 in native host order and host endianness.*O(1).8 Read a Word32 in native host order and host endianness.+O(1).7 Read a Word64 in native host order and host endianess.-bGet a list in the following format: Word64 (big endian format) element 1 ... element n.Get an IArray in the following format: index (lower bound) index (upper bound) Word64 (big endian format) element 1 ... element n/fGet a sequence in the following format: Word64 (big endian format) element 1 ... element n0Read as a list of lists.1+Read as a list of pairs of key and element.2+Read as a list of pairs of int and element.3Read as a list of elements.4Read as a list of ints.5pRead in a Maybe in the following format: Word8 (0 for Nothing, anything else for Just) element (when Just)6Read an Either, in the following format: Word8 (0 for Left, anything else for Right) element a when 0, element b otherwise7DRead in a length and then read a nested structure of that length.Z  !"#$%&'()*+,-./0123456789:;<=>?8  !"#$%&'()*+,-./012345678  !"$&#%' ()*+,-.0/1234567S  !"#$%&'()*+,-./0123456789:;<=>?"Lennart Kolmodin, Galois Inc. 2009BSD3-style (see LICENSE)"Trevor Elliott <trevor@galois.com> Portability :Safe9;!B<Put merely lifts Builder into a Writer monad, applied to ().C@The PutM type. A Writer monad over the efficient Builder monoid.GRun the B monadHRun the B monad with a serialiserIRun the B+ monad with a serialiser and get its resultJRun the B monad with a serialiserKRun the B monad with a serialiserLfPop the ByteString we have constructed so far, if any, yielding a new chunk in the result ByteString.M/Efficiently write a byte into the output bufferN/Efficiently write an int into the output bufferOAn efficient primitive to write a strict ByteString into the output buffer. It flushes the current buffer, and writes the argument into a new chunk.QfWrite a lazy ByteString efficiently, simply appending the lazy ByteString chunks to the output bufferR#Write a Word16 in big endian formatS&Write a Word16 in little endian formatT#Write a Word32 in big endian formatU&Write a Word32 in little endian formatV#Write a Word64 in big endian formatW&Write a Word64 in little endian formatXO(1).0 Write a single native machine word. The word is written in host order, host endian form, for the machine you're on. On a 64 bit machine the Word is an 8 byte value, on a 32 bit machine, 4 bytes. Values written this way are not portable to different endian or word sized machines, without conversion.YO(1).V Write a Word16 in native host order and host endianness. For portability issues see  putWordhost.ZO(1).V Write a Word32 in native host order and host endianness. For portability issues see  putWordhost.[O(1). Write a Word64 in native host order On a 32 bit machine we write two host order Word32s, in big endian form. For portability issues see  putWordhost.\"Write a Int16 in big endian format]%Write a Int16 in little endian format^"Write a Int32 in big endian format_%Write a Int32 in little endian format`"Write a Int64 in big endian formata%Write a Int64 in little endian formatbO(1)., Write a single native machine int. The int is written in host order, host endian form, for the machine you're on. On a 64 bit machine the Int is an 8 byte value, on a 32 bit machine, 4 bytes. Values written this way are not portable to different endian or int sized machines, without conversion.cO(1).U Write a Int16 in native host order and host endianness. For portability issues see  putInthost.dO(1).U Write a Int32 in native host order and host endianness. For portability issues see  putInthost.eO(1). Write a Int64 in native host order On a 32 bit machine we write two host order Int32s, in big endian form. For portability issues see  putInthost.q]Put a nested structure by first putting a length field and then putting the encoded value.;ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu1ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq1BCDEAHIJKFGLMNOQPRTV\^`SUW]_aXYZ[bcdefghijklmnopq8ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuNone:Tv-Read a Float in little endian IEEE-754 formatw*Read a Float in big endian IEEE-754 formatx.Read a Double in little endian IEEE-754 formaty+Read a Double in big endian IEEE-754 formatz.Write a Float in little endian IEEE-754 format{+Write a Float in big endian IEEE-754 format|/Write a Double in little endian IEEE-754 format},Write a Double in big endian IEEE-754 format vwxyz{|}vwxyz{|}vwxyz{|} vwxyz{|}"Lennart Kolmodin, Galois Inc. 2009BSD3-style (see LICENSE)"Trevor Elliott <trevor@galois.com> Portability :None 69:;DQRT%If your compiler has support for the  DeriveGeneric and DefaultSignatures language extensions ( ghc >= 7.2.1), the  and 4 methods will have default generic implementations.!To use this option, simply add a  deriving ( clause to your datatype and declare a 2 instance for it without giving a definition for  and . Encode a value in the Put monad.Decode a value in the Get monadAEncode a value using binary serialization to a strict ByteString.?Encode a value using binary serialization to a lazy ByteString.PDecode a value from a strict ByteString, reconstructing the original structure.NDecode a value from a lazy ByteString, reconstructing the original structure.VPerform an action, failing if the read result does not match the argument provided.`~}  !"#$%&'()*+,-./01234567ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqvwxyz{|}~~W~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ %cereal-0.5.4.0-LXuGw964IxKFJaPTyZmzLsData.Serialize.GetData.Serialize.PutData.Serialize.IEEE754Data.SerializeGetResultFailPartialDonelabelrunGet runGetChunk runGetPartial runGetState runGetLazyrunGetLazyStateensureisolateskip uncheckedSkip lookAhead lookAheadM lookAheadEuncheckedLookAhead remainingisEmpty getByteStringgetLazyByteStringgetShortByteStringgetBytesgetInt8 getInt16be getInt16le getInt32be getInt32le getInt64be getInt64legetWord8 getWord16be getWord16le getWord32be getWord32le getWord64be getWord64le getWordhost getWord16host getWord32host getWord64hostgetTwoOf getListOf getIArrayOfgetSeqOf getTreeOfgetMapOf getIntMapOfgetSetOf getIntSetOf getMaybeOf getEitherOf getNested$fMonadPlusGet$fMonadFailGet $fMonadGet$fAlternativeGet$fApplicativeGet $fFunctorGet$fFunctorResult $fShowResult$fEqMorePutterPutPutMunPut putBuilderexecPutrunPutrunPutM runPutLazy runPutMLazyflushputWord8putInt8 putByteStringputShortByteStringputLazyByteString putWord16be putWord16le putWord32be putWord32le putWord64be putWord64le putWordhost putWord16host putWord32host putWord64host putInt16be putInt16le putInt32be putInt32le putInt64be putInt64le putInthost putInt16host putInt32host putInt64hostputTwoOf putListOf putIArrayOfputSeqOf putTreeOfputMapOf putIntMapOfputSetOf putIntSetOf putMaybeOf putEitherOf putNested $fMonoidPutM $fMonadPutM$fApplicativePutM $fFunctorPutM getFloat32le getFloat32be getFloat64le getFloat64be putFloat32le putFloat32be putFloat64le putFloat64be GSerializeGetgGet GSerializePutgPut Serializeputgetencode encodeLazydecode decodeLazyexpect $fSumSizeM1 $fSumSize:+: $fGetSumM1 $fGetSum:+: $fPutSumM1 $fPutSum:+:$fGSerializeGet:+:$fGSerializePut:+:$fGSerializeGet:*:$fGSerializePut:*:$fGSerializeGetU1$fGSerializePutU1$fGSerializeGetK1$fGSerializePutK1$fGSerializeGetM1$fGSerializePutM1$fSerializeUArray$fSerializeArray$fSerializeTree$fSerializeFloat$fSerializeDouble$fSerializeSeq$fSerializeIntMap$fSerializeIntSet$fSerializeMap$fSerializeSet$fSerializeByteString$fSerializeByteString0$fSerializeEither$fSerializeMaybe $fSerialize[]$fSerializeLast$fSerializeFirst$fSerializeProduct$fSerializeSum$fSerializeAny$fSerializeAll$fSerializeDual$fSerialize(,,,,,,,,,)$fSerialize(,,,,,,,,)$fSerialize(,,,,,,,)$fSerialize(,,,,,,)$fSerialize(,,,,,)$fSerialize(,,,,)$fSerialize(,,,)$fSerialize(,,)$fSerialize(,)$fSerializeChar$fSerializeNatural$fSerializeRatio$fSerializeInteger$fSerializeInt$fSerializeWord$fSerializeInt64$fSerializeInt32$fSerializeInt16$fSerializeInt8$fSerializeWord64$fSerializeWord32$fSerializeWord16$fSerializeWord8$fSerializeOrdering$fSerializeBool $fSerialize()MorebaseGHC.BaseStringbytestring-0.10.8.1Data.ByteStringemptyData.ByteString.Internal ByteString runGetState'Complete IncompleteSuccessFailureBufferInputunGet emptyBuffer extendBufferappend bufferBytes moreLength formatTracefinalKfailK runGetLazy'failDescgetPtr shiftl_w16 shiftl_w32 shiftl_w64PairSsndStell encodeListOflazyToStrictByteString wordToFloat wordToDouble GHC.GenericsGenericTaggedunTaggedSumSizesumSizeGetSumgetSumPutSumputSum NaturalWordSmallInt boolToWord8 boolFromWord8orderingToWord8orderingFromWord8unrollroll chrEither sizeError checkGetSum