h&AE4      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                          Safe-Inferred"1%compatibility wrapper for http-client Toshio Ito  Safe-Inferred"6 staversionHTTP status code!types and functions about logging Toshio Ito  Safe-Inferred" staversionIf , logging is disabled." staversion6FOR TEST: the IORef is the history of logged messages. !" !" Megaparsec compatibility wrapper Toshio Ito  Safe-Inferred" staversionSee: https://github.com/fpco/stackage/issues/2666#issuecomment-318472919 staversion0 combatible with Megaparsec 5. In Megaparsec 6,  function takes and produces  if we use  as the ( type, probably for better performance. staversion combatible with Megaparsec 5."Query, Result and related symbols. Toshio Ito  Safe-Inferred" -- staversionQuery for package version(s).2 staversionSource of packages.3 staversion stackage.4 staversionhackage (latest)5 staversionstack.yaml file. Its "resolver" field is used as the package source.6 staversionthe resolver that the stack command would use by default.7 staversion)Resolver name at stackage like "lts-4.1".9 staversiondescription of a 2.,-./0123456789:87234569-./01:, Toshio Ito  Safe-Inferred"  staversionfirst action tried. staversion0the action executed if the first action returns .$functions dealing with .cabal files. Toshio Ito  Safe-Inferred"RA staversion A block of build-depends:.E staversionBuild target type.F staversionthe library target.G staversionthe executable NAME target.H staversionthe test-suite NAME target.I staversionthe benchmark NAME target. staversion4expected field name. If Nothing, it just don't care. staversion%(lower-case field name, indent level) staversion&(lower-case field name, block content) ABCDEFGHIJ JEFGHIABCD9dealing with Stackage and build-plan repositories online. Toshio Ito  Safe-Inferred"uR staversion*Potentially partial resolver for stackage.T staversion lts (latest)U staversion lts-(major)V staversionnightly (latest)W staversion3Non-ambiguous fully-resolved resolver for stackage.X staversionlts-(major).(minor)Y staversionnightly-(year)-(month)-(day)] staversion Fetch the Q from the Internet.^ staversiondisambiguation JSON text.QRSTUVWXYZ[\]^WXYRSTUVZ[\Q]^)Central entity that deals with stack.yaml Toshio Ito  Safe-Inferred" staversion stack.yaml content staversion Element of packages3 field. If the path is for the main project (i.e.  extra-dep is false), it's . Otherwise, it's .f staversion.Central entity that deals with stack.yaml and stack command.g staversion(accessor) shell command for stack tool.j staversion Read the resolver field in stack.yaml. staversion Get the path to stack.yaml that stack uses as the current config. staversion"paths to all project .cabal files.i staversionpath to stack.yaml. If !, the default stack.yaml is used. staversion0paths to all .cabal files of the stack projects.j staversionpath to stack.yaml. If !, the default stack.yaml is used.fghijkfhgjikCompatibility wrapper for Distribution.Version etc. from Cabal package Toshio Ito  Safe-Inferred"]t staversionA Version type by  Data.Version.v staversionParse a version text. There must not be any trailing characters after a valid version text.  tuvwxyz   wyxztuv"Result data type and its utilities Toshio Ito  Safe-Inferred"{ staversion6Results for a query aggregated over different sources. staversionFor backward-compatibility. staversionthe 2 queried by user. staversionthe real (exact) 2 resolved. staversionResult for a query. staversion Create an { that includes just one . staversion0Get package names and corresponding values from (, regardless of its internal structure.{|}~{|}~parsing Version Toshio Ito  Safe-Inferred" staversiona wrapper around  for JSON I/Fvv$Common parsers for BuildPlan modules Toshio Ito  Safe-Inferred" 1(virtual) BuildPlan expressing the latest Hackage Toshio Ito  Safe-Inferred" staversionSorted list of preferred versions of the package. The head is the latest. &BuildPlanMap type and related symbols. Toshio Ito  Safe-Inferred" staversion Types that have mapping between 8 and . staversionA data structure that keeps a map between package names and their versions. /The legacy "version 1" of build plan YAML files Toshio Ito  Safe-Inferred" staversionFetch build plan YAML data from the Internet. This function fetches a build plan YAML file of "version 1" format. staversion1Parse "version 1" format of build plan YAML file. staversionLoad a  from a file. ;Build plan of core packages (those bundled with a compiler) Toshio Ito  Safe-Inferred"; G  staversion.Compilers and its corresponding core packages. staversion/Build plan of the core packages for a compiler. staversion$A compiler with an explicit version. staversionVersion of a compiler staversionthe HEAD version staversiona numbered version. staversionName of a compiler staversionMake a  CompilerVersion. staversion Name of ghc. staversion8Parse the "pkg_versions.txt" file for GHC core packages. staversion*Fetch the "pkg_versions.txt" from the Web.  Pantry YAML format of build plan Toshio Ito  Safe-Inferred"# staversion1Internal type to parse a compiler in Pantry YAML. staversion0Internal type to parse a package in Pantry YAML. staversionA build plan map loaded from a Pantry YAML file. This is not a complete #, because it implicitly refers to 3. That's why its data constructor is not exported. staversionName of a pantry snapshot staversionCombine  and  to make a complete . staversion Select a ( from the given map to make a complete  from . staversionParse a YAML document for a . staversion,Fetch a Pantry build plan file from the Web. staversion?Parser of a symbol that follows the packageName-version string.Handle build plan YAML files. Toshio Ito  Safe-Inferred"' staversionStateful manager for s. staversion(accessor function) path to the directory where build plans are hold. staversion;(accessor function) low-level HTTP connection manager. If /, it won't fetch build plans over the network. staversion3(accessor function) cache of resolver disambigutor staversion cache of compiler core packages. staversion(accessor function) staversionA  associated with its 2. staversion1path to the directory where build plans are hold. staversionIf ?, it queries the Internet for build plans. Otherwise, it won't. staversion7package names whose versions the user is interested in. staversion Safe-Inferred". staversionAggregateion monad staversionAggregate some  s into a  . staversionLet Cabal convert   to  staversionAggregator of ORed versions. staversionAggregate versions to the range that the versions cover in a PVP sense. This aggregator sets the upper bound to a major version, which means it assumes major-version bump is not backward-compatible. staversionAggregate versions to the range that versions cover in a PVP sense. This aggregator sets the upper bound to a minor version, which means it assumes minor-version bump is not backward-compatible. staversion Aggregate s with the given . It first groups s based on its 3 field, and then each group is aggregated into an {.)If it fails, it returns an empty list of {. It also returns a list of  s to report warnings and errors. staversion#Aggregate one or more maps between 8 and . The input  s should all be . ? version is warned and ignored. If the input versions are all , the result version range is .The 8 lists in the input must be consistent (i.e. they all must be the same list.) If not, it returns  map and an error is logged. staversionThe comparator that determines if the two elements are in the same group. This comparator must be transitive, like . staversion(label,  version map). label is used for error logs.   formatting Result output. Toshio Ito  Safe-Inferred"0 staversionheader and child blocks staversion&a block, which consists of some lines. staversion lines and # lines are handled differently by /. It puts commas at the right places assuming  lines are commented out. staversion Format for  . staversionLet Cabal format  . staversion Similar to %, but it uses the "caret" operator (^>=) where possible.Command from the user. Toshio Ito  Safe-Inferred"3h  staversionDefault values for . staversionCommand from the user. staversion8path to the directory where build plan files are stored. staversionshell command to invoke stack tool. staversion the logger staversionpackage sources to search staversionpackage queries staversionif 4, it accesses the Internet to query build plans etc. staversionif ", do aggregation over the results. staversionconfig for the formatter staversionJust for testing.   executable Toshio Ito  Safe-Inferred"3 !"#$%&%'%()*+,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                             (staversion-0.2.4.2-v6w5WimtVPDsi2cPjRYLpStaversion.Internal.VersionStaversion.Internal.LogStaversion.Internal.QueryStaversion.Internal.Cabal&Staversion.Internal.BuildPlan.StackageStaversion.Internal.StackConfigStaversion.Internal.Result%Staversion.Internal.BuildPlan.Version%Staversion.Internal.BuildPlan.Hackage*Staversion.Internal.BuildPlan.BuildPlanMap Staversion.Internal.BuildPlan.V1"Staversion.Internal.BuildPlan.Core$Staversion.Internal.BuildPlan.PantryStaversion.Internal.BuildPlanStaversion.Internal.AggregateStaversion.Internal.FormatStaversion.Internal.CommandStaversion.Internal.ExecPaths_staversionStaversion.Internal.HTTPStaversion.Internal.MegaparsecStaversion.Internal.EIO$Staversion.Internal.BuildPlan.Parser Cabal-3.6.3.0Distribution.VersionsimplifyVersionRange)Distribution.Types.VersionInterval.LegacyVersionInterval UpperBound NoUpperBound LowerBoundInclusiveBoundExclusiveBoundBoundfromVersionIntervalsasVersionIntervals(Distribution.Types.VersionRange.Internal VersionRangeunionVersionRanges thisVersionDistribution.Types.VersionVersionLoggerloggerThresholdLogEntrylogLevel logMessageLogLevelLogDebugLogInfoLogWarnLogError defaultLoggerputLog putLogEntrylogDebuglogInfologWarnlogError _mockLogger $fShowLogger$fShowLogEntry $fEqLogEntry $fOrdLogEntry$fShowLogLevel $fEqLogLevel $fOrdLogLevel$fEnumLogLevel$fBoundedLogLevelErrorMsgQuery QueryNameQueryCabalFileQueryStackYamlQueryStackYamlDefault PackageSourceSourceStackage SourceHackageSourceStackYamlSourceStackDefaultResolver PackageName sourceDesc parseQuery $fShowQuery $fEqQuery $fOrdQuery$fShowPackageSource$fEqPackageSource$fOrdPackageSource BuildDepends depsTarget depsPackagesTarget TargetLibraryTargetExecutableTargetTestSuiteTargetBenchmark loadCabalFile$fShowBuildDepends$fEqBuildDepends$fOrdBuildDepends $fShowTarget $fEqTarget $fOrdTarget DisambiguatorPartialResolver PartialExactPartialLTSLatestPartialLTSMajorPartialNightlyLatest ExactResolverExactLTS ExactNightlyparseResolverStringformatResolverStringformatExactResolverStringfetchDisambiguatorparseDisambiguator$fFromJSONDisamMap$fShowPartialResolver$fEqPartialResolver$fOrdPartialResolver$fShowExactResolver$fEqExactResolver$fOrdExactResolver StackConfig scCommandnewStackConfigreadProjectCabals readResolverconfigLocationFromText$fFromJSONProjectPath$fFromJSONStackYaml$fShowStackYaml $fEqStackYaml$fOrdStackYaml$fShowProjectPath$fEqProjectPath$fOrdProjectPath BaseVersionshowBaseVersionparseVersionText mkVersionversionNumbersmkVersionIntervalsdocVersionRangeAggregatedResult aggResultIn aggResultFor aggResultBody ResultBody'SimpleResultBodyCabalResultBody ResultBody ResultSourceresultSourceQueriedresultSourceRealResultresultIn resultFor resultBodyresultSourceDescsingletonResultresultPackages$fFunctorResultBody'$fShowAggregatedResult$fEqAggregatedResult $fShowResult $fEqResult $fOrdResult$fShowResultBody'$fEqResultBody'$fOrdResultBody'$fShowResultSource$fEqResultSource$fOrdResultSource VersionJSON unVersionJSON$fFromJSONVersionJSON$fShowVersionJSON$fEqVersionJSON$fOrdVersionJSONRegisteredVersionsparsePreferredVersionsJSON latestVersionfetchPreferredVersions$fFromJSONRegisteredVersions$fShowRegisteredVersions$fEqRegisteredVersions$fOrdRegisteredVersions HasVersionspackageVersion BuildPlanMapfromMapfromListtoList$fHasVersionsBuildPlanMap$fSemigroupBuildPlanMap$fMonoidBuildPlanMap$fShowBuildPlanMap$fEqBuildPlanMapfetchBuildPlanYAMLparseBuildPlanMapYAMLloadBuildPlanMapYAML$fFromJSONV1BuildPlanMap$fShowV1BuildPlanMap$fEqV1BuildPlanMap CompilerCoresCoreBuildPlanMap coreCompilercoreMapCompiler compilerNamecompilerVersionCompilerVersionCVHead CVNumbered CompilerNamemkCompilerVersionghcNameparseGHCPkgVersionsfetchGHCPkgVersions$fHashableCompilerVersion$fHashableCompiler$fHasVersionsCoreBuildPlanMap$fShowCoreBuildPlanMap$fEqCoreBuildPlanMap$fShowCompiler $fEqCompiler $fOrdCompiler$fGenericCompiler$fShowCompilerVersion$fEqCompilerVersion$fOrdCompilerVersion$fGenericCompilerVersionPantryBuildPlanMap pantryNamepantryCompiler PantryNametoBuildPlanMapcoresToBuildPlanMapfetchBuildPlanMapYAML$fHasVersionsPantryBuildPlanMap$fFromJSONPantryPackage$fFromJSONPantryCompiler$fFromJSONPantryBuildPlanMap$fShowPantryCompiler$fEqPantryCompiler$fOrdPantryCompiler$fShowPantryPackage$fEqPantryPackage$fOrdPantryPackageBuildPlanManagermanStackConfig BuildPlanbuildPlanSourcenewBuildPlanManager loadBuildPlan_setLTSDisambiguator$fHasVersionsBuildPlan AggregatorshowVersionRangegroupAllPreservingOrderByaggOr aggPvpMajor aggPvpMinoraggregateResultsaggregatePackageVersions FormatConfigfconfFormatVersion FormatVersionformatVersionCabalformatVersionCabalCaretformatAggregatedResultsCommandcommBuildPlanDircommStackCommand commLogger commSources commQueriescommAllowNetworkcommAggregatorcommFormatConfigdefFormatConfigparseCommandArgs_parseCommandStrings$fShowDefCommand$fEqDefCommand$fOrdDefCommandmainprocessCommand)_processCommandWithCustomBuildPlanManager$fShowResolvedQuery$fEqResolvedQuery$fOrdResolvedQueryversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirasStatusFailureException+http-client-0.7.13.1-HLULvZ0Fcbc13m9831bDFGNetwork.HTTP.Client.TypesManagerOurHttpExceptionniceHTTPManagerfetchURLbase GHC.MaybeNothingParserstring text-1.2.5.0Data.Text.InternalText'megaparsec-9.3.0-G4BY3xnMcWu3YtT5QrdhGHText.Megaparsec.StreamStreamstring'GHC.Baseempty<|>Control.Applicativeoptional/parser-combinators-1.3.0-88KGhmkz8neAczPN45sOphControl.Applicative.CombinatorsbetweenchoiceeitherPoptionControl.Monad.Combinatorscountcount'endByendBy1manymanyTill manyTill_somesomeTill someTill_sepBysepBy1sepEndBy sepEndBy1skipManyskipSome skipCount skipManyTill skipSomeTillText.Megaparsec.Charchar'char categoryName charCategory latin1Char asciiChar separatorChar symbolCharpunctuationChar numberCharmarkChar hexDigitChar octDigitChar binDigitChar digitChar printChar alphaNumChar letterChar lowerChar upperChar spaceChar controlCharhspace1space1hspacespacetabeolcrlfnewlineText.MegaparsecsetParserState setOffset getOffset getSourcePossetInputgetInputatEndtakeRestmatchchunknoneOfoneOf anySingleBut anySinglesatisfysingleregisterFancyFailureregisterFailureregisterParseErrorregion customFailure unexpected fancyFailurefailure runParserT' runParserT runParser' runParser parseTest parseMaybeparseParsecText.Megaparsec.InternalParsecTText.Megaparsec.Class MonadParsecupdateParserStategetParserStatetakeP takeWhile1P takeWhilePtokenstoken observing withRecoveryhidden parseError lookAheadlabeltryeof notFollowedByText.Megaparsec.ErrorparseErrorTextPrettyparseErrorPrettyerrorBundlePrettyattachSourcePossetErrorOffset errorOffset mapParseError ErrorItem EndOfInputTokensLabel ErrorFancy ErrorCustom ErrorFailErrorIndentationParseErrorBundlebundlePosState bundleErrorsShowErrorComponentshowErrorComponenterrorComponentLenToken takeWhile_takeN_take1_ chunkEmpty chunkLength chunkToTokens tokensToChunk tokenToChunk ShareInput unShareInput NoShareInputunNoShareInput VisualStream showTokens tokensLengthTraversableStream reachOffsetreachOffsetNoLineText.Megaparsec.StateStatestateParseErrors statePosState stateOffset stateInputPosStatepstateLinePrefixpstateTabWidthpstateSourcePos pstateOffset pstateInputText.Megaparsec.PossourcePosPretty initialPosdefaultTabWidthpos1unPosmkPosPosInvalidPosException SourcePos sourceName sourceLine sourceColumn ParseError TrivialError FancyErroranyChartextSatisfying loggedElse Data.EitherLeftEIOrunEIOtoEIO toEIOShow maybeToEIO eitherToEIO fieldStart fieldBlock StackYaml ProjectPathJustconfigLocationfindProjectCabals parserVersionmanyTillWithEndregPreferredVersionsPantryCompiler PantryPackage parserPackagemanBuildPlanDirmanHttpManagermanDisambiguatormanCoresghc-prim GHC.TypesTrueAggMStringMaybe GHC.Classes==RBHeadRBLines ResultLineRightformatResultBlock DefCommand