4w*:{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzportable provisionalotakar.smrz mff.cuni.cz Safe-InferredI{|}~  !"#$%&'()*+,-./0123456789:;<==  !"#$%&'()*+,-./0123456789:;<==  !"#$%,0./-&'()+*123457689:;<=D{~}|  !"#$%&'()*+,-./0123456789:;<=NoneK3Rules map names of files to actions building them. N0Run an action in the context of a set of rules. Was the file already produced? O*Answer a question using the action given. 0 The action must be independent of the context. =Answer a question using the action given. The action must be ? independent of the context. The result is not compared to the ? previous run, so it is the caller responsibility that the new ( answer is properly taken into account. P(Produce a file, using the given action. 2 The action should be independent of the context. Q-Produce a file, using with the given action. 2 The action should be independent of the context. : BUT: no problem to produce the same file multiple times. R%List directory contents by extension SAMark that a file is used. Do not chase dependencies on this file > though. (To be used eg. if a command uses an optional file). T>File was modified by some command, but in a way that does not E invalidate previous computations. (This is probably only useful for  latex processing). BRun the argument in a clean context, and do not clobber the state B even if the argument does that. To use when the construction of A the argument actually does not depend on the previous questions % asked, and the constructed thing is atomic for the environment. V!Return a stamp (hash) for a file W,Run the action in only in a clobbered state X=Try to build a file using known rules; then mark it as used. ;>?@ABCDEFGHIJKLMNOPQRSTUVWX9>?@ABCDEFGHIJKLMNOPQRSTUVWXKLMJNXRPQSTUOVW>A@?FIHGBEDC*>A@?BEDCFIHGJKLMNOPQRSTUVWXNoneYZYZZYYZNone[\]^_`abcdefghijklmnopqrstu[\]^_`abcdefghijklmnopqrstu[\]^_`abcdefghijklmnopqrstu[\]^_`abcdefghijklmnopqrstuNonevwxyzvwxyzvwxyzvwxyzNoneV>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~US-2( cake-0.4.2.0 Cake.CoreParsek Cake.Process Cake.Rules Cake.MarxupCake mtl-2.1.2Control.Monad.Error.Class throwError ParseResult ParseMethodUnexpectExpectParser anySymbolsatisfylabellooksucceedsstringcharnoneOfoneOfspacesspacenewlinetabupperloweralphaNumletterdigithexDigitoctDigitanyCharmunchmunch1pzero<|><<|>trychoiceoptionoptionalbetween skipMany1skipManymany1manysepBysepBy1countchainrchainlchainr1chainl1 parseFromFileparseshortestResult longestResultlongestResultsallResultsStaged allResultscompleteResultsshortestResultWithLeftoverlongestResultWithLeftoverlongestResultsWithLeftoverallResultsWithLeftovercompleteResultsWithLineQuestionCustomListing FileContentsFailure ProcessErrorPanic CakeErrorAnswerFailedTextStampActRuleP==>cakedistillproduceproduce'listuse overwrotedebug fileStampcutneedsystem processIO extension anyExtensioncopymkdirtouchreadFile _pdflatex_bibtexpandocgraphvizneedingsimpletex_markdown_standalonepdf_texargsOf getBibFiles++? includedTex chaseDepspdflatexBibtexpdf_tex_bibtexpdflatexBiblatexpdf_tex_biblatex_lhs2TeXlhs2textex_lhsallRulesghcMakemarxupmpostremove pdf_marxupResultFailLookSymbolplusfailSymfailEof$fMonadPlusParser $fMonadParser$fFunctorParserproducedrefreshshielded $fShowFailure$fBinaryQuestion$fBinaryExitCode$fBinaryFailureStatusDirtyCleanContext ctxHandlectxRulectxDB ctxProducingWrittenStateProducedDB databaseFilelogFilemodCxrunActfindRuleclobber$fAlternativeParser$fApplicativeParser$fErrorFailure$fShowQuestion$fBinaryAnswerbaseControl.Applicative ApplicativeliftA3liftA2liftA<**><**><*>puresomeempty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>GHC.Base<$quotemaybeM processIO'system'succeed