h*SN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN2.8.0 Safe-InferredvOPQRSTUV Safe-Inferred "%&'-49:; 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. weederConfiguration that has been parsed from TOML (and can still be converted back), but not yet compiled to a  . weeder"Configuration for Weeder analysis.Wweeder(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 3.%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..weeder&The module this declaration occurs in./weeder!The symbol name of a declaration.0weeder2The empty analysis - the result of analysing zero .hie files.1weederDetermine the set of all declaration reachable from a set of roots.2weederThe set of all declarations that could possibly appear in the output.3weederIncrementally update # with information in a X.Yweeder Names mentioned within the type.ZweederaddDependency x y adds the information that x depends on y.[weederVersion of findIdentifiers containing more information, namely the IdentifierDetails of the declaration and the node it was found in.\weeder0Add evidence uses found under the given node to +.]weederFollow the given evidence uses back to their instance bindings, and connect the declaration to those bindings.4weeder"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#$%&'()*+4302 !"1,-./#$%&'()*+4302 !"1,-./ Safe-Inferred%&'-Iweeder2Run Weeder on the given .hie files with the given  .Returns a list of Bs that can be displayed using H, and the final #.IBCDEFGHIBCDEFGH Safe-Inferred"%&'-4> ^weeder+Each exception corresponds to an exit code._weeder Error message`weederConvert ^ to the corresponding a' and emit an error message to stderr.Additionally, unwrap b exceptions: this is for L.Jweeder(Parse command line arguments and into a   and run K.:Exits with one of the listed Weeder exit codes on failure.Kweeder9Run 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.LweederFind 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 b to the calling thread.cweederRecursively search for files with the given extension in given directorydweeder:Read a .hie file, exiting if it's an incompatible version.eweeder)An infix operator for logical implicationfweederPath to HIE fileweederHIE file's header versioncweeder-Only files with this extension are consideredweederDirectory to look inJKLJKLe5       !"#$%&'())*+,-./01123456789:;<=>?@ABCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno#weeder-2.8.0-LLWyvDLkfMUFuW7r7YiEQF Weeder.ConfigWeeder Weeder.Run Weeder.Mainweeder Paths_weederInstancePatterninstancePattern classPattern modulePattern ConfigTypeConfig rootPatternstypeClassRoots rootInstances unusedTypes ConfigParsed ModuleOnly ClassOnly InstanceOnly defaultConfigdecodeNoDefaults compileConfig configToToml$fDecodeTOMLInstancePattern$fSemigroupInstancePattern$fDecodeTOMLConfigType$fDecodeTOMLConfigType0$fEqConfigType$fShowConfigType$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$fNFDataDeclarationWeedweedPathweedLocweedDeclarationweedPrettyPrintedType formatWeed runWeedermainmainWithConfig getHieFiles$fExceptionWeederException$fShowWeederExceptionversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDirdecodeInstancePatternghcGHC.Iface.Ext.TypesHieFile typeToNames addDependencyfindIdentifiers'requestEvidencefollowEvidenceUsesWeederExceptionExitConfigFailurehandleWeederExceptionbaseGHC.IO.ExceptionExitCode"async-2.2.5-BoH7TanVucv9SxHTRINGPB!Control.Concurrent.Async.InternalExceptionInLinkedThread getFilesInreadCompatibleHieFileOrExit==>ExitHieVersionFailure