h*+6#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                   2.8.0.0 Safe-Inferred1VXUW S&4C(*E6 O !"#$%')+,-./01235789:;<=>?@ABDFGHIJKLMNPQRTVXUW S&4C(*E6 O !"#$%')+,-./01235789:;<=>?@ABDFGHIJKLMNPQRT Safe-Inferred1   Safe-Inferred(1][\^_`YklmnopqrsZdabcjihgfe][\^_`YklmnopqrsZdabcjihgfe Safe-Inferred%&1> hls-graphThe key that was being built hls-graph,The stack of keys that led to this exception hls-graphThe underlying exception hls-graphThe result of  BuiltinRun. hls-graph How has the & changed from what happened last time. hls-graph)The value to store in the Shake database. hls-graphThe value to return from . hls-graph%How the output of a rule has changed. hls-graphNothing has changed. hls-graphThe stored value has changed, but in a way that should be considered identical (used rarely). hls-graph+I recomputed the value and it was the same. hls-graph,I recomputed the value and it was different. hls-graph9What mode a rule is running in, passed as an argument to  BuiltinRun. hls-graph!My dependencies have not changed. hls-graphAt least one of my dependencies from last time have changed, or I have no recorded dependencies. hls-graph$the step when it was last recomputed hls-graphthe step when it last changed hls-graph#the step when it was last looked up hls-graph"How long it took, last time it ran hls-graph>An action representing something that can be run as part of a Rule.0s can be pure functions but also have access to  via  and 'MonadUnliftIO. It should be assumed that actions throw exceptions, these can be caught with /. In particular, it is permissible to use the ! instance, which will lead to an  IOException. hls-graphA computation that defines all the rules that form part of the computation graph. has access to  through  . Use of $ is at your own risk: if you write  that throw exceptions, then you need to make sure to handle them yourself when you run the resulting . Safe-Inferred%&1 hls-graphThe type mapping between the key or a rule and the resulting value. Safe-Inferred1   Safe-Inferred%&1>  hls-graph3A simple monad to implement cancellation on top of , generalizing  to monadic scopes. hls-graphIncrement the step and mark dirty. Assumes that the database is not running a build hls-graph+Unwrap and build a list of keys in parallel hls-graphBuild a list of keys and return their results. If none of the keys are dirty, we can return the results immediately. Otherwise, a blocking computation is returned *which must be evaluated asynchronously* to avoid deadlock. hls-graphRefresh dependencies for a key and compute the key: The refresh the deps linearly(last computed order of the deps for the key). If any of the deps is dirty in the process, we jump to the actual computation of the key and shortcut the refreshing of the rest of the deps. * If no dirty dependencies and we have evaluated the key previously, then we refresh it in the current thread. This assumes that the implementation will be a lookup * Otherwise, we spawn a new thread to refresh the dirty deps (if any) and the key itself hls-graphRefresh a key: hls-graphCompute a key. hls-graphReturns the set of dirty keys annotated with their age (in # of builds) hls-graphReturns an approximation of the database keys, annotated with how long ago (in # builds) they were visited hls-graphSplit an IO computation into an unsafe lazy value and a forcing computation hls-graph(Update the reverse dependencies of an Id hls-graphRun the monadic computation, cancelling all the spawned asyncs if an exception arises hls-graphLike  but with built-in cancellation. Returns an IO action to wait on the result. hls-graphId hls-graph"Previous direct dependencies of Id hls-graph!Current direct dependencies of Id Safe-Inferred1v hls-graphAlways rerun this rule when dirty, regardless of the dependencies. hls-graph;Evaluate a list of keys without recording any dependencies. hls-graphReturns the set of dirty keys annotated with their age (in # of builds)   Safe-Inferred1 ]Yklmnopqrs ]Yklmnopqrs Safe-Inferred1 ]Zabcdefghij ]Zabcdefghij Safe-Inferred1Q  Safe-Inferred1  Safe-Inferred1  Safe-Inferred%&(1 M hls-graph;Generates an report given some build system profiling data. hls-graphEliminate all errors from the database, pretending they don't exist resultsOnly :: Map.HashMap Id (Key, Status) -> Map.HashMap Id (Key, Result (Either BS.ByteString Value)) hls-graphGiven a map of representing a dependency order (with a show for error messages), find an ordering for the items such that no item points to an item before itself. Raise an error if you end up with a cycle.Algorithm: Divide everyone up into those who have no dependencies [Id] And those who depend on a particular Id, Dep :-> Maybe [(Key,[Dep])] Where d :-> Just (k, ds), k depends on firstly d, then remaining on ds For each with no dependencies, add to list, then take its dep hole and promote them either to Nothing (if ds == []) or into a new slot. k :-> Nothing means the key has already been freed hls-graphReturns a list of profile entries, and a mapping linking a non-error Id to its profile entry hls-graphTemplate Engine. Perform the following replacements on a line basis: script src="foo" /script ==>  script[[foo]] /script link-href="foo" rel="stylesheet" type="text/css" / ==>  styletype="text/css"[[foo]] /style  Safe-Inferred1" hls-graphReturns the set of dirty keys annotated with their age (in # of builds) hls-graphReturns the build number hls-graph0Assumes that the database is not running a build hls-graphGiven a ?, write an HTML profile to the given file about the latest run. hls-graph&Returns the clean keys in the database hls-graph3Returns the total count of edges in the build graph hls-graphReturns an approximation of the database keys, annotated with how long ago (in # builds) they were visited hls-graph$Set of keys changed since last run.  means everything has changed   Safe-Inferred1#F-^_`]YklmnopqrsZdabcjihgfe^_` !"#$%&%'%(%)%*%+%,%-%.%/%012345346 7 89:;9:<9:=9:>9:?9:@9:A9:B9:C9:D9:E9:F9:G9HI9HJ9HK9HL9HM9HN9HO9HP9HQ9HR9HS9HT9HU9HV9WX9WY9WZ9W[9W\9W]9W^9W_9W`9Wa9Wb9Wc9Wd9We9Wf9gh9gi9gj9gk9gl9gm9gn9go9gp9gq9gr9st9su9sv9sw9sx9yz9{|}~                       (hls-graph-2.8.0.0-Iy1ARqvRhJeDRMrmcExOtQDevelopment.IDE.Graph.ClassesControl.Concurrent.STM.Stats"Development.IDE.Graph.Internal.Key$Development.IDE.Graph.Internal.Types$Development.IDE.Graph.Internal.Rules&Development.IDE.Graph.Internal.Options'Development.IDE.Graph.Internal.Database%Development.IDE.Graph.Internal.ActionPaths_hls_graph$Development.IDE.Graph.Internal.Paths&Development.IDE.Graph.Internal.ProfileDevelopment.IDE.Graph.Database hls-graphDevelopment.Shake.Ruleapply actionCatchDevelopment.IDE.Graph.KeyMapDevelopment.IDE.Graph.KeySetDevelopment.IDE.Graph.RuleDevelopment.IDE.Graphghc-prim GHC.Classes==EqbaseGHC.ShowShowData.Typeable.InternalTypeable/='hashable-1.4.4.0-4WWC8AA90LeL9NX0EBpmv0Data.Hashable.ClassHashableshow showsPrecshowList GHC.Conc.SyncTVarSTMretryorElsethrowSTMcatchSTMnewTVar newTVarIO readTVarIOreadTVar writeTVar GHC.Conc.IO registerDelaydeepseq-1.4.8.1Control.DeepSeqNFDatarnf hashWithSalthash stm-2.5.1.0Control.Concurrent.STM.TBQueueTBQueue newTBQueue newTBQueueIO writeTBQueue readTBQueuetryReadTBQueue flushTBQueue peekTBQueuetryPeekTBQueue unGetTBQueue lengthTBQueueisEmptyTBQueue isFullTBQueueControl.Concurrent.STM.TChanTChannewTChan newTChanIOnewBroadcastTChannewBroadcastTChanIO writeTChan readTChan tryReadTChan peekTChan tryPeekTChandupTChan unGetTChan isEmptyTChan cloneTChanControl.Concurrent.STM.TMVarTMVarnewTMVar newTMVarIO newEmptyTMVarnewEmptyTMVarIO takeTMVar tryTakeTMVarputTMVar tryPutTMVar readTMVar tryReadTMVar swapTMVar writeTMVar isEmptyTMVar mkWeakTMVarControl.Concurrent.STM.TQueueTQueue newTQueue newTQueueIO writeTQueue readTQueue tryReadTQueue flushTQueue peekTQueue tryPeekTQueue unGetTQueue isEmptyTQueueControl.Concurrent.STM.TVar modifyTVar modifyTVar' stateTVarswapTVar mkWeakTVarControl.Concurrent.STM.TArrayTArrayControl.Monad.STMcheck getSTMStatsatomicallyNamed dumpSTMStats atomicallyKeyMapKeySetKeyValueKeynewKey renderKey insertKeySet memberKeySet toListKeySet nullKeySetdifferenceKeySet deleteKeySetfromListKeySetsingletonKeySet filterKeySet lengthKeySet mapKeyMap insertKeyMap lookupKeyMaplookupDefaultKeyMapfromListKeyMapfromListWithKeyMap toListKeyMap elemsKeyMaprestrictKeysKeyMap $fShowKey $fHashableKey$fEqKey$fShowKeyValue$fHashableKeyValue $fEqKeyValue $fShowKeySet $fShowKeyMap $fEqKeyMap $fOrdKeyMap$fSemigroupKeyMap$fMonoidKeyMap $fEqKeySet $fOrdKeySet$fSemigroupKeySet$fMonoidKeySet$fNFDataKeySetStackExceptionStackGraphExceptiontargetstackinner RunResult runChangedrunStorerunValue RunChangedChangedNothing ChangedStoreChangedRecomputeSameChangedRecomputeDiffRunModeRunDependenciesSameRunDependenciesChanged ResultDeps UnknownDepsAlwaysRerunDepsResult resultValue resultBuilt resultChanged resultVisited resultDepsresultExecution resultDataStatusCleanDirtyRunning runningStep runningWait runningResult runningPrevDatabase databaseExtra databaseRules databaseStepdatabaseValues KeyDetails keyStatuskeyReverseDepsValueStep ShakeDatabaseSActionactionDatabase actionDeps actionStackAction fromActionSRules rulesExtra rulesActionsrulesMapRulesTheRules unwrapDynamic getDatabaseonKeyReverseDepsgetDatabaseValues viewDirty getResultgetResultDepsDefault mapResultDepsfromGraphExceptionaddStack memberStack emptyStack$fMonoidResultDeps$fSemigroupResultDeps$fNFDataRunMode$fNFDataRunChanged$fNFDataRunResult$fShowGraphException $fShowStack $fMonoidRules$fSemigroupRules$fExceptionStackException$fShowStackException $fMonadRules$fApplicativeRules$fFunctorRules$fMonadIORules $fMonadAction$fApplicativeAction$fFunctorAction$fMonadIOAction$fMonadFailAction$fMonadThrowAction$fMonadCatchAction$fMonadMaskAction$fMonadUnliftIOAction$fExceptionGraphException$fFunctorRunResult$fEqRunChanged$fShowRunChanged$fGenericRunChanged$fFromJSONRunChanged$fToJSONRunChanged $fEqRunMode $fShowRunMode$fEqResultDeps$fShowResultDeps$fEqStep $fOrdStep$fHashableStep RuleResultactionaddRulerunRulerunRules ShakeOptions shakeExtrashakeAllowRedefineRules shakeTimings shakeOptions getShakeExtragetShakeExtraRules newShakeExtra newDatabase incDatabasebuild getDirtySetgetKeysAndVisitAge$fApplicativeAIO $fFunctorAIO $fMonadAIO $fMonadIOAIO ShakeValue alwaysRerunparallel actionFork actionBracket actionFinallyapply1applyWithoutDependency runActionsgetKeysAndVisitedAgeversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirreadDataFileHTML writeProfileshakeNewDatabaseshakeRunDatabaseshakeGetDirtySetshakeGetBuildStepshakeRunDatabaseForKeysshakeProfileDatabaseshakeGetCleanKeysshakeGetBuildEdgesshakeGetDatabaseKeys GHC.TypesIOControl.Monad.IO.ClassMonadIOControl.Monad.Fail MonadFailAIO!async-2.2.5-insOUYIWO65O0zfKnSkzP!Control.Concurrent.Async.InternalAsync withAsyncbuilder refreshDepsrefreshcomputesplitIOupdateReverseDepsrunAIOasyncWithCleanUpasync resultsOnlydependencyOrdertoReport runTemplate GHC.MaybeNothing