úÎ!@å:õ^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]Safe.@AHVstring-interpolatemRepresents that we can interpolate objects of type src into a an interpolation string that returns type dst.string-interpolate(Something that can be interpolated into.string-interpolate>Meant to be used only for verbatim parts of the interpolation.string-interpolate should be  'in-order'u; that is, the left builder comes from a string on the left, and the right builder comes from a string on the right.string-interpolateGDoes this type require special behavior when something is interpolated into it?^string-interpolate]We wrap the builders in B so that we can add a phantom type parameter. This gives the inner ls enough information to know where they're going and pick an instance, forcing all the types into lockstep. ^_`SafeWlmAstring-interpolate(Convert a strict ByteString into a Text aW, converting any invalid characters into the Unicode replacement character ÿý (U+FFFD). string-interpolate&Convert a lazy ByteString into a Text aW, converting any invalid characters into the Unicode replacement character ÿý (U+FFFD). string-interpolateData.ByteString.Builder provides charUtf8A to do this, but it doesn't correctly handle invalid characters. Safe .=?@AHVWlmìSafe .=?@AHVlm‚(c) William Yao, 2019-2020BSD-3williamyaoh@gmail.com experimentalPOSIXSafe.=?@AHVWlmA   (c) William Yao, 2019-2020BSD-3williamyaoh@gmail.com experimentalPOSIXSafeW$šbstring-interpolateIHaskell's lexical syntax has & as an escape that produces an empty stringWstring-interpolatenGiven the raw input from a quasiquote, parse it into the information we need to output the actual expression.*Returns an error message if parsing fails.cstring-interpolate)Haskell 2010 character unescaping, see: Khttp://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-200002.6UUnescape the very first backslashed character of the string, if it's a known escape.QTRSUVWXQTRSUVWXBUnicode-aware string interpolation that handles all textual types.(c) William Yao, 2019-2020BSD-3williamyaoh@gmail.com experimentalPOSIXNone_:z[string-interpolateIThe basic, no-frills interpolator. Will interpolate anything you wrap in #{}-, and otherwise leaves what you write alone.\string-interpolatePAn interpolator that handles indentation. Will interpolate anything you wrap in #{}W, remove leading indentation, and remove any blank lines before and after the content.JIf the contained interpolation uses both tabs and spaces for indentation, __i” will assume the indentation type it finds in the first nonblank line, ignoring indentation of the other type. Please don't use mixed indentation.PNote that only indentation you actually write in source code will be stripped; __iN does not touch any lines or whitespace inserted by interpolations themselves.0There is no extra performance penalty for using __i.]string-interpolateÍAn interpolator that strips excess whitespace. Will collapse any sequences of multiple spaces or whitespace into a single space, putting the output onto a single line with surrounding whitespace removed.PNote that only whitespace you actually write in source code will be collapsed; iiiN does not touch any lines or whitespace inserted by interpolations themselves.0There is no extra performance penalty for using iii.[\][\]Safe:Ðdefghijkl      !"#$%&'()*+,-./0123456789:;<=>?@ABC/DEFGHIJKLMNOPQRSTUVWXYZ[\]]^_` abcdefghijk1string-interpolate-0.3.0.2-1FT1QKWGl0b5HBjnF6yYhb"Data.String.Interpolate.Conversion1Data.String.Interpolate.Conversion.ByteStringSink+Data.String.Interpolate.Conversion.TextSinkData.String.Interpolate.ParseData.String.Interpolate*Data.String.Interpolate.Conversion.Classes+Data.String.Interpolate.Conversion.EncodingPaths_string_interpolateInterpolatable interpolate InterpSinkBuilderofStringbuildfinalize IsCustomSinkbsToTextBuilderlbsToTextBuilderencodeCharUTF8"$fInterpolatableTrueBuilderBuilder%$fInterpolatableTrueByteStringBuilder&$fInterpolatableTrueByteStringBuilder0#$fInterpolatableTrueBuilderBuilder0$fInterpolatableTrueTextBuilder $fInterpolatableTrueTextBuilder0$fInterpolatableTrue[]Builder$fInterpolatableTrueCharBuilder$fInterpolatableTruesrcBuilder%$fInterpolatableTrueBuilderByteString($fInterpolatableTrueByteStringByteString)$fInterpolatableTrueByteStringByteString0&$fInterpolatableTrueBuilderByteString0"$fInterpolatableTrueTextByteString#$fInterpolatableTrueTextByteString0 $fInterpolatableTrue[]ByteString"$fInterpolatableTrueCharByteString!$fInterpolatableTruesrcByteString&$fInterpolatableTrueBuilderByteString1)$fInterpolatableTrueByteStringByteString1)$fInterpolatableTrueByteStringByteString2&$fInterpolatableTrueBuilderByteString2#$fInterpolatableTrueTextByteString1#$fInterpolatableTrueTextByteString2!$fInterpolatableTrue[]ByteString0#$fInterpolatableTrueCharByteString0"$fInterpolatableTruesrcByteString0$fInterpSinkTrueBuilder$fInterpSinkTrueByteString$fInterpSinkTrueByteString0$fInterpolatableTrueBuilderText"$fInterpolatableTrueByteStringText#$fInterpolatableTrueByteStringText0 $fInterpolatableTrueBuilderText0$fInterpolatableTrueTextText$fInterpolatableTrueTextText0$fInterpolatableTrue[]Text$fInterpolatableTrueCharText$fInterpolatableTruesrcText $fInterpolatableTrueBuilderText1#$fInterpolatableTrueByteStringText1#$fInterpolatableTrueByteStringText2 $fInterpolatableTrueBuilderText2$fInterpolatableTrueTextText1$fInterpolatableTrueTextText2$fInterpolatableTrue[]Text0$fInterpolatableTrueCharText0$fInterpolatableTruesrcText0$fInterpSinkTrueText$fInterpSinkTrueText0$fInterpolatableFalseBuilderdst"$fInterpolatableFalseByteStringdst#$fInterpolatableFalseByteStringdst0 $fInterpolatableFalseBuilderdst0$fInterpolatableFalseTextdst$fInterpolatableFalseTextdst0$fInterpolatableFalse[]dst$fInterpolatableFalseChardst$fInterpolatableFalsesrcdst$fInterpSinkFalsestr InterpSegment ExpressionVerbatimNewlineSpacesTabsparseInterpSegments dosToUnix$fEqInterpSegment$fShowInterpSegmenti__iiiiBunB text-1.2.3.1Data.Text.Internal.Builder EscapeEmpty unescapeCharversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName