!G7CF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE'Copyright (C) 2010-2019 John MacFarlaneBSD 3"John MacFarlane <jgm@berkeley.edu>alphaportableSafe456=?@:F doclayoutIn reverse orderG doclayoutH means no wrappingI doclayoutNumber of preceding newlines doclayout2Document, including structure relevant for layout. doclayoutText with specified width. doclayoutA block with a width and lines. doclayoutA vertically expandable block; when concatenated with a block, expands to height of block, with each line containing the specified text. doclayoutDoc with each line prefixed with text. Note that trailing blanks are omitted from the prefix when the line after it is empty. doclayout&Doc that renders only before nonblank. doclayout"Doc laid out flush to left margin. doclayout"A space or line break, in context. doclayout#Text printed only at start of line.  doclayout&Newline unless we're at start of line.  doclayoutnewline.  doclayoutEnsure a number of blank lines.  doclayoutTwo documents concatenated. doclayoutKClass abstracting over various string types that can fold over characters.J doclayout Unfold a  into a flat list. doclayoutTrue if the document is empty. doclayoutThe empty document. doclayout#Concatenate documents horizontally. doclayoutConcatenate a list of *s, putting breakable spaces between them. doclayoutSame as ,, but putting breakable spaces between the s. doclayouta $$ b puts a above b. doclayouta $+$ b puts a above b, with a blank line between. doclayoutList version of . doclayoutList version of . doclayout#Removes leading blank lines from a . doclayout%Chomps trailing blank space off of a . doclayout Render a . render (Just n) will use a line length of n& to reflow text on breakable spaces. render Nothing will not reflow text. doclayoutA literal string.  doclayout A character.! doclayoutA breaking (reflowable) space." doclayoutcA carriage return. Does nothing if we're at the beginning of a line; otherwise inserts a newline.# doclayout2Inserts a blank line unless one exists already. (blankline <> blankline has the same effect as  blankline.$ doclayout1Inserts blank lines unless they exist already. (blanklines m <> blanklines n has the same effect as blanklines (max m n).% doclayoutUses the specified string as a prefix for every line of the inside document (except the first, if not at the beginning of the line).& doclayoutMakes a  flush against the left margin.' doclayout Indents a # by the specified number of spaces.( doclayoutA hanging indent. hang ind start doc prints start, then doc, leaving an indent of ind% spaces on every line but the first.) doclayoutbeforeNonBlank d conditionally includes d' unless it is followed by blank space.* doclayoutMakes a  non-reflowable.+ doclayoutiContent to print only if it comes at the beginning of a line, to be used e.g. for escaping line-initial K in roff man., doclayoutReturns the width of a .- doclayoutReturns the minimal width of a # when reflowed at breakable spaces.. doclayout lblock n d is a block of width n% characters, with text derived from d and aligned to the left./ doclayoutLike . but aligned to the right.0 doclayoutLike . but aligned centered.1 doclayout'Returns the height of a block or other .2 doclayoutAn expandable border that, when placed next to a box, expands to the height of the box. Strings cycle through the list provided.3 doclayout Encloses a  inside a start and end .4 doclayoutPuts a  in curly braces.5 doclayoutPuts a  in square brackets.6 doclayoutPuts a  in parentheses.7 doclayoutWraps a  in single quotes.8 doclayoutWraps a  in double quotes.9 doclayoutReturns width of a character in a monospace font: 0 for a combining character, 1 for a regular character, 2 for an East Asian wide character.: doclayoutUGet real length of string, taking into account combining and double-wide characters.;   !"#$%&'()*+,-./0123456789:;"#$! %&'()*+.0/2345678,-19:  655L      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNJOPQ$doclayout-0.1-Bak8VCB8yj2Bonlcele6FKText.DocLayoutDocTextBlockVFillPrefixedBeforeNonBlankFlush BreakingSpace AfterBreakCarriageReturnNewLine BlankLinesConcatEmptyHasChars foldrChar splitLines replicateCharisNullisEmptyemptyhcat<+>hsep$$$+$vcatvsepnestlechomprendertextcharspacecr blankline blanklinesprefixedflushnesthangbeforeNonBlanknowrap afterBreakoffset minOffsetlblockrblockcblockheightvfillinsidebracesbracketsparensquotes doubleQuotes charWidth realLength$fHasCharsText $fHasChars[]$fHasCharsText0 $fIsStringDoc $fMonoidDoc$fSemigroupDoc $fShowDoc$fEqDoc $fFunctorDoc $fFoldableDoc$fTraversableDocoutput lineLengthbase GHC.MaybeNothingnewlinesunfoldDGHC.Base.