caV2       Safe-Inferred24r !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferredlike F , except does not match newlines skipUntil p& ignores everything that comes before p. Returns what p returns.Data.Map utils !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred=An abstract data type which represents Docopt usage patterns.#Retrieve the original usage string.Maps each Option to all of the valued parsed from the command line (in order of last to first, if multiple values encountered)xContains all the relevant information parsed out of a usage string. Used to build the actual command-line arg parser.yMaps each available option to a OptionInfo entry (each synonymous option gets its own separate entry, for easy lookup)uUsed when parsing through the available option descriptions. Holds a list of synonymous options, Maybe a default value (if specified), an expectsVal :: Bool that indicates whether this option is a flag (--flag) or an option that needs an argument (--opt=arg), and isRepeated :: Bool that indicates whether this option is always single or needs to be accumulated+A named leaf node of the usage pattern tree--None9Flattens the top level of a Pattern, as long as that does not, alter the matching semantics of the PatternPIgnores leading spaces and first word, then parses the rest of the usage linedSucceeds only on the first line of an option explanation (one whose first non-space character is )Main usage parser: parses all of the usage lines into an Exception, and all of the option descriptions along with any accompanying defaults, and returns both in a tupleCompare on specificity of parsers built from optA and optB, so we can be sure the parser tries the most-specific first, where possible. E.g. LongOption "option" > ShortOption o; == True Command "cmd" > Argument "arg" == TrueSort an OptPattern such that more-specific patterns come first, while leaving the semantics of the pattern structure unchanged.  Safe-InferredThe meat and potatoes. delimE is an obscure delimiter with which to intercalate the argv list, fmtg is the OptPattern together with metadata to tell the parser how to parse args. Together, these let buildOptParser6 build a parsec parser that can be applied to an argv.Iconverts a parser to return its user-state instead of its return value  None NoneA , which parses a usage string and returns a .Example usage: patterns :: Docopt patterns = [docopt| docopt-sample version 0.1.0 Usage: docopt-sample cat <file> docopt-sample echo [--caps] <string> Options: -c, --caps Caps-lock the echoed argument |] ,For help with the docopt usage format, see  Jhttps://github.com/docopt/docopt.hs/blob/master/README.md#help-text-formatthe readme on github.Same as 9, but parses the given file instead of a literal string.Example: 2patterns :: Docopt patterns = [docoptFile|USAGE|] where USAGEn is the name of a file which contains the usage string (relative to the directory from which ghc is invoked).  Safe-InferredParse command line arguments.Same as , but   on parse failure. E.g. ,args <- parseArgsOrExit patterns =<< getArgs Exit after printing usage text. Exit after printing a custom message followed by usage text. Intended for convenience when more context can be given about what went wrong. 2 if an option was present at all in an invocation. Useful with s and s, and in conjunction with  . ( the value of the argument supplied, or  if one was not given.-If the option's presence is required by your 2 usage text (e.g. a positional argument), as in Usage: prog <required>then !getArg args (argument 'required') is guaranteed to be a .Same as  , but   if .As in  -, if your usage pattern required the option,  will not exit.Same as  , but eliminate  with a default argument.5Returns all occurrences of a repeatable option, e.g.  <file>....?Return the number of occurrences of an option in an invocation.#Useful with repeatable flags, e.g. [ -v | -vv | -vvv].For Usage: prog cmd , ask for  command "cmd".For Usage: prog <file> , ask for argument "file".For Usage: prog -h , ask for shortOption 'h'.For Usage: prog --version , ask for shortOption "version".   None&Parse docopt-formatted usage patterns..For help with the docopt usage format, see  Jhttps://github.com/docopt/docopt.hs/blob/master/README.md#help-text-formatthe readme on github.Same as , but   on parse failure. E.g. Rlet usageStr = "Usage:\n prog [--option]\n" patterns <- parseUsageOrExit usageStr   None                 ! " # $ % & ' ()*+,-+,.+,/+,0+,1+,2+,3+,4+,5+,6+,7+,8+,9+,:+,;+,;+,<+,=+,>+,?+,@+,A+,B+,C+,C+DE+FG HI JK JL JM JN JO JP JQ JR JS JT JU JV JW JX JY JZ J[ \] \^ \_ `a `b `c de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz {| {} {~ { { { { { { { { { { { { { { { { { { { { { { { {     ++++       ++docopt-0.7.0.0System.Console.Docopt.NoTHSystem.Console.Docopt'System.Console.Docopt.ApplicativeParsec System.Console.Docopt.ParseUtilsSystem.Console.Docopt.Types System.Console.Docopt.UsageParseSystem.Console.Docopt.OptParse"System.Console.Docopt.QQ.InstancesSystem.Console.Docopt.QQSystem.Console.Docopt.Public Control.Monadwhen parsec-3.1.8Text.Parsec.Error ParseErrorDocoptusage ArgumentsOptiondocopt docoptFile parseArgsparseArgsOrExit exitWithUsageexitWithUsageMessage isPresent notPresentgetArggetArgOrExitWithgetArgWithDefault getAllArgs getArgCountcommandargument shortOption longOption getAllArgsM notPresentM isPresentM getFirstArg parseUsageparseUsageOrExitbaseControl.Applicative<*>pure Alternative ApplicativeliftA3liftA2liftA<**><**>manysomeemptygetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>GHC.Base<$"Text.ParserCombinators.Parsec.Char CharParserText.Parsec.CharstringsatisfyanyCharcharoctDigithexDigitdigitletteralphaNumloweruppertabnewlinespacespacesnoneOfoneOf"Text.ParserCombinators.Parsec.Primtry runParserpzeroText.Parsec.String parseFromFileParser GenParserText.Parsec.CombinatormanyTill notFollowedByeofanyTokenchainr1chainl1chainlchainrcountendByendBy1sepEndBy sepEndBy1sepBy1sepBymany1 skipMany1betweenoptional optionMaybeoptionchoiceText.Parsec.Prim updateStatesetStategetStatesetParserStategetParserStatesetInput setPositiongetInput getPosition parseTestparseskipMany tokenPrimEx tokenPrimtoken lookAheadtokenslabelslabel<|> unexpected stateUserstatePos stateInputStateerrorPosText.Parsec.PossetSourceColumn setSourceLine setSourceNameincSourceColumn incSourceLine sourceColumn sourceLine sourceName SourceNameLineColumn SourcePos inlineSpaces skipUntilalterAllWithKeylowersupperslettersnumerics specialChars alphanumericsalphanumSpecialcaseInsensitive lookAhead_isNotFollowedBy isInlineSpace inlineSpace inlineSpaces1spaces1endlineoptionalEndlinepipeellipsis manyTill1pGroupbetweenS GHC.UnicodetoUppertoLowerisSpace OptFormat OptInfoMap OptionInfo optFormatArgValue NotPresentPresentCountedNoValueValue MultiValueOptParserState optInfoMap parsedArgsinShortOptStackinTopLevelSequencesynonyms defaultVal expectsVal isRepeated OptPattern AnyOptionArgumentCommand ShortOption LongOptionPatternAtomRepeatedOptional UnorderedOneOfSequenceNameatomshumanize fromSynListfromOptInfoMapflatten pUsageLine begOptionLineGHC.Num-pDocoptcompareOptSpecificity eagerSort flatSequence flatOneOfpLinepExpSeq pOptGroup pReqGroupsaveOptionsExpectVal pShortOptionpStackedShortOption pLongOption pAnyOptionpOptionArgument pArgumentpCommand repeatablepExp pUsageHeaderpUsagePatterns pOptSynonyms pDefaultTag pOptDefaultpOptDescriptionpOptDescriptionsexpectSynonyms canRepeatbuildOptParser returnStateupdateInShortOptStackupdateParsedArgssaveOccurrence assertPresentwithEachSynonymoptInitialValueoptDefaultValue getArguments $fLiftMap $fLiftOptiontemplate-haskellLanguage.Haskell.TH.Quote QuasiQuoterparseFmt docoptExpghc-prim GHC.TypesTrue Data.MaybeJustNothing