! R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b cdefghijklmnopqrstuvwxyz{|}~Safe table-layoutaSpecifies the length before and after an alignment position (excluding the alignment character). table-layoutPrivate show function. table-layout The column width when using the . table-layout Produce an 3 that is wide enough to hold inputs of both given s.Safe table-layout&Specifies how the place looks where a N has been cut. Note that the cut mark may be cut itself to fit into a column.  table-layoutYSpecify two different cut marks, one for cuts on the left and one for cuts on the right.  table-layout<Use the cut mark on both sides by reversing it on the other.  table-layout)Don't show any cut mark when text is cut.  table-layout>A single ellipsis unicode character is used to show cut marks.  Safe"6 table-layoutFill on the left until the  has the desired length. table-layoutFill on the right until the  has the desired length. table-layout%Fill on both sides equally until the  has the desired length. table-layoutGFits to the given length by either trimming or filling it to the right. table-layoutGFits to the given length by either trimming or filling it to the right. table-layoutFits to the given length by either trimming or filling it on both sides, but when only 1 character should be trimmed it will trim left. table-layout Applies a  to the left of a , while preserving the length. table-layout Applies a  to the right of a , while preserving the length.  Safe"#`>V table-layout)State used while fitting words on a line. table-layout0Intermediate representation for a line of words. table-layoutRThe length of the current line with a single space as separator between the words. table-layout(The number of words on the current line. table-layoutThe actual words of the line. table-layoutUses 4 to split the text into words and justifies it with .4justifyText 10 "This text will not fit on one line."0["This text","will not","fit on one","line."] table-layoutFits as many words on a line as possible depending on the given width. Every line, except the last one, gets equally filled with spaces between the words as far as possible.  table-layoutGJoin the words on a line together by filling it with spaces in between.! table-layoutFit as much words on a line as possible. Produce a list of the length of the line with one space between the words, the word count and the words.3Cutting below word boundaries is not yet supported. table-layoutCompletes the current line. table-layoutJMap inits with the first function and the last one with the last function. table-layoutGSpread out spaces with different widths more evenly (in comparison to dimorphicSpaces)." table-layoutSplits a given number into summands of 2 different values, where the first one is exactly one bigger than the second one. Splitting 40 spaces into 9 almost equal parts would result in:dimorphicSummands 40 9[5,5,5,5,4,4,4,4,4]$ table-layout4Spread out summands evenly mixed as far as possible.  table-layoutThe maximum length for lines. table-layoutThe .! table-layout,The number of characters available per line. table-layout#The words to join with whitespaces. table-layoutThe list of line information. !"#$! "#$SafeC& table-layout%Determines how long a column will be.+ table-layout.Allows columns to use as much space as needed., table-layout(Fixes column length to a specific width.- table-layoutCThe column will expand as long as it is smaller as the given width.. table-layout7The column will be at least as wide as the given width. &(')*+,-. &(')*+,-.SafeG0 table-layout#Specifies an occurence of a letter.2 table-layout:Construct an occurence specification by using a predicate.3 table-layout*Use an occurence specification to split a .01230231SafeL4 table-layout<Determines whether a column will align at a specific letter.7 table-layoutDon't align text.8 table-layout Construct an 4& by giving an occurence specification.9 table-layout(Align at the first match of a predicate.: table-layout-Align text at the first occurence of a given .; table-layoutNo alignment is the default.456789:456789:Safe=?O3< table-layoutVertical orientation.= table-layoutHorizontal orientation.> table-layout/Specifies a position relative from a beginning. <=>A@?BCDEF >A@?=<BCDEF SafeSK table-layout#Specifies how a header is rendered.M table-layoutSmart constructor for KA. By omitting the cut mark it will use the one specified in the & like the other cells in that column.N table-layout$Header columns are usually centered.KLMKLM SafeW4O table-layoutSpecifies a header.R table-layout(Specify a header column for every title.S table-layout8Use titles with the default header column specification.T table-layout'By the default the header is not shown.OQPRSOQPRS SafeY"U table-layout!Specifies the layout of a column.Z table-layout&Smart constructor to specify a column.UYXWVZUVWXYZ Safe\D\ table-layoutHAn alias for lists, conceptually for values with a vertical arrangement.] table-layoutJAn alias for lists, conceptually for values with a horizontal arrangement.\]]\ Safe_T^ table-layoutLGroups rows together which should not be visually seperated from each other.a table-layoutGroup the given rows together.b table-layoutMake a group of a single row.^_`ab^_`abSafe=?dnc table-layout2A type that is used to construct parts of a table.d table-layoutCreate a builder with a .e table-layoutCreate a builder with a single .f table-layoutCreate a builder with several s.g table-layoutCreate a builder that contains k/ spaces. Negative numbers are treated as zero.cfedgcfedgSafer_j table-layoutgDraw a horizontal line that will use the delimiters around the appropriately and visually separate by hSpace.k table-layoutA simplified version of j2 that will use the same delimiter for everything.l table-layout"Render a line with actual content.j table-layout,The space character that is used as padding. table-layout,The delimiter that is used on the left side. table-layout,The delimiter that is used in between cells. table-layout-The delimiter that is sued on the right side. table-layoutA row of builders. table-layoutThe formatted line as a c.k table-layout,The space character that is used as padding. table-layout*The delimiter that is used for everything. table-layoutA row of builders. table-layoutThe formatted line as a c.l table-layout*The delimiter that is used for everything. table-layoutA row of builders.jkljklSafe=?2n table-layout Apply a cut action to each side.o table-layout9Apply a mark to a whitespace string pointing to the left.p table-layout:Apply a mark to a whitespace string pointing to the right.u table-layoutQTypes that can be shortened, measured for visible characters, and turned into a c.v table-layoutQDrop a number of characters from the left side. Treats negative numbers as zero.w table-layoutRDrop a number of characters from the right side. Treats negative numbers as zero.x table-layoutADrop characters from both sides. Treats negative numbers as zero.y table-layoutPReturns the length of the visible characters as displayed on the output medium.z table-layout\Measure the preceeding and following characters for a position where the predicate matches.{ table-layoutInsert the contents into a c.~ table-layout-Fill the right side with spaces if necessary. table-layout)Fill both sides with spaces if necessary. table-layout,Fill the left side with spaces if necessary. table-layoutAssume the given length is greater or equal than the length of the cell passed. Pads the given cell accordingly using the position specification.pad left 10 "foo" :: String "foo " table-layout#If the given text is too long, the  will be shortened according to the position specification. Adds cut marks to indicate that the column has been trimmed in length, otherwise it behaves like .AtrimOrPad left (singleCutMark "..") 10 "A longer text." :: String "A longer.." table-layoutTrim a cell based on the position. Preconditions that require to be met (otherwise the function will produce garbage): prop> visibleLength c > n table-layoutAlign a cell by first locating the position to align with and then padding on both sides. If no such position is found, it will align it such that it gets aligned before that position.Flet { os = predOccSpec (== '.') ; ai = deriveAlignInfo os "iiii.fff" }3in align os ai <$> ["1.5", "30", ".25"] :: [String]"[" 1.5 "," 30 "," .25 "]%This function assumes that the given  fits the . Thus:ai <> deriveAlignInfo s = ai table-layoutCompares the view range, that represents the visible part, with the cell range, which is the position of the cell relative to the alignment, and determines the actions that should be performed. table-layoutyIf the amount to be cut is bigger than the cell length then any missing amount is taken away from any remaining padding. table-layoutGiven a position, the available width, and the length of an alignment (left and right side, separator is implied) compute a range for the view. The lower bound is inclusive and the upper bound exclusive. table-layoutGiven the maximum left alignment and the alignment of the cell create a range that describes the position of the cell. The lower bound is inclusive and the upper bound exclusive. table-layoutxAligns a cell using a fixed width, fitting it to the width by either filling or cutting while respecting the alignment. mponqtsru{zywxv|}~ u{zywxv|}~qtsrmponSafeK  table-layout{Specifies how a column should be modified. Values of this type are derived in a traversal over the input columns by using  . Finally, a will interpret them and apply the appropriate modification function to the cells of the column. table-layoutPrivate show function. table-layoutGet the exact width of a  after applying it with . table-layoutRemove alignment from a Z. This is used to change alignment of headers while using the combined width information. table-layoutVEnsures that the modification provides a minimum width but only if it is not limited. table-layoutEnsures that the given $ will fit into the modified columns. table-layout/Fit titles of a header column into the derived . table-layout?Generates a function which modifies a given cell according to ,  and f. This is used to modify a single cell of a column to bring all cells of a column to the same width. table-layout Derive the j by using layout specifications and the actual cells of a column. This function only needs to know about & and . table-layout Derive the 8 and generate functions without any intermediate steps. table-layout Generate the  of a cell by using the 0.Safe  table-layout Combine a K and existing s to format header cells.Safe table-layoutEGenerate a table that is readable but also serves as input to pandoc.xmapM_ putStrLn $ pandocPipeTableLines [def, numCol] (titlesH ["text", "numeric value"]) [["a", "1.5"], ["b", "6.60000"]]|text|numberic value||:---|-------------:||a | 1.5 ||b | 6.60000|Safe4? table-layoutFCreate a value from content that is kept plain without any formatting. table-layoutCreate a formatted value with formatting directives that are applied to the whole value. The actual formatting has to be done by the backend. table-layout&Prefix text directives for formatting. table-layoutThe content to be formatted. table-layout&Suffix text directives for formatting.Safeʵ  table-layoutSSpecifies the different letters to construct the non-content structure of a table. table-layoutMy usual ASCII table style. table-layoutUses lines and plus for joints. table-layout:Uses special unicode characters to draw clean thin boxes.  table-layoutSame as  but uses bold headers. table-layoutSame as  but uses round edges. table-layoutUses bold lines. table-layoutKUses bold lines with exception of group seperators, which are striped slim. table-layout$Draw every line with a double frame. Safe֢ table-layoutLMerges multiple columns together to a valid grid without holes. For example:VcolsAsRowsAll top [justifyText 10 "This text will not fit on one line.", ["42", "23"]]H[["This text","42"],["will not","23"],["fit on one",""],["line.",""]]CThe result is intended to be used with a grid layout function like . table-layout Works like 3 but every position can be specified on its own:EcolsAsRows [top, center, bottom] [["a1"], ["b1", "b2", "b3"], ["c3"]],[["a1","b1",""],["","b2",""],["","b3","c3"]] table-layoutFFill all columns to the same length by aligning at the given position. table-layoutGFill all columns to the same length by aligning at the given positions.Safe"#  table-layout_Align all text at the first dot from the left. This is most useful for floating point numbers. table-layoutJNumbers are positioned on the right and aligned on the floating point dot. table-layout=Fixes the column length and positions according to the given >. table-layout2Fixes the column length and positions on the left. table-layout5Modifies cells according to the column specification. table-layout Behaves like / but produces lines by joining with whitespace. table-layout Behaves like > but produces a string by joining with the newline character. table-layout~Applies functions to given lines in a alternating fashion. This makes it easy to color lines to improve readability in a row. table-layoutApplies functions to cells in a alternating fashion for every line, every other line gets shifted by one. This is useful for distinguishability of single cells in a grid arrangement. table-layout Create a ^P by aligning the columns vertically. The position is specified for each column. table-layout Create a ^U by aligning the columns vertically. Each column uses the same vertical positioning. table-layoutLayouts a pretty table with an optional header. Note that providing fewer layout specifications than columns or vice versa will result in not showing the redundant ones. table-layoutDoes the same as , but concatenates lines. table-layoutLayout specification of columns table-layoutVisual table style table-layoutOptional header details table-layoutRows which form a cell together table-layoutLayout specification of columns table-layoutVisual table style table-layoutOptional header details table-layoutRows which form a cell togetherc &+,-.0479:<=>BCDEFKMORSUZ\]^abAUZ&+,-.>=BCD47:9 ]^abKMORS\EF<0 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde f f g h i j k l m n  o p q r s t u v w w x y z{|}~241+table-layout-0.9.0.0-FTRlDiD6Y4U1qpT6KcFqMz&Text.Layout.Table.Primitives.AlignInfoText.Layout.Table.Spec.CutMark"Text.Layout.Table.Primitives.BasicText.Layout.Table.JustifyText.Layout.Table.Spec.LenSpecText.Layout.Table.Spec.OccSpec Text.Layout.Table.Spec.AlignSpecText.Layout.Table.Spec.Position$Text.Layout.Table.Spec.HeaderColSpec!Text.Layout.Table.Spec.HeaderSpecText.Layout.Table.Spec.ColSpecText.Layout.Table.Spec.UtilText.Layout.Table.Spec.RowGroupText.Layout.Table.StringBuilder"Text.Layout.Table.Primitives.TableText.Layout.Table.Cell+Text.Layout.Table.Primitives.ColumnModifier#Text.Layout.Table.Primitives.HeaderText.Layout.Table.Pandoc Text.Layout.Table.Cell.FormattedText.Layout.Table.StyleText.Layout.Table.VerticalText.Layout.TableText.Layout.Primitives.ColumnColSpecText.Layout.Table.PositionPositiongrid AlignInfoshowAIwidthAI$fMonoidAlignInfo$fSemigroupAlignInfoCutMarkleftMark rightMark doubleCutMark singleCutMark noCutMark$fDefaultCutMarkspaces concatLines fillStart' fillStartfillEnd fillBoth'fillBoth fillLeft'fillLeft fillRight fillCenter' fillCenter fitRightWith fitLeftWith fitCenterWithapplyMarkLeftWithapplyMarkRightWith justifyTextjustify concatPadLinefitWordsdimorphicSummandsdimorphicSummandsBymixedDimorphicSummandsBy $fShowLineLenSpecExpandFixed ExpandUntil FixedUntilexpandfixed expandUntil fixedUntil$fDefaultLenSpecOccSpec predicate predOccSpec splitAtOcc AlignSpecAlignOccNoAlignnoAlign occSpecAlign predAlign charAlign$fDefaultAlignSpecVHStartCenterEndleftrightcentertopbottom$fDefaultPosition$fShowPosition$fShowPosition0 $fEqPosition HeaderColSpec headerColumn$fDefaultHeaderColSpec HeaderSpecHeaderHSNoneHSfullHtitlesH$fDefaultHeaderSpeclenSpecposition alignSpeccutMarkcolumn$fDefaultColSpecColRowRowGrouprowsrowsGrowG StringBuilderstringBcharBreplicateCharBspacesB$fStringBuilderEndo$fStringBuilder[] hLineDetailhLine hLineContentCutInfoSidesCI MarkLeftCI MarkRightCI CutActionFillCACutCANoneCACelldropLeft dropRightdropBoth visibleLengthmeasureAlignment buildCell remSpacesB remSpacesB'pad trimOrPadtrimalign surplusSpacedetermineCutAction determineCutsspacesAfterCut applyCutInfo viewRange cellRange alignFixed$fCell[] $fEqCutAction$fShowCutAction $fEqCutInfo $fShowCutInfo ColModInfo FillAlignedFillToFitToshowCMIwidthCMI unalignedCMIensureWidthCMIensureWidthOfCMI fitTitlesCMIcolumnModifierderiveColModInfosderiveColModInfos' deriveColModsderiveAlignInfoheaderCellModifierpandocPipeTableLinesapplyPandocPositionMarker Formattedplain formatted$fCellFormatted$fIsStringFormatted$fFunctorFormatted TableStyle headerSepH headerSepLC headerSepRC headerSepC headerTopL headerTopR headerTopC headerTopHheaderVgroupV groupSepH groupSepC groupSepLC groupSepRC groupTopC groupTopL groupTopR groupTopH groupBottomC groupBottomL groupBottomR groupBottomH asciiRoundSasciiSunicodeSunicodeBoldHeaderS unicodeRoundS unicodeBoldSunicodeBoldStripedSunicodeDoubleFrameS colsAsRowsAll colsAsRowsvPadAllvPaddotAlignnumColfixedCol fixedLeftCol gridLines gridStringaltLinescheckeredCellscolsGcolsAllG tableLines tableStringbaseGHC.BaseStringFitStateLine lineLength lineWordCount lineWords Data.OldListwords finishLinemapInitmixedDimorphicSpacesghc-prim GHC.TypesChar1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassDefaultdef