h*~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST2.9.0 Safe-InferredUVWXYZ[\ Safe-Inferred "%&'-49:;C weederConstruct via InstanceOnly, ClassOnly or ModuleOnly, and combine with the Semigroup instance. The Semigroup instance ignores duplicate fields, prioritising the left argument.weederUnderlying type for   and  .weederAny declarations matching these regular expressions will be added to the root set.weederIf True, consider all declarations in a type class as part of the root set. Overrides root-instances.weederAll matching instances will be added to the root set. An absent field will always match. weederToggle to look for and output unused types. Type family instances will be marked as implicit roots. weeder3All matching modules will be added to the root set. weederConfiguration that has been parsed from TOML (and can still be converted back), but not yet compiled to a  . weeder"Configuration for Weeder analysis.]weeder(Decoder for a value of any of the forms: {instance = t, class = c, module = m} -> InstanceClassAndModule t c m a -> InstanceOnly a  {instance = t} -> InstanceOnly t {class = m} -> ClassOnly cetc.         Safe-Inferred "'-4<>#weeder!A root for reachability analysis.$weederA given declaration is a root.%weederWe store extra information for instances in order to be able to specify e.g. all instances of a class as roots.&weeder0All exported declarations in a module are roots.'weederAll information maintained by 7.)weeder5A graph between declarations, capturing dependencies.*weederA partial mapping between declarations and their line numbers. This Map is partial as we don't always know where a Declaration was defined (e.g., it may come from a package without source code). We capture a set of sites, because a declaration may be defined in multiple locations, e.g., a type signature for a function separate from its definition.+weederStores information on Declarations that may be automatically marked as always reachable. This is used, for example, to capture knowledge not yet modelled in weeder, or to mark all instances of a class as roots.,weederAll exports for a given module.-weederA map from modules to the file path to the .hs file defining them..weederUsed to match against the types of instances and to replace the appearance of declarations in the output/weederMap from declarations to the names containing evidence uses that should be followed and treated as dependencies of the declaration. We use this to be able to delay analysing evidence uses until later, allowing us to begin the rest of the analysis before we have read all hie files.2weeder&The module this declaration occurs in.3weeder!The symbol name of a declaration.4weeder2The empty analysis - the result of analysing zero .hie files.5weederDetermine the set of all declaration reachable from a set of roots.6weederThe set of all declarations that could possibly appear in the output.7weederIncrementally update ' with information in a ^._weeder Names mentioned within the type.`weederaddDependency x y adds the information that x depends on y.aweederVersion of findIdentifiers containing more information, namely the IdentifierDetails of the declaration and the node it was found in.bweeder0Add evidence uses found under the given node to /.cweeder=Follow the given evidence use back to their instance bindings8weeder"Follow evidence uses listed under / back to their instance bindings, and connect their corresponding declaration to those bindings.%weederDeclaration of the instanceweederDeclaration of the parent class'()*+,-./8746#$%&50123'()*+,-./8746#$%&50123 Safe-Inferred%&'-Oweeder2Run Weeder on the given .hie files with the given  .Returns a list of Fs that can be displayed using N, and the final '. OFGHIJKLMN OFGHIJKLMN Safe-Inferred "%&'-4n dweeder+Each exception corresponds to an exit code.eweeder Error messagefweederConvert d to the corresponding g' and emit an error message to stderr.Additionally, unwrap h exceptions: this is for R.Pweeder(Parse command line arguments and into a   and run Q.:Exits with one of the listed Weeder exit codes on failure.Qweeder9Run Weeder in the current working directory with a given  .This will recursively find all files with the given extension in the given directories, perform analysis, and report all unused definitions according to the  .:Exits with one of the listed Weeder exit codes on failure.RweederFind and read all .hie files in the given directories according to the given parameters, exiting if any are incompatible with the current version of GHC. The .hie files are returned as a lazy stream in the form of a list.Will rethrow exceptions as h to the calling thread.iweederRecursively search for files with the given extension in given directoryjweeder:Read a .hie file, exiting if it's an incompatible version.kweeder)An infix operator for logical implicationlweederPath to HIE fileweederHIE file's header versioniweeder0Only files matching this pattern are considered.weederDirectory to look inPQRPQRk5       !"#$%&'()*+,--./01234556789:;<=>?@ABCDEFGHIJJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu#weeder-2.9.0-Ky24d8HKddt9548OmNphKc Weeder.ConfigWeeder Weeder.Run Weeder.Mainweeder Paths_weederInstancePatterninstancePattern classPattern modulePattern ConfigTypeConfig rootPatternstypeClassRoots rootInstances unusedTypes rootModules ConfigParsed ModuleOnly ClassOnly InstanceOnly defaultConfigdecodeNoDefaults compileConfig configToToml$fDecodeTOMLInstancePattern$fSemigroupInstancePattern$fDecodeTOMLConfigType$fDecodeTOMLConfigType0$fEqConfigType$fShowConfigType$fFunctorConfigType$fFoldableConfigType$fTraversableConfigType$fEqInstancePattern$fShowInstancePattern$fOrdInstancePattern$fFunctorInstancePattern$fFoldableInstancePattern$fTraversableInstancePatternRootDeclarationRoot InstanceRoot ModuleRootAnalysisdependencyGraphdeclarationSites implicitRootsexports modulePathsprettyPrintedTyperequestedEvidence Declaration declModule declOccName emptyAnalysis reachableoutputableDeclarationsanalyseHieFileanalyseEvidenceUses$fShowDeclaration$fMonoidAnalysis$fSemigroupAnalysis$fGenericAnalysis$fNFDataAnalysis$fEqRoot $fOrdRoot $fGenericRoot $fNFDataRoot$fEqDeclaration$fOrdDeclaration$fGenericDeclaration$fNFDataDeclarationWeed weedPackageweedPathweedLineweedColweedDeclarationweedPrettyPrintedType formatWeed runWeedermainmainWithConfig getHieFiles$fExceptionWeederException$fShowWeederExceptionversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDirdecodeInstancePatternghcGHC.Iface.Ext.TypesHieFile typeToNames addDependencyfindIdentifiers'requestEvidencefollowEvidenceUsesWeederExceptionExitConfigFailurehandleWeederExceptionbaseGHC.IO.ExceptionExitCode"async-2.2.5-DN6cRz8KZfZ7gXpVTruW09!Control.Concurrent.Async.InternalExceptionInLinkedThread getFilesInreadCompatibleHieFileOrExit==>ExitHieVersionFailure