úÎM†H      Safe259;HState monad providing context, i.e. function we've already called before.datatype for a token returning a random string$Pretoken, aka token as first read in dataype for a key aka token name0datatype for a double representing a probabilityFunction to transform a 8 into a `Tree String` so that it can be pretty-printed. tokToTree 1.0 tok@Compare inside the state monad using only the underlying objectsMake O a monoid so we can append them together nicely (since they do generate text). d(Value "Hello") <> (List [(0.5," you"), (0.5, " me")]) (List [(0.5,"Hello you"), (0.5, "Hello me")])   None259; Draw as a syntax Tree"Get directory associated to a file1Function to apply a value on both arguments, e.g. between .$ (symbol "\'")0Normalize pre-tokens/corresponding probabilities-Helper function for creating a cdf from a pdfShow as a T.TextPretty-print a ParseError Strip a pre-token's name!Read a file in as a Text"cAdd a PR for this? Could be useful in Megaparsec idk Allows us to use monoidal addition on parsers  !"  !  !"None25Datatype for a semantic error#5Throw custom error given by string, within the parser$Throw  error within parser%+Throws argument for circular function calls&'Throws error for insufficient arguments'Constant to start s( Convert a Text to a ) for use with a pretty-printer**big semantics checker that sequences stuff+'helper to filter out stuff that doesn't,fTake the head of the list, or throw the appropriate error given which functions we are trying to call.-:Access argument, or throw error if the list is too short. .'checker to verify there is at most one  `:return` statement/ Checks that we have at most one  `:return` template in the file0Derived via our show instance;1 display a ! nicely with coloration & whatnot#$%&'(*+,-./01#$%&'(*+,-./#$%&'(*+,-./01None25 Generate randomized text from a 25Helper function to compute the cdf when we have a pdf222None253Get the :return value4(Convert the stuff after the number to a 56Build token in tree structure, without concatenating. 62Build the token without concatenating, yielding a $ suitable to be printed as a tree. 7+Given keys naming the tokens, and lists of  , build our 8PSort the keys that we have parsed so that dependencies are in the correct places9.Ordering on the keys to account for dependency :;<3456789 :;<3456789 :;<3456789None25=1Parse a lexeme, aka deal with whitespace nicely. >*space consumer with awareness for comments?6parse a symbol, i.e. string plus surrouding whitespace@Parse a number/probabilityAParse an integerB-Make sure definition blocks start un-indentedC0Make contents of definition blocks are indented.DParse between quotesEParse a keywordF Parse a varG Parse the G keyword.H Parse the H keyword.I Parse the  `:return` keyword.J&Parse a template name (what follows a  `:define` or K block)LParse a modifierMParse template into a  of referents and stringsN*Parse a probability/corresponding templateO Parse an HPParse a G blockQ Parse the  `:return` blockRParse the program in terms of  and the s to link them. QParse text as a token + context (aka a reader monad with all the other functions)SParse text as token + contextT!Parse text as a list of functionsU@Parse text as a list of tokens, suitable for printing as a tree. Parse text as a token 'f <- readFile "template.mad" parseTok f| Parse text given a contextV8Parse text as a token, suitable for printing as a tree..WParse inclustions=>?@ABCDEFGHIJLMNOPQR STU VW=>?@ABCDEFGHIJLMNOPQR STU VW=>?@ABCDEFGHIJLMNOPQR STU VWNone25 Parse a template file into the  data typeX'Generate text from file with inclusions :Generate randomized text from a file conatining a templateYRun in the appropriate folder -Run based on text input, with nothing linked.ZGet file as contextBParse a template into a RandTok suitable to be displayed as a tree X Y Z X Y Z X Y Z None25 [datatype for the subcommands\datatype for the program]/Parser for command-line options for the program^Parser for debug subcommand_Parser for the run subcommand`Parser for the lint subcommandMain program actionaWraps parser with help parserb7given a parsed record perform the appropriate IO action[cdefgh\ijk]^_`ab[cdegfh\ijk]^_`ab [cdefghh\ijk]^_`abNone25   l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg h i j k l m n o p q r s t u i v wx&madlang-2.1.1.3-EZu805YW83KCMToAml8UHB Text.MadlibsText.Madlibs.Internal.TypesText.Madlibs.Internal.UtilsText.Madlibs.Cata.SemErrText.Madlibs.Cata.RunText.Madlibs.Ana.ParseUtilsText.Madlibs.Ana.ParseText.Madlibs.Ana.ResolveText.Madlibs.Exec.MainContextRandTokListValue SemanticErrorOverloadedReturnsCircularFunctionCallsInsufficientArgsrun parseTokMparseTok parseFilerunFilerunTextmakeTree runMadlangPreTokKeyProb tokToTree $fEqStateT$fMonoidRandTokNameapply displayTreegetDir.$ normalizecdfshow'parseErrorPretty'unTok readFile'$fMonoidParsecT customErroroverloadedReturnscircularFunctionCallsinsufficientArgs semErrStarttext',ansi-wl-pprint-0.6.7.3-EqhsHSbxOT2xFHZZJCFwfText.PrettyPrint.ANSI.LeijenDoccheckSemanticssumProbhead'access checkReturn singleReturn$fExceptionSemanticError$fShowSemanticErrormkCdf takeTemplate concatTokbuildTok buildTreebuildsortKeys orderKeys modifierListjumblestriplexeme spaceConsumersymbolfloatinteger nonIndented indentGuardquotekeywordvardefineincludemainnamebaseGHC.BasereturnmodifierpreStrpair inclusions definitionfinalprogram parseTreeM parseTokF parseTreeF parseTreeparseInclusionsgetInclusionCtx runInFolderparseCtx SubcommandProgramordersdebugtemplintwrappertemplateDebugRunLintversionrepclInputssubinput