úÎ9´5Ð&      !"#$%C&'A reference to a label. (6The location of a label with number of padding bytes. ).Some data emitted to the region and its size. *+,-;The byte ordering to be used when serializing a reference. . Big endian /Little endian 0!Host byte order (and endianness) 12/The size of a reference (1, 2, 4, or 8 bytes). 3456&A logical section of the data stream. 78A location in the data stream. 91Monad for constructing the serialised structure. :; Translate  into matching number of bytes. <Create a new region. =>?@Emit a single byte. Emit a list of bytes. Emit a A in little endian format. Emit a A in big endian format. Emit a A+ in native host order and host endianness. Emit a B in little endian format. Emit a B in big endian format. Emit a B+ in native host order and host endianness. Emit a C in little endian format. Emit a C in big endian format. Emit a C+ in native host order and host endianness. Emit a single byte. Emit a list of bytes. Emit a D in little endian format. Emit a D in big endian format. Emit a D+ in native host order and host endianness. Emit a E in little endian format. Emit a E in big endian format. Emit a E+ in native host order and host endianness. Emit a F in little endian format. Emit a F in big endian format. Emit a F+ in native host order and host endianness. Emit an instance of G). Does not take into account alignment. Emit a list of G instances. Ignores alignment. :Emit a label at the current location in the given region. 6Create a new label (with no location attached to it). DIt is up to the user to ensure that if this label is ever used in a  $+, then the label must have been placed via !. 9This is intended for forward references within a region:  example r = do  l <- makeLabel  reference S4 Host r l  ... more stuff ...  placeLabel r l  ... other stuff ... !&Place a label previously created with  . ?This function must only be called once per label. If the same E label is placed multiple times, it is undefined where references to  it point to. ";Insert padding bytes into given region until its size is a % multiple of the expected alignment. Intended alignment Fill with these bytes. #=Emit an aligned label at the current location in the region.  The label'4s address relative to the region start will be at a ! multiple of the given alignment $;Emit a reference to the given label in the current region. AThe reference will be encoded as a signed integer that specifies C the relative distance (in bytes) from the current location to the  target label. @The current location starts before the reference. A serialised  reference with value 0 therefore refers to itself. CIt is up to the user to ensure that references are large enough to 6 encode the required range. If they are not in range  % will fail. &The size of the reference in bytes. ,Byte order used for encoding the reference. *The region in which the reference will be  emitted. The target label. % Serialise the graph into a lazy H. 5Determines the ordering of the regions. If you pass I ' regions will occur in creation order. JK&  !"#$%&% !$ "#&  !"#$%L      !"#$%&'()*+,,-./0123456789:;<=>?@A?@B?@C?DE?DF?DG?HIJKL?MNOPQgraph-serialize-0.1Data.Serialize.References ByteOrderSizeRegionLabelBuildM sizeToBytes newRegion emitWord8 emitWord8s emitWord16le emitWord16beemitWord16host emitWord32le emitWord32beemitWord32host emitWord64le emitWord64beemitWord64hostemitInt8 emitInt8s emitInt16le emitInt16be emitInt16host emitInt32le emitInt32be emitInt32host emitInt64le emitInt64be emitInt64host emitStorableemitStorableListlabel makeLabel placeLabelpadTo alignedLabel referencetoLazyByteString RegionItemLabelRef LabelItemDataItem RegionContentrcItemsrcSizeBELEHost NextLabel NextRegionS8S4S2S1 regionToIntunBuildMemptyRegionContentgenLabel withRegion getRegionemit_baseGHC.WordWord16Word32Word64GHC.IntInt16Int32Int64Foreign.StorableStorablebytestring-0.9.1.10Data.ByteString.Lazy.Internal ByteStringGHC.BaseiddanglingwriteRef