úÎ#mÃdû‡      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†None "#FHSVX!SmasonEnvironment for handle outputmason=takes a pointer range and returns the number of bytes written masonBuffer pointersmason)end of the buffer (next to the last byte)masoncurrent positionmasonHThis class is used to provide backend-specific operations for running a .masonPut a ‡.mason)Flush the content of the internal buffer.mason1Allocate a buffer with at least the given length.mason!Builder specialised for a backendmason/The Builder type. Requires RankNTypes extensionmasonCopy a ‡ to a buffer.masonCopy a ˆ to a buffer.mason Construct a  from a "poke" function.masonTurn a ‰ value into a mason]Ensure that the given number of bytes is available in the buffer. Subject to semigroup fusionmason:Run a builder within a buffer and prefix it by the length.masonUTF-8 encode a Š.!masonUse ‹"masonUse Œ)masonCreate a strict ‡*masonCreate a lazy . Threaded runtime is required.+masonAllocate a new buffer.,masonWrite a 8 into a handle and obtain the number of bytes written. , does not imply actual disk operations. Set Ž2 if you want it to write the content immediately.-masonWrite a 6 into a handle and obtain the number of bytes written..masonEncode  with a custom escaping function/masonDecimal encoding of a positive .1mason+Round up to the supplied precision inplace.5masonWork with a constant buffer.  will always fail.mason'number of bytes to allocate (if needed)mason#return a next pointer after writingmasonmaximum lengthmasonprefix encoder'masonfillermasonpad if shorter than this1mason precisionmasonavailable digitsmasoncontent2  !"#$%&'()*+,-./012 ) *!"#$%&,.- '(+/01(c) Fumiaki Kinoshita 2019-BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>NoneFSX_[š@9masonPut the content of a  to a ‘.:masonCombine chunks of a lazy ;mason"Encode a single signed byte as-is.<mason$Encode a single unsigned byte as-is.=mason Encode an ’ in little endian format.>mason Encode an “ in little endian format.?mason Encode an ” in little endian format.@mason Encode a • in little endian format.Amason Encode a – in little endian format.Bmason Encode a — in little endian format.Cmason Encode a ˜ in little endian format.Dmason Encode a  in little endian format.Emason Encode an ’ in big endian format.Fmason Encode an “ in big endian format.Gmason Encode an ” in big endian format.Hmason Encode a • in big endian format.Imason Encode a – in big endian format.Jmason Encode a — in big endian format.Kmason Encode a ˜ in big endian format.Lmason Encode a  in big endian format.MmasonChar7 encode a ™.NmasonChar7 encode a Š.OmasonChar8 encode a ™.PmasonChar8 encode a Š.QmasonUTF-8 encode a ™.RmasonEncode % as a UTF-8 byte stream. Synonym for S.SmasonEncode  as a UTF-8 byte stream.TmasonDecimal encoding of a š using the ASCII digits.UmasonDecimal encoding of a • using the ASCII digits.VmasonDecimal encoding of a – using the ASCII digits.WmasonDecimal encoding of a — using the ASCII digits.XmasonDecimal encoding of a › using the ASCII digits.YmasonCurrently slow. Decimal encoding of an IEEE ˜.ZmasonDecimal encoding of an IEEE .[masonTAttach an SI prefix so that abs(mantissa) is within [1, 1000). Omits c, d, da and h.\masonAlways use exponents]masonFixed precision^masonDecimal encoding of an œ using the ASCII digits.e.g. MtoLazyByteString (int8Dec 42) = "42" toLazyByteString (int8Dec (-1)) = "-1"_masonDecimal encoding of an ’ using the ASCII digits.`masonDecimal encoding of an “ using the ASCII digits.amasonDecimal encoding of an ” using the ASCII digits.bmasonDecimal encoding of an  using the ASCII digits.cmason#Shortest hexadecimal encoding of a š using lower-case characters.dmason#Shortest hexadecimal encoding of a • using lower-case characters.emason#Shortest hexadecimal encoding of a – using lower-case characters.fmason#Shortest hexadecimal encoding of a — using lower-case characters.gmason#Shortest hexadecimal encoding of a › using lower-case characters.hmason Encode a œ& using 2 nibbles (hexadecimal digits).imason Encode a ’ using 4 nibbles.jmason Encode a “ using 8 nibbles.kmason Encode a ” using 16 nibbles.lmason Encode a š& using 2 nibbles (hexadecimal digits).mmason Encode a • using 4 nibbles.nmason Encode a – using 8 nibbles.omason Encode a — using 16 nibbles.pmasonEncode an IEEE ˜ using 8 nibbles.qmasonEncode an IEEE  using 16 nibbles.rmasonEncode each byte of a $ using its fixed-width hex encoding.smasonEncode each byte of a lazy $ using its fixed-width hex encoding.žmason6Select an implementation depending on the bit-size of ›ms. Currently, it produces a runtime failure if the bitsize is different. This is detected by the testsuite.tmasonDecimal encoding of an ŸE using the ASCII digits. Simon Meier's improved implementation from Uhttps://github.com/haskell/bytestring/commit/92f19a5d94761042b44a433d7331107611e4d717umason-Signed VLQ encoding (the first bit is a sign)wmasonUnsigned VLQ encodingymasonEncode a Word in /https://github.com/stoklund/varint#prefixvarint PrefixVarInt[mason*precision: must be equal or greater than 3\mason number of digits in the mantissa]masondecimal pointsT!"'()*,-.9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzT)*,9-:SR.MNOPQ;<=>?@ABCDEFGHIJKLYZ[\]TUVWX^_`abtcdefghijklmnopqrsuvwxyz'("!Nonea{mason¤Builder with a fixed set of backends. This helps reducing code size and unoptimised code especially on complex/recursive structures, at the cost of extensibility. {|}~€‚ƒ„ {|}~€ƒ‚„(c) Fumiaki Kinoshita 2020-BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>Noneb¿G.:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst€‚ƒ„†G†€ƒ‚„:SR.MNOPQ;<=>?@ABCDEFGHIJKLYZ[\]TUVWX^_`abtcdefghijklmnopqrs        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚,-</0ƒ„…„†‡ˆ‰Šˆ‹Œ„Ž„„ˆ‘’“”•–—˜ˆ‘™ˆš›ˆšœˆšˆžŸˆž ˆž¡–—¢–—£ˆž¤–—¥ˆš¦–—§¨©ª«¬mason-0.2.1-inplaceMason.Builder.Internal Mason.BuilderMason.Builder.DynamicMason.Builder.CompatS ByteStringLPutEnv peThresholdpePutpeBufferpeTotalChannelchRespchBuffer GrowingBufferBufferbEndbCur Buildable byteStringflushallocate BuilderForBuilder unBuilderbyteStringCopyshortByteStringwithPtrstorableensurelengthPrefixedWithin stringUtf8cstring cstringUtf8 primBounded primFixedprimMapListFixedprimMapListBoundedprimMapByteStringFixedprimMapLazyByteStringFixedpaddedBoundedPrimzeroPaddedBoundedPrimtoStrictByteStringtoLazyByteStringallocateConstanthPutBuilderLen sendBuilderencodeUtf8BuilderEscaped withGrisu3withGrisu3Rounded roundDigit$fMonoidBuilderFor$fSemigroupBuilderFor$fIsStringBuilderFor $fBuildable()$fBuildableGrowingBuffer$fBuildableChannel$fBuildablePutEnv hPutBuilderlazyByteStringint8word8int16LEint32LEint64LEword16LEword32LEword64LEfloatLEdoubleLEint16BEint32BEint64BEword16BEword32BEword64BEfloatBEdoubleBEchar7string7char8string8charUtf8encodeUtf8BuildertextUtf8word8Dec word16Dec word32Dec word64DecwordDecfloatDec doubleDecdoubleSI doubleExp doubleFixedint8Decint16Decint32Decint64DecintDecword8Hex word16Hex word32Hex word64HexwordHex int8HexFixed int16HexFixed int32HexFixed int64HexFixed word8HexFixedword16HexFixedword32HexFixedword64HexFixed floatHexFixeddoubleHexFixed byteStringHexlazyByteStringHex integerDecintVLQintVLQBPwordVLQ wordVLQBP prefixVarIntprefixVarIntBP DynBuilderDynamicBackendDynGrowingBuffer DynChannel DynPutEnv$fBuildableDynamicBackendbytestring-0.10.9.0Data.ByteString.InternalData.ByteString.Short.InternalShortByteStringbaseForeign.StorableStorableGHC.BaseString%Data.ByteString.Builder.Prim.Internal BoundedPrim FixedPrimData.ByteString.Lazy.InternalGHC.IO.Handle.Types NoBuffering text-1.2.4.0Data.Text.InternalTextghc-prim GHC.TypesDoubleHandleGHC.IntInt16Int32Int64GHC.WordWord16Word32Word64FloatCharWord8WordInt8IntcaseWordSize_32_64integer-wired-inGHC.Integer.TypeInteger